Salome HOME
Merge branch 'V8_3_BR' into ngr/python3_dev
[modules/smesh.git] / doc / salome / examples / grouping_elements_ex04.py
1 # Edit a Group
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 # Get ids of all faces with area > 35
11 aFilter = smesh.GetFilter(SMESH.FACE, SMESH.FT_Area, SMESH.FT_MoreThan, 35.)
12
13 anIds = mesh.GetIdsFromFilter(aFilter) 
14
15 print("Criterion: Area > 35, Nb = ", len(anIds))
16
17 # create a group by adding elements with area > 35
18 aGroup = mesh.CreateEmptyGroup(SMESH.FACE, "Area > 35")
19 aGroup.Add(anIds) 
20
21 # Get ids of all faces with area > 40
22 aFilter = smesh.GetFilter(SMESH.FACE, SMESH.FT_Area, SMESH.FT_MoreThan, 40.)
23
24 anIds = mesh.GetIdsFromFilter(aFilter)
25
26 print("Criterion: Area > 40, Nb = ", len(anIds)) 
27
28 # create a group of elements with area [35; 40] by removing elements with area > 40 from group aGroup
29 aGroup.Remove(anIds) 
30 aGroup.SetName("35 < Area < 40")
31
32 # print the result
33 aGroupElemIDs = aGroup.GetListOfID()
34
35 print("Criterion: 35 < Area < 40, Nb = ", len(aGroupElemIDs))
36
37 j = 1
38 for i in range(len(aGroupElemIDs)):
39   if j > 20: j = 1; print("")
40   print(aGroupElemIDs[i], end=' ')
41   j = j + 1
42   pass
43 print("")
44
45 salome.sg.updateObjBrowser(True)