import salome
salome.salome_init()
-import GEOM
from salome.geom import geomBuilder
geompy = geomBuilder.New()
-import SMESH, SALOMEDS
+import SMESH
from salome.smesh import smeshBuilder
smesh = smeshBuilder.New()
trias.Compute()
+# create a group of all triangles currently present in the mesh
+faceTriGroup = trias.Group( face1, "face triangles" )
+
# create a path mesh
circlemesh = smesh.Mesh(circle, "Path mesh")
algo = circlemesh.Segment()
circlemesh.Compute()
# extrusion of the mesh
-trias.ExtrusionAlongPath([], circlemesh, circle,
- 1, 0, [], 0, SMESH.PointStruct(0, 0, 0))
+trias.ExtrusionAlongPath([], circlemesh, circle, 1, MakeGroups=True )
+
+# get a group "opposite" to faceTriGroup within the generated prismatic mesh
+oppositeGroup = trias.GetGroupByName( faceTriGroup.GetName() + "_top" )[0]
+
+# get edges of the groups
+edgeGroup = trias.CreateDimGroup([ faceTriGroup, oppositeGroup ], SMESH.EDGE, "face edges")
-# merge nodes
+# merge nodes of the groups only
print("Number of nodes before MergeNodes:", end=' ')
trias.NbNodes()
tolerance = 0.001
-array_of_nodes_groups = trias.FindCoincidentNodes(tolerance)
+array_of_nodes_groups = trias.FindCoincidentNodesOnPart([faceTriGroup, oppositeGroup], tolerance)
trias.MergeNodes(array_of_nodes_groups)
print("")
print("Number of elements before MergeEqualElements:")
print("Edges : ", trias.NbEdges())
-print("Triangles : ", trias.NbTriangles())
-print("Quadrangles: ", trias.NbQuadrangles())
+print("Faces : ", trias.NbFaces())
print("Volumes : ", trias.NbVolumes())
-# merge elements
-trias.MergeEqualElements()
+# merge elements of the groups
+equalFaces = trias.FindEqualElements( [faceTriGroup, oppositeGroup, edgeGroup] )
+trias.MergeElements( equalFaces )
print("Number of elements after MergeEqualElements:")
print("Edges : ", trias.NbEdges())
-print("Triangles : ", trias.NbTriangles())
-print("Quadrangles: ", trias.NbQuadrangles())
+print("Faces : ", trias.NbFaces())
print("Volumes : ", trias.NbVolumes())
salome.sg.updateObjBrowser()