Salome HOME
Run all SMESH tests at once: all tests pass in 2min instead of 1h20min
[modules/smesh.git] / doc / salome / examples / modifying_meshes_ex09.py
1 # Add Polygon
2
3 import salome
4 salome.salome_init()
5
6 import SMESH, SALOMEDS
7 from salome.smesh import smeshBuilder
8 smesh = smeshBuilder.New()
9
10 # create an empty mesh structure
11 mesh = smesh.Mesh() 
12
13 # a method to build a polygonal mesh element with <nb_vert> angles:
14 def MakePolygon (a_mesh, x0, y0, z0, radius, nb_vert, smesh_builder):
15     import math
16
17     al = 2.0 * math.pi / nb_vert
18     node_ids = []
19
20     # Create nodes for a polygon
21     for ii in range(nb_vert):
22         nid = smesh_builder.AddNode(x0 + radius * math.cos(ii*al),
23                                     y0 + radius * math.sin(ii*al),
24                                     z0)
25         node_ids.append(nid)
26         pass
27
28     # Create a polygon
29     return smesh_builder.AddPolygonalFace(node_ids)
30
31 # Create three polygons
32 f1 = MakePolygon(mesh, 0, 0,  0, 30, 13, smesh_builder=mesh)
33 f2 = MakePolygon(mesh, 0, 0, 10, 21,  9, smesh_builder=mesh)
34 f3 = MakePolygon(mesh, 0, 0, 20, 13,  6, smesh_builder=mesh)
35
36 salome.sg.updateObjBrowser()