Code: Select all
import FreeCAD
import Part
from FreeCAD import Base
doc = FreeCAD.newDocument('Slice')
Gui.activeDocument().activeView().viewAxonometric()
b = Part.makeBox(10,10,10,Base.Vector(0,0,0),Base.Vector(0,0,1))
box = doc.addObject("Part::Box","Box")
box.Shape = b
box.ViewObject.Transparency=50
planes = [box]
for i in range(2,10,2):
p = Part.makePlane(14,14, Base.Vector(-2,-2,i), Base.Vector(0,0,1))
plane = doc.addObject("Part::Plane",("Plane%s" % (i)))
plane.Shape = p
plane.ViewObject.Transparency=50
planes.append(plane)
Gui.SendMsgToActiveView("ViewFit")
r = Part.BOPTools.SplitFeatures.makeBooleanFragments(name= 'BoolFrag')
r.Objects = planes
r.Mode = 'Standard'
r.ViewObject.Transparency = 60
children = r.Shape.childShapes()
for child in children:
Part.show(child)
child.ViewObject.Transparency=50
doc.recompute()
Gui.SendMsgToActiveView("ViewFit")