#Скопируйте весь код и вставте в панель Python в FreeCAD
#


from FreeCAD import Base
import Part,PartGui
App.newDocument("ForExample")
App.setActiveDocument("ForExample")
App.ActiveDocument=App.getDocument("ForExample")
Gui.ActiveDocument=Gui.getDocument("ForExample")
Gui.activateWorkbench("PartWorkbench")
App.ActiveDocument.addObject("Part::Cylinder","Cylinder")
App.ActiveDocument.ActiveObject.Label = "Cylinder"
App.ActiveDocument.recompute()
Gui.SendMsgToActiveView("ViewFit")
FreeCAD.getDocument("ForExample").getObject("Cylinder").Radius = '50 mm'
Gui.SendMsgToActiveView("ViewFit")
Gui.activeDocument().activeView().viewAxometric()
#
App.ActiveDocument.addObject("Part::Cylinder","Cylinder1")
App.ActiveDocument.ActiveObject.Label = "Cylinder1"
Gui.SendMsgToActiveView("ViewFit")
App.ActiveDocument.recompute()
Gui.SendMsgToActiveView("ViewFit")
FreeCAD.getDocument("ForExample").getObject("Cylinder1").Radius = '20 mm'
App.activeDocument().addObject("Part::Cut","Cut")
App.activeDocument().Cut.Base = App.activeDocument().Cylinder
App.activeDocument().Cut.Tool = App.activeDocument().Cylinder1
Gui.activeDocument().Cylinder.Visibility=False
Gui.activeDocument().Cylinder1.Visibility=False
Gui.ActiveDocument.Cut.ShapeColor=Gui.ActiveDocument.Cylinder.ShapeColor
Gui.ActiveDocument.Cut.DisplayMode=Gui.ActiveDocument.Cylinder.DisplayMode
App.ActiveDocument.recompute()
Gui.SendMsgToActiveView("ViewFit")
#
App.ActiveDocument.addObject("Part::Cylinder","Cylinder2")
App.ActiveDocument.ActiveObject.Label = "Cylinder2"
FreeCAD.getDocument("ForExample").getObject("Cylinder2").Radius = '5 mm'
FreeCAD.getDocument("ForExample").getObject("Cylinder2").Placement = App.Placement(App.Vector(34,0,0),App.Rotation(App.Vector(0,0,1),0))
App.ActiveDocument.recompute()
Gui.SendMsgToActiveView("ViewFit")
#
App.ActiveDocument.addObject("Part::Cylinder","Cylinder3")
App.ActiveDocument.ActiveObject.Label = "Cylinder3"
FreeCAD.getDocument("ForExample").getObject("Cylinder3").Radius = '5 mm'
FreeCAD.getDocument("ForExample").getObject("Cylinder3").Placement = App.Placement(App.Vector(-34,0,0),App.Rotation(App.Vector(0,0,1),0))
App.ActiveDocument.recompute()
Gui.SendMsgToActiveView("ViewFit")
#
App.ActiveDocument.addObject("Part::Cylinder","Cylinder4")
App.ActiveDocument.ActiveObject.Label = "Cylinder4"
FreeCAD.getDocument("ForExample").getObject("Cylinder4").Radius = '5 mm'
FreeCAD.getDocument("ForExample").getObject("Cylinder4").Placement = App.Placement(App.Vector(0,34,0),App.Rotation(App.Vector(0,0,1),0))
App.ActiveDocument.recompute()
Gui.SendMsgToActiveView("ViewFit")
#
App.ActiveDocument.addObject("Part::Cylinder","Cylinder5")
App.ActiveDocument.ActiveObject.Label = "Cylinder5"
FreeCAD.getDocument("ForExample").getObject("Cylinder5").Radius = '5 mm'
FreeCAD.getDocument("ForExample").getObject("Cylinder5").Placement = App.Placement(App.Vector(0,-34,0),App.Rotation(App.Vector(0,0,1),0))
App.ActiveDocument.recompute()
Gui.SendMsgToActiveView("ViewFit")
#
App.activeDocument().addObject("Part::Cut","Cut001")
App.activeDocument().Cut001.Base = App.activeDocument().Cut
App.activeDocument().Cut001.Tool = App.activeDocument().Cylinder2
Gui.activeDocument().Cut.Visibility=False
Gui.activeDocument().Cylinder2.Visibility=False
Gui.ActiveDocument.Cut001.ShapeColor=Gui.ActiveDocument.Cut.ShapeColor
Gui.ActiveDocument.Cut001.DisplayMode=Gui.ActiveDocument.Cut.DisplayMode
App.ActiveDocument.recompute()
#
App.activeDocument().addObject("Part::Cut","Cut002")
App.activeDocument().Cut002.Base = App.activeDocument().Cut001
App.activeDocument().Cut002.Tool = App.activeDocument().Cylinder3
Gui.activeDocument().Cut001.Visibility=False
Gui.activeDocument().Cylinder3.Visibility=False
Gui.ActiveDocument.Cut002.ShapeColor=Gui.ActiveDocument.Cut001.ShapeColor
Gui.ActiveDocument.Cut002.DisplayMode=Gui.ActiveDocument.Cut001.DisplayMode
App.ActiveDocument.recompute()
#
App.activeDocument().addObject("Part::Cut","Cut003")
App.activeDocument().Cut003.Base = App.activeDocument().Cut002
App.activeDocument().Cut003.Tool = App.activeDocument().Cylinder4
Gui.activeDocument().Cut002.Visibility=False
Gui.activeDocument().Cylinder4.Visibility=False
Gui.ActiveDocument.Cut003.ShapeColor=Gui.ActiveDocument.Cut002.ShapeColor
Gui.ActiveDocument.Cut003.DisplayMode=Gui.ActiveDocument.Cut002.DisplayMode
App.ActiveDocument.recompute()
#
App.activeDocument().addObject("Part::Cut","Flanec_")
App.activeDocument().Flanec_.Base = App.activeDocument().Cut003
App.activeDocument().Flanec_.Tool = App.activeDocument().Cylinder5
Gui.activeDocument().Cut003.Visibility=False
Gui.activeDocument().Cylinder5.Visibility=False
Gui.ActiveDocument.Flanec_.ShapeColor=Gui.ActiveDocument.Cut003.ShapeColor
Gui.ActiveDocument.Flanec_.DisplayMode=Gui.ActiveDocument.Cut003.DisplayMode
App.ActiveDocument.recompute()
#