smesh/doc/salome/examples/quality_controls_ex08.py

34 lines
915 B
Python
Raw Normal View History

2013-02-12 20:37:44 +06:00
# Bare border volumes
import salome
salome.salome_init()
import GEOM
from salome.geom import geomBuilder
geompy = geomBuilder.New(salome.myStudy)
import SMESH, SALOMEDS
from salome.smesh import smeshBuilder
smesh = smeshBuilder.New(salome.myStudy)
import salome_notebook
2013-02-12 20:37:44 +06:00
box = geompy.MakeBoxDXDYDZ(100, 30, 10)
# the smallest face of the box
face = geompy.SubShapeAllSorted( box, geompy.ShapeType["FACE"])[0]
geompy.addToStudy( box, "box" )
geompy.addToStudyInFather( box, face, "face" )
mesh = smesh.Mesh(box)
2013-02-12 20:37:44 +06:00
mesh.AutomaticHexahedralization();
# remove half of mesh faces from the smallest face
faceFaces = mesh.GetSubMeshElementsId(face)
faceToRemove = faceFaces[: len(faceFaces)/2]
mesh.RemoveElements( faceToRemove )
# make a group of volumes missing the removed faces
bareGroup = mesh.MakeGroup("bare volumes", SMESH.VOLUME, SMESH.FT_BareBorderVolume)
2013-02-12 20:37:44 +06:00
assert(bareGroup.Size() == len( faceToRemove))