mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-27 09:50:34 +05:00
47 lines
1.9 KiB
Python
47 lines
1.9 KiB
Python
# Creation of a Solid(s) from connected faces
|
|
|
|
import salome
|
|
salome.salome_init()
|
|
import GEOM
|
|
from salome.geom import geomBuilder
|
|
geompy = geomBuilder.New(salome.myStudy)
|
|
gg = salome.ImportComponentGUI("GEOM")
|
|
|
|
# create a box
|
|
box = geompy.MakeBoxDXDYDZ(200, 200, 200)
|
|
|
|
# make a copy of a box translated by X coordinate
|
|
box_translation = geompy.MakeTranslation(box, 200, 0, 0)
|
|
|
|
# extract shells from boxes
|
|
box_shell = geompy.SubShapeAllSorted(box, geompy.ShapeType["SHELL"])[0]
|
|
box_translation_shell = geompy.SubShapeAllSorted(box_translation, geompy.ShapeType["SHELL"])[0]
|
|
|
|
# extract faces from boxes
|
|
box_faces = geompy.SubShapeAllSorted(box, geompy.ShapeType["FACE"])
|
|
box_translation_faces = geompy.SubShapeAllSorted(box_translation, geompy.ShapeType["FACE"])
|
|
|
|
# create solids from shells
|
|
msf_shells_noint = geompy.MakeSolidFromConnectedFaces([box_shell, box_translation_shell],0)
|
|
msf_shells_int = geompy.MakeSolidFromConnectedFaces([box_shell, box_translation_shell], 1)
|
|
|
|
# create solids from faces
|
|
msf_faces_noint = geompy.MakeSolidFromConnectedFaces(box_faces+box_translation_faces, 0)
|
|
msf_faces_int = geompy.MakeSolidFromConnectedFaces(box_faces+box_translation_faces, 1)
|
|
|
|
# add objects in the study
|
|
id_solid_shells_noint = geompy.addToStudy(msf_shells_noint,"Solid_from_shells_no_intersect")
|
|
id_solid_shells_int = geompy.addToStudy(msf_shells_int,"Solid_from_shells_intersect")
|
|
id_solid_faces_noint = geompy.addToStudy(msf_faces_noint,"Solid_from_faces_no_intersect")
|
|
id_solid_faces_int = geompy.addToStudy(msf_faces_int,"Solid_from_faces_intersect")
|
|
|
|
# display the results
|
|
gg.createAndDisplayGO(id_solid_shells_noint)
|
|
gg.setDisplayMode(id_solid_shells_noint,1)
|
|
gg.createAndDisplayGO(id_solid_shells_int)
|
|
gg.setDisplayMode(id_solid_shells_int,1)
|
|
gg.createAndDisplayGO(id_solid_faces_noint)
|
|
gg.setDisplayMode(id_solid_faces_noint,1)
|
|
gg.createAndDisplayGO(id_solid_faces_int)
|
|
gg.setDisplayMode(id_solid_faces_int,1)
|