7 from salome.geom import geomBuilder
8 geompy = geomBuilder.New(salome.myStudy)
10 import SMESH, SALOMEDS
11 from salome.smesh import smeshBuilder
12 smesh = smeshBuilder.New(salome.myStudy)
14 # create a face to be meshed
15 px = geompy.MakeVertex(100., 0. , 0. )
16 py = geompy.MakeVertex(0. , 100., 0. )
17 pz = geompy.MakeVertex(0. , 0. , 100.)
19 vxy = geompy.MakeVector(px, py)
20 arc = geompy.MakeArc(py, pz, px)
22 wire = geompy.MakeWire([vxy, arc])
25 face1 = geompy.MakeFace(wire, isPlanarFace)
26 id_face1 = geompy.addToStudy(face1, "Face1")
28 # create a circle to be an extrusion path
29 px1 = geompy.MakeVertex( 100., 100., 0.)
30 py1 = geompy.MakeVertex(-100., -100., 0.)
31 pz1 = geompy.MakeVertex( 0., 0., 50.)
33 circle = geompy.MakeCircleThreePnt(py1, pz1, px1)
34 id_circle = geompy.addToStudy(circle, "Path")
36 # create a 2D mesh on the face
37 trias = smesh.Mesh(face1, "Face : 2D mesh")
39 algo1D = trias.Segment()
40 algo1D.NumberOfSegments(6)
41 algo2D = trias.Triangle()
42 algo2D.LengthFromEdges()
47 circlemesh = smesh.Mesh(circle, "Path mesh")
48 algo = circlemesh.Segment()
49 algo.NumberOfSegments(10)
52 # extrusion of the mesh
53 trias.ExtrusionAlongPath([], circlemesh, circle,
54 1, 0, [], 0, SMESH.PointStruct(0, 0, 0))
57 print "Number of nodes before MergeNodes:",
60 array_of_nodes_groups = trias.FindCoincidentNodes(tolerance)
62 trias.MergeNodes(array_of_nodes_groups)
64 print "Number of nodes after MergeNodes:", trias.NbNodes()
66 print "Number of elements before MergeEqualElements:"
67 print "Edges : ", trias.NbEdges()
68 print "Triangles : ", trias.NbTriangles()
69 print "Quadrangles: ", trias.NbQuadrangles()
70 print "Volumes : ", trias.NbVolumes()
73 trias.MergeEqualElements()
74 print "Number of elements after MergeEqualElements:"
75 print "Edges : ", trias.NbEdges()
76 print "Triangles : ", trias.NbTriangles()
77 print "Quadrangles: ", trias.NbQuadrangles()
78 print "Volumes : ", trias.NbVolumes()
80 salome.sg.updateObjBrowser(1)