smesh/doc/examples/viewing_meshes_ex02.py

52 lines
1.4 KiB
Python
Raw Normal View History

2013-02-12 20:37:44 +06:00
# Find Element by Point
import salome
salome.salome_init_without_session()
2022-04-11 18:28:01 +05:00
import SMESH
from salome.geom import geomBuilder
from salome.smesh import smeshBuilder
2022-04-11 18:28:01 +05:00
geom_builder = geomBuilder.New()
smesh_builder = smeshBuilder.New()
2013-02-12 20:37:44 +06:00
# Create a geometry to mesh
2022-04-11 18:28:01 +05:00
box = geom_builder.MakeBoxDXDYDZ(100,100,100)
2013-02-12 20:37:44 +06:00
# Create a mesh
2022-04-11 18:28:01 +05:00
mesh = smesh_builder.Mesh(box,"Mesh")
2013-02-12 20:37:44 +06:00
mesh.AutomaticHexahedralization()
if not mesh.Compute(): raise Exception("Error when computing Mesh")
2013-02-12 20:37:44 +06:00
# Create a point
x,y,z = 0, 0, 1
# Find all elements (except 0D ones) located at the point
all_elems_except_0D = mesh.FindElementsByPoint(x,y,z)
assert( len(all_elems_except_0D) == 4)
# Find nodes at the point
nodes = mesh.FindElementsByPoint(x,y,z, SMESH.NODE )
assert( len(nodes) == 0)
assert( len( mesh.FindElementsByPoint(x,y,0, SMESH.NODE)) == 1)
# Find an edge at the point
edges = mesh.FindElementsByPoint(x,y,z, SMESH.EDGE )
assert( len(edges) == 1)
# Find faces at the point
edges = mesh.FindElementsByPoint(x,y,z, SMESH.FACE )
assert( len(edges) == 2)
# Find a volume at the point
vols = mesh.FindElementsByPoint(x,y,z, SMESH.VOLUME )
assert( len(vols) == 1)
# Find 0D elements at the point
elems0d = mesh.FindElementsByPoint(x,y,z, SMESH.ELEM0D )
assert( len(elems0d) == 0)
# Find edges within a group
group1D = mesh.MakeGroupByIds("1D", SMESH.EDGE, [1,2] )
edges = mesh.FindElementsByPoint(x,y,z, SMESH.EDGE, group1D )