Salome HOME
Merge branch 'V8_5_asterstudy'
[modules/smesh.git] / doc / salome / examples / filters_ex16.py
1 # Double edges, Double faces, Double volumes
2
3
4 import salome
5 salome.salome_init()
6 import GEOM
7 from salome.geom import geomBuilder
8 geompy = geomBuilder.New(salome.myStudy)
9
10 import SMESH, SALOMEDS
11 from salome.smesh import smeshBuilder
12 smesh =  smeshBuilder.New(salome.myStudy)
13 import salome_notebook
14
15 # make a mesh on a box
16 box = geompy.MakeBoxDXDYDZ(100,100,100)
17 mesh = smesh.Mesh( box, "Box" )
18 mesh.Segment().NumberOfSegments(10)
19 mesh.Quadrangle()
20 mesh.Hexahedron()
21 mesh.Compute()
22 # copy all elements with translation and Merge nodes
23 mesh.TranslateObject( mesh, smesh.MakeDirStruct( 10,0,0), Copy=True )
24 mesh.MergeNodes( mesh.FindCoincidentNodes(1e-7) )
25 # create filters to find equal elements
26 equalEdgesFilter   = smesh.GetFilter(SMESH.EDGE, SMESH.FT_EqualEdges)
27 equalFacesFilter   = smesh.GetFilter(SMESH.FACE, SMESH.FT_EqualFaces)
28 equalVolumesFilter = smesh.GetFilter(SMESH.VOLUME, SMESH.FT_EqualVolumes)
29 # get equal elements
30 print "Number of equal edges:",   len( mesh.GetIdsFromFilter( equalEdgesFilter ))
31 print "Number of equal faces:",   len( mesh.GetIdsFromFilter( equalFacesFilter ))
32 print "Number of equal volumes:", len( mesh.GetIdsFromFilter( equalVolumesFilter ))