X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fexamples%2Ftransforming_meshes_ex06.py;h=433ae192878939726ebd9455d36fe8e1c06bbdc1;hb=33b6f8700337fa00f3e48076a6f6d8df87d8e57f;hp=bd1a36f613da7a1f467dfafc00f203e48a0ef360;hpb=e8173b4ff130ddb26d165c92403ef847fdfb8be2;p=modules%2Fsmesh.git diff --git a/doc/salome/examples/transforming_meshes_ex06.py b/doc/salome/examples/transforming_meshes_ex06.py index bd1a36f61..433ae1928 100644 --- a/doc/salome/examples/transforming_meshes_ex06.py +++ b/doc/salome/examples/transforming_meshes_ex06.py @@ -3,13 +3,12 @@ import salome salome.salome_init() -import GEOM from salome.geom import geomBuilder -geompy = geomBuilder.New(salome.myStudy) +geompy = geomBuilder.New() -import SMESH, SALOMEDS +import SMESH from salome.smesh import smeshBuilder -smesh = smeshBuilder.New(salome.myStudy) +smesh = smeshBuilder.New() # create a face to be meshed px = geompy.MakeVertex(100., 0. , 0. ) @@ -43,6 +42,9 @@ algo2D.LengthFromEdges() 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() @@ -50,14 +52,19 @@ algo.NumberOfSegments(10) 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) @@ -65,16 +72,15 @@ print("Number of nodes after MergeNodes:", trias.NbNodes()) 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(True) +salome.sg.updateObjBrowser()