Partition
import salome
salome.salome_init_without_session()
import GEOM
from salome.geom import geomBuilder
gg = salome.ImportComponentGUI("GEOM")
p0 = geompy.MakeVertex( 0., 0., 0.)
p200 = geompy.MakeVertex(200., 200., 200.)
pz = geompy.MakeVertex( 0., 0., 100.)
vxyz = geompy.MakeVectorDXDYDZ(100., 100., 100.)
box = geompy.MakeBoxTwoPnt(p0, p200)
trimsize = 500.
plane = geompy.MakePlane(pz, vxyz, trimsize)
partition = geompy.MakePartition([box], [plane])
id_box = geompy.addToStudy(box,"Box")
id_plane = geompy.addToStudy(plane,"Plane")
id_partition = geompy.addToStudy(partition,"Partition")
gg.createAndDisplayGO(id_box)
gg.setDisplayMode(id_box,1)
gg.createAndDisplayGO(id_plane)
gg.setDisplayMode(id_plane,1)
gg.createAndDisplayGO(id_partition)
Download this script
Archimede
import salome
salome.salome_init_without_session()
import GEOM
from salome.geom import geomBuilder
gg = salome.ImportComponentGUI("GEOM")
p0 = geompy.MakeVertex( 0., 0., 0.)
p200 = geompy.MakeVertex(200., 200., 200.)
box = geompy.MakeBoxTwoPnt(p0, p200)
weight = 1000000.
waterdensity = 1.
meshingdeflection = 0.01
archimede = geompy.Archimede(box, weight, waterdensity, meshingdeflection)
id_box = geompy.addToStudy(box,"Box")
id_archimede = geompy.addToStudy(archimede,"Archimede")
gg.createAndDisplayGO(id_box)
gg.setDisplayMode(id_box,1)
gg.createAndDisplayGO(id_archimede)
gg.setDisplayMode(id_archimede,1)
Download this script
Restore presentation parameters and sub-shapes
import salome
salome.salome_init_without_session()
import GEOM
from salome.geom import geomBuilder
import SALOMEDS
box = geompy.MakeBoxDXDYDZ(200, 200, 200)
cyl = geompy.MakeCylinderRH(100, 300)
vec = geompy.MakeVectorDXDYDZ(100, 50, 0)
tra = geompy.MakeTranslationVector(box, vec)
partition1 = geompy.MakePartition([box, cyl])
partition2 = geompy.MakePartition([box], [cyl])
partition3 = geompy.MakePartition([box], [tra])
box.SetColor(SALOMEDS.Color(1,0,0))
cyl.SetColor(SALOMEDS.Color(0,1,0))
geompy.addToStudy(box, "Box")
geompy.addToStudy(cyl, "Cylinder")
geompy.addToStudy(vec, "Vector")
geompy.addToStudy(tra, "Translation")
geompy.addToStudy(partition1, "Partition_1")
geompy.addToStudy(partition2, "Partition_2")
geompy.addToStudy(partition3, "Partition_3")
geompy.RestoreSubShapes(partition1)
geompy.RestoreSubShapes(partition2, [], GEOM.FSM_GetInPlace)
geompy.RestoreSubShapes(partition3, [tra], GEOM.FSM_GetInPlaceByHistory)
geompy.RestoreSubShapes(tra, [], GEOM.FSM_Transformed, True)
partition4 = geompy.MakePartition([box, tra])
geompy.addToStudy(partition4, "Partition_4", True, [],
GEOM.FSM_GetInPlaceByHistory, False)
Download this script
Get shared shapes
import salome
salome.salome_init_without_session()
import GEOM
from salome.geom import geomBuilder
import SALOMEDS
box = geompy.MakeBoxDXDYDZ(200, 200, 200)
p = geompy.MakeVertex(100, 100, 100)
v1 = geompy.MakeVectorDXDYDZ(1, 1, 0)
v2 = geompy.MakeVectorDXDYDZ(1, -1, 0)
pln1 = geompy.MakePlane(p, v1, 2000)
pln2 = geompy.MakePlane(p, v2, 2000)
partition = geompy.MakePartition([box], [pln1, pln2])
solids = geompy.SubShapeAllSorted(partition, geompy.ShapeType['SOLID'])
pF_T = geompy.GetSharedShapesMulti(partition, geompy.ShapeType['FACE'])
pF_F = geompy.GetSharedShapesMulti(partition, geompy.ShapeType['FACE'], False)
pE_T = geompy.GetSharedShapesMulti(partition, geompy.ShapeType['EDGE'])
pE_F = geompy.GetSharedShapesMulti(partition, geompy.ShapeType['EDGE'], False)
sF_T = geompy.GetSharedShapesMulti(solids, geompy.ShapeType['FACE'])
sF_F = geompy.GetSharedShapesMulti(solids, geompy.ShapeType['FACE'], False)
sE_T = geompy.GetSharedShapesMulti(solids, geompy.ShapeType['EDGE'])
sE_F = geompy.GetSharedShapesMulti(solids, geompy.ShapeType['EDGE'], False)
Download this script