7 # create a face to be meshed
8 px = geompy.MakeVertex(100., 0. , 0. )
9 py = geompy.MakeVertex(0. , 100., 0. )
10 pz = geompy.MakeVertex(0. , 0. , 100.)
12 vxy = geompy.MakeVector(px, py)
13 arc = geompy.MakeArc(py, pz, px)
15 wire = geompy.MakeWire([vxy, arc])
18 face1 = geompy.MakeFace(wire, isPlanarFace)
19 id_face1 = geompy.addToStudy(face1, "Face1")
21 # create a circle to be an extrusion path
22 px1 = geompy.MakeVertex( 100., 100., 0.)
23 py1 = geompy.MakeVertex(-100., -100., 0.)
24 pz1 = geompy.MakeVertex( 0., 0., 50.)
26 circle = geompy.MakeCircleThreePnt(py1, pz1, px1)
27 id_circle = geompy.addToStudy(circle, "Path")
29 # create a 2D mesh on the face
30 trias = smesh.Mesh(face1, "Face : 2D mesh")
32 algo1D = trias.Segment()
33 algo1D.NumberOfSegments(6)
34 algo2D = trias.Triangle()
35 algo2D.LengthFromEdges()
40 circlemesh = smesh.Mesh(circle, "Path mesh")
41 algo = circlemesh.Segment()
42 algo.NumberOfSegments(10)
45 # extrusion of the mesh
46 trias.ExtrusionAlongPath([], circlemesh, circle,
47 1, 0, [], 0, smesh.PointStruct(0, 0, 0))
50 print "Number of nodes before MergeNodes:",
53 array_of_nodes_groups = trias.FindCoincidentNodes(tolerance)
55 trias.MergeNodes(array_of_nodes_groups)
57 print "Number of nodes after MergeNodes:", trias.NbNodes()
59 print "Number of elements before MergeEqualElements:"
60 print "Edges : ", trias.NbEdges()
61 print "Triangles : ", trias.NbTriangles()
62 print "Quadrangles: ", trias.NbQuadrangles()
63 print "Volumes : ", trias.NbVolumes()
66 trias.MergeEqualElements()
67 print "Number of elements after MergeEqualElements:"
68 print "Edges : ", trias.NbEdges()
69 print "Triangles : ", trias.NbTriangles()
70 print "Quadrangles: ", trias.NbQuadrangles()
71 print "Volumes : ", trias.NbVolumes()
73 salome.sg.updateObjBrowser(1)