X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fexamples%2Ftransforming_meshes_ex06.py;h=433ae192878939726ebd9455d36fe8e1c06bbdc1;hb=f5e84513cda0eda53672cc9d3b1124323b4aa26d;hp=c9c8353d8a62676593bceafc67eeb15bb3b007b1;hpb=54182913fbb9df65a3f4cc96f55db3618835ecd8;p=modules%2Fsmesh.git diff --git a/doc/salome/examples/transforming_meshes_ex06.py b/doc/salome/examples/transforming_meshes_ex06.py index c9c8353d8..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,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()