X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fexamples%2Ftransforming_meshes_ex06.py;h=964449fe3b137cd8b4f7170f8cb36cc7d6ad8803;hb=d9f4b53e489dd5857db264ede6acded7b076c9f1;hp=fe8c91db337aebc4eadd0d5b720e48aa24bef0e9;hpb=9a54694a0ab1e5cbc558a35c4606ceea4f7af2ef;p=modules%2Fsmesh.git diff --git a/doc/salome/examples/transforming_meshes_ex06.py b/doc/salome/examples/transforming_meshes_ex06.py index fe8c91db3..964449fe3 100644 --- a/doc/salome/examples/transforming_meshes_ex06.py +++ b/doc/salome/examples/transforming_meshes_ex06.py @@ -1,8 +1,14 @@ # Merging Elements + import salome -import geompy -import smesh +salome.salome_init_without_session() +from salome.geom import geomBuilder +geompy = geomBuilder.New() + +import SMESH +from salome.smesh import smeshBuilder +smesh = smeshBuilder.New() # create a face to be meshed px = geompy.MakeVertex(100., 0. , 0. ) @@ -36,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() @@ -43,31 +52,35 @@ 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 -print "Number of nodes before MergeNodes:", +# 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 "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 "Volumes : ", trias.NbVolumes() - -# merge elements -trias.MergeEqualElements() -print "Number of elements after MergeEqualElements:" -print "Edges : ", trias.NbEdges() -print "Triangles : ", trias.NbTriangles() -print "Quadrangles: ", trias.NbQuadrangles() -print "Volumes : ", trias.NbVolumes() - -salome.sg.updateObjBrowser(1) +print("Number of nodes after MergeNodes:", trias.NbNodes()) +print("") +print("Number of elements before MergeEqualElements:") +print("Edges : ", trias.NbEdges()) +print("Faces : ", trias.NbFaces()) +print("Volumes : ", trias.NbVolumes()) + +# 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("Faces : ", trias.NbFaces()) +print("Volumes : ", trias.NbVolumes()) + +salome.sg.updateObjBrowser()