|
|
| Menüeintrag |
|---|
| Modify → Mit einer Ebene beschneiden |
| Arbeitsbereich |
| BIM |
| Standardtastenkürzel |
| Keiner |
| Eingeführt in Version |
| - |
| Siehe auch |
| Keiner |
Das Werkzeug Arch Schnittebene beschneidet einen Arch-Festkörper (Arch-Objekt), wie z.B. eine Arch Wand oder Arch Struktur mit einer ebenen Fläche.
Links: Vor der Anwendung des Werkzeugs Schnittebene. Mitte: Resultierende Wand nach dem Beschnitt. Rechts: Ein weiteres optionales Ergebnis
Siehe auch: Arch API und Grundlagen der Skripterstellung in FreeCAD.
Das Werkzeug Schnittebene kann in Makros und von der Python Konsole aus mit folgender Funktion verwendet werden:
cutObj = cutComponentwithPlane(archObject, cutPlane, sideFace)
cutObj-Objekt aus dem gegebenen archObject, das mit cutPlane beschnitten wird, das eine Fläche eines anderen Objekts ist.
archObject sollte ein SelectionObject sein, das aus FreeCADGui.Selection.SelectionEx()[0] stammt.cutPlane sollte ein FaceObject sein, das aus FreeCADGui.Selection.SelectionEx()[0].SubObjects[0] stammt.sideFace gibt an, auf welcher Seite des FaceObject ein Volumenkörper erzeugt werden soll; dieser Volumenkörper wird dann von dem archObject abgezogen (subtracted). Falls sideFace den Wert 0 hat, wird ein Volumenkörper hinter der Fläche erzeugt, anderenfalls vor der Fläche.Beispiel:
import FreeCAD, FreeCADGui, Draft, Arch
p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(2000, 2000, 0)
Line = Draft.makeWire([p1, p2])
Wall = Arch.makeWall(Line, width=150, height=2000)
p3 = FreeCAD.Vector(0, 2000, 0)
p4 = FreeCAD.Vector(3000, 0, 0)
Line2 = Draft.makeWire([p3, p4])
Wall2 = Arch.makeWall(Line2, width=150, height=2000)
FreeCAD.ActiveDocument.recompute()
# Select the Wall
main_object = FreeCADGui.Selection.getSelectionEx()[0]
# Select the face of Wall2
selection = FreeCADGui.Selection.getSelectionEx()[0]
cut_face = selection.SubObjects[0]
cutObj = Arch.cutComponentwithPlane(main_object, cut_face, 0)
FreeCAD.ActiveDocument.recompute()
Wall3 = Draft.move(Wall, FreeCAD.Vector(-4000, 0, 0), copy=True)
Wall4 = Draft.move(Wall2, FreeCAD.Vector(-4000, 0, 0), copy=True)
FreeCAD.ActiveDocument.recompute()
# Select the Wall3
main_object2 = FreeCADGui.Selection.getSelectionEx()[0]
# Select the face of Wall4
selection2 = FreeCADGui.Selection.getSelectionEx()[0]
cut_face2 = selection2.SubObjects[0]
cutObj2 = Arch.cutComponentwithPlane(main_object2, cut_face2, 1)
FreeCAD.ActiveDocument.recompute()