Salome HOME
bos #29171 Refactor testing procedure
[modules/smesh.git] / doc / examples / viewing_meshes_ex02.py
1 # Find Element by Point
2
3 import salome
4 salome.salome_init_without_session()
5
6 import SMESH
7 from salome.geom import geomBuilder
8 from salome.smesh import smeshBuilder
9
10 geom_builder = geomBuilder.New()
11 smesh_builder = smeshBuilder.New()
12
13 # Create a geometry to mesh
14 box = geom_builder.MakeBoxDXDYDZ(100,100,100)
15
16 # Create a mesh
17 mesh = smesh_builder.Mesh(box,"Mesh")
18 mesh.AutomaticHexahedralization()
19 mesh.Compute()
20
21 # Create a point
22 x,y,z = 0, 0, 1
23
24 # Find all elements (except 0D ones) located at the point
25 all_elems_except_0D = mesh.FindElementsByPoint(x,y,z)
26 assert( len(all_elems_except_0D) == 4)
27
28 # Find nodes at the point
29 nodes = mesh.FindElementsByPoint(x,y,z, SMESH.NODE )
30 assert( len(nodes) == 0)
31 assert( len( mesh.FindElementsByPoint(x,y,0, SMESH.NODE)) == 1)
32
33 # Find an edge at the point
34 edges = mesh.FindElementsByPoint(x,y,z, SMESH.EDGE )
35 assert( len(edges) == 1)
36
37 # Find faces at the point
38 edges = mesh.FindElementsByPoint(x,y,z, SMESH.FACE )
39 assert( len(edges) == 2)
40
41 # Find a volume at the point
42 vols = mesh.FindElementsByPoint(x,y,z, SMESH.VOLUME )
43 assert( len(vols) == 1)
44
45 # Find 0D elements at the point
46 elems0d = mesh.FindElementsByPoint(x,y,z, SMESH.ELEM0D )
47 assert( len(elems0d) == 0)
48
49 # Find edges within a group
50 group1D = mesh.MakeGroupByIds("1D", SMESH.EDGE, [1,2] )
51 edges = mesh.FindElementsByPoint(x,y,z, SMESH.EDGE, group1D )