]> SALOME platform Git repositories - modules/smesh.git/blob - doc/salome/examples/grouping_elements_ex07.py
Salome HOME
Merge Python 3 porting.
[modules/smesh.git] / doc / salome / examples / grouping_elements_ex07.py
1 # Cut of groups
2
3 import SMESH_mechanic
4 import SMESH
5
6 smesh  = SMESH_mechanic.smesh
7 mesh   = SMESH_mechanic.mesh
8 salome = SMESH_mechanic.salome
9
10 # Criterion : AREA > 20
11 aFilter = smesh.GetFilter(SMESH.FACE, SMESH.FT_Area, SMESH.FT_MoreThan, 20.)
12
13 anIds = mesh.GetIdsFromFilter(aFilter)
14
15 print("Criterion: Area > 20, Nb = ", len(anIds)) 
16
17 # create a group by adding elements with area > 20
18 aGroupMain = mesh.MakeGroupByIds("Area > 20", SMESH.FACE, anIds)
19
20 # Criterion : AREA < 60
21 aFilter = smesh.GetFilter(SMESH.FACE, SMESH.FT_Area, SMESH.FT_LessThan, 60.)
22
23 anIds = mesh.GetIdsFromFilter(aFilter)
24
25 print("Criterion: Area < 60, Nb = ", len(anIds)) 
26
27 # create a group by adding elements with area < 60
28 aGroupTool = mesh.MakeGroupByIds("Area < 60", SMESH.FACE, anIds)
29  
30 # create a cut of groups : area >= 60
31 aGroupRes = mesh.CutGroups(aGroupMain, aGroupTool, "Area >= 60")
32 print("Criterion: Area >= 60, Nb = ", len(aGroupRes.GetListOfID()))
33 # Please note that also there is CutListOfGroups() method which works with lists of groups of any lengths
34
35 salome.sg.updateObjBrowser()