Salome HOME
0023591: [EDF] Add test to check meshing plug-ins to SMESH module
[modules/smesh.git] / doc / salome / examples / 3dmesh.py
index 57a1440e0c554951fd92a49147ae2d8e8bb94216..04d6073bdb2adb486e8850e0ff6338214ac9c90d 100644 (file)
@@ -1,13 +1,13 @@
-# 3d mesh generation
+# 3d mesh generation and mesh exploration
 
 import salome
 salome.salome_init()
 from salome.geom import geomBuilder
-geompy = geomBuilder.New(salome.myStudy)
+geompy = geomBuilder.New()
 
 import SMESH
 from salome.smesh import smeshBuilder
-smesh =  smeshBuilder.New(salome.myStudy)
+smesh =  smeshBuilder.New()
 
 ###
 # Geometry: an assembly of a box, a cylinder and a truncated cone
@@ -76,3 +76,29 @@ tetra.Compute()
 
 # Create a mesh group of all triangles generated on geom faces present in faces_group
 group = tetra.Group(faces_group)
+
+###
+# Explore the mesh
+###
+
+# Retrieve coordinates of nodes
+coordStr = ""
+for node in tetra.GetNodesId():
+    x,y,z = tetra.GetNodeXYZ( node )
+    coordStr += "%s (%s, %s, %s) " % ( node, x,y,z )
+    pass
+
+# Retrieve nodal connectivity of triangles
+triaStr = ""
+for tria in tetra.GetElementsByType( SMESH.FACE ):
+    nodes = tetra.GetElemNodes( tria )
+    triaStr += "%s (%s, %s, %s) " % ( tria, nodes[0], nodes[1], nodes[2] )
+
+# Retrieve group contents
+groupStr = ""
+for group in tetra.GetGroups():
+    ids   = group.GetIDs()
+    name  = group.GetName()
+    eType = group.GetType()
+    groupStr += "'%s' %s: %s \n" % ( name, eType, ids )
+