Salome HOME
0023591: [EDF] Add test to check meshing plug-ins to SMESH module
[modules/smesh.git] / doc / salome / examples / quad_medial_axis_algo.py
1 # Usage of Medial Axis Projection algorithm
2
3 # for meshing a ring face with quadrangles
4
5 import salome
6 salome.salome_init()
7 from salome.geom import geomBuilder
8 geompy = geomBuilder.New()
9 from salome.smesh import smeshBuilder
10 smesh =  smeshBuilder.New()
11
12 # create a ring face
13 circleEdge1 = geompy.MakeCircleR( 3 )
14 circleEdge2 = geompy.MakeCircleR( 7 )
15 ring = geompy.MakeFaceWires( [ circleEdge1, circleEdge2 ], True, theName='Ring' )
16 circleLen1  = geompy.BasicProperties( circleEdge1 )[0]
17 circleLen2  = geompy.BasicProperties( circleEdge2 )[0]
18
19 # make a mesh
20
21 mesh = smesh.Mesh( ring )
22
23 circNbSeg = 60
24 algo1d = mesh.Segment()
25 algo1d.NumberOfSegments( circNbSeg ) # division of circle edges
26
27 algo2d = mesh.Quadrangle( smeshBuilder.QUAD_MA_PROJ )
28 algo2d.StartEndLength( circleLen2 / circNbSeg, circleLen1 / circNbSeg ) # radial division
29
30 mesh.Compute()