X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fgui%2FSMESH%2Ftransforming_meshes.htm;h=078ea190b295748185b190d2b4c80ab1ed5a84e5;hb=1366d8ffbaae7bad8dfc95a31d34967e24f371fa;hp=6d2ada4f1d772a5f4f8ed17eceaebb9f5cbb6a9e;hpb=6a3292e0719908b1e6ba7d3994fb314fa9fba71b;p=modules%2Fsmesh.git diff --git a/doc/salome/gui/SMESH/transforming_meshes.htm b/doc/salome/gui/SMESH/transforming_meshes.htm index 6d2ada4f1..078ea190b 100755 --- a/doc/salome/gui/SMESH/transforming_meshes.htm +++ b/doc/salome/gui/SMESH/transforming_meshes.htm @@ -45,43 +45,48 @@ onerror = null; - -
+ +-
mport math
+import math
mesh = SMESH_mechanic.mesh
@@ -239,6 +244,203 @@ else+
import geompy
+ +import smesh
+ +import salome
+ +import SMESH
+ ++ +
# create a face to be meshed
+ +px = geompy.MakeVertex(100., + 0. , 0. + )
+ +py = geompy.MakeVertex(0. + , 100., + 0. )
+ +pz = geompy.MakeVertex(0. + , 0. , + 100.)
+ ++ +
vxy = geompy.MakeVector(px, + py)
+ +arc = geompy.MakeArc(py, + pz, px)
+ ++ +
wire = geompy.MakeWire([vxy, + arc])
+ +isPlanarFace = 1
+ ++ +
face1 = geompy.MakeFace(wire, + isPlanarFace)
+ +id_face1 = geompy.addToStudy(face1, + "Face1")
+ ++ +
# create a 2D mesh on the + face
+ +trias = smesh.Mesh(face1, + "Face : 2D mesh")
+ ++ +
algo = trias.Segment()
+ +algo.NumberOfSegments(6)
+ ++ +
algo = trias.Triangle()
+ +algo.LengthFromEdges()
+ ++ +
trias.Compute()
+ ++ +
tri_mesh = trias.GetMesh()
+ ++ +
# create a path mesh
+ +px1 = geompy.MakeVertex(100., + 100. , + 0. )
+ +py1 = geompy.MakeVertex(-100. + , -100., + 0. )
+ +pz1 = geompy.MakeVertex(0. + , 0. , + 50.)
+ ++ +
circle = geompy.MakeCircleThreePnt(py1, + pz1, px1)
+ +id_circle = geompy.addToStudy(circle, + "Path")
+ ++ +
circlemesh = smesh.Mesh(circle, + "Path mesh")
+ ++ +
algo = circlemesh.Segment()
+ +algo.NumberOfSegments(10)
+ ++ +
circlemesh.Compute()
+ ++ +
# extrusion of the mesh
+ +aMeshEditor = tri_mesh.GetMeshEditor()
+ +aMeshEditor.ExtrusionAlongPathObject(tri_mesh, + circlemesh.GetMesh(), circle, 1, 0, [], 0, SMESH.PointStruct(0, 0, 0))
+ ++ +
# merge nodes
+ +print "Number + of nodes before MergeNodes:", tri_mesh.NbNodes()
+ ++ +
tolerance = 0.001
+ +array_of_nodes_groups + = aMeshEditor.FindCoincidentNodes(tolerance)
+ +aMeshEditor.MergeNodes(array_of_nodes_groups)
+ ++ +
print "Number + of nodes after MergeNodes:", tri_mesh.NbNodes()
+ +print ""
+ +print "Number + of elements before MergeEqualElements:"
+ +print "Edges + : + ", tri_mesh.NbEdges()
+ +print "Triangles + : ", + tri_mesh.NbTriangles()
+ +print "Quadrangles: + ", tri_mesh.NbQuadrangles()
+ +print "Volumes + : + ", tri_mesh.NbVolumes()
+ ++ +
# merge elements
+ +aMeshEditor.MergeEqualElements()
+ ++ +
print "Number + of elements after MergeEqualElements:"
+ +print "Edges + : + ", tri_mesh.NbEdges()
+ +print "Triangles + : ", + tri_mesh.NbTriangles()
+ +print "Quadrangles: + ", tri_mesh.NbQuadrangles()
+ +print "Volumes + : + ", tri_mesh.NbVolumes()
+ ++ +
salome.sg.updateObjBrowser(1) +
+