]> SALOME platform Git repositories - modules/smesh.git/blob - doc/salome/examples/quality_controls_ex04.py
Salome HOME
Fix for the '52701: SIGSEGV in Mesh creation dialog box after activating Viscous...
[modules/smesh.git] / doc / salome / examples / quality_controls_ex04.py
1 # Free Edges
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 aFilterMgr = smesh.CreateFilterManager()
11
12 # Remove some elements to obtain free edges
13 # Criterion : AREA > 95.
14 area_margin = 95.
15
16 aFilter = smesh.GetFilter(SMESH.FACE, SMESH.FT_Area, SMESH.FT_MoreThan, area_margin)
17
18 anIds = mesh.GetIdsFromFilter(aFilter)
19
20 mesh.RemoveElements(anIds)
21
22 # Criterion : Free Edges
23 aBorders = mesh.GetFreeBorders() 
24
25 # create groups
26 aGroupF = mesh.CreateEmptyGroup(SMESH.FACE, "Faces with free edges")
27 aGroupN = mesh.CreateEmptyGroup(SMESH.NODE, "Nodes on free edges")
28
29 # fill groups with elements, corresponding to the criterion
30 print ""
31 print "Criterion: Free edges Nb = ", len(aBorders)
32 for i in range(len(aBorders)):
33   aBorder = aBorders[i]
34   print "Face # ", aBorder.myElemId, " : Edge between nodes (",
35   print aBorder.myPnt1, ", ", aBorder.myPnt2, ")"
36
37   aGroupF.Add([aBorder.myElemId])
38   aGroupN.Add([aBorder.myPnt1, aBorder.myPnt2])
39
40 salome.sg.updateObjBrowser(1)