Arch Schnittebene
Arch CutPlane |
Menüeintrag |
---|
Arch → Schneiden in einer Ebene |
Arbeitsbereich |
Arch |
Standardtastenkürzel |
Keiner |
Eingeführt in Version |
- |
Siehe auch |
Arch Remove |
Beschreibung
Das Schneiden-in-einer-Ebene-Werkzeug erlaubt es, ein Arch-Objekt entsprechend einem Plan (plan) zu schneiden:
- Du kannst ein Arch-Objekt mit der ausgewählten Oberfläche beschneiden, Vorder- oder Rückseite
- Dies fügt dem Arch-Objekt eine Subtraction-Komponente namens CutVolume hinzu
Im obigen Bild werden zwei Arch-Strukturen mit jeweiliger Ebene beschnitten.
Anwendung
- Wähle das zu beschneidende Objekt, dann die Oberfläche (die Oberfläche muss zuletzt und in der 3D-Ansicht ausgewählt werden)
- Drücke die Schaltfläche Arch Schneiden in einer Ebene
- Wähle, ob das Objekt vor oder hinter der normale Oberfläche beschnitten werden soll
- Klicke auf den OK-Button
Scripting
Siehe auch: Arch API und FreeCAD Scripting Basics.
Das Werkzeug kann in Makros und aus der Python-Konsole heraus durch folgende Funktion angesprochen werden:
cutObj = cutComponentwithPlane(archObject, cutPlane, sideFace)
- Erstellt ein
cutObj
-Objekt aus dem gegebenenarchObject
, das voncutPlane
geschnitten wird, das eine Fläche eines anderen Objekts ist.archObject
sollte einSelectionObject
sein, das ausFreeCADGui.Selection.SelectionEx()[0]
stammt.cutPlane
sollte einFaceObject
sein, das ausFreeCADGui.Selection.SelectionEx()[0].SubObjects[0]
stammt.
sideFace
gibt an, auf welcher Seite desFaceObject
ein Volumenkörpers erzeugt werden soll; dieser Volumenkörper wird dann vomarchObject
subtrahiert (subtracted). FallssideFace
den Wert0
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()