Arch Schnittebene

From FreeCAD Documentation
Revision as of 11:53, 26 August 2020 by Maker (talk | contribs)

Arch SchneideEbene

Menüeintrag
Arch → Ebene Schneiden
Arbeitsbereich
Arch
Standardtastenkürzel
Keiner
Eingeführt in Version
-
Siehe auch
Arch SchneideLinie, Arch Entfernen

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

  1. Wähle das zu beschneidende Objekt, dann die Oberfläche (die Oberfläche muss zuletzt und in der 3D-Ansicht ausgewählt werden)
  2. Drücke die Schaltfläche Arch Schneiden in einer Ebene
  3. Wähle, ob das Objekt vor oder hinter der normale Oberfläche beschnitten werden soll
  4. Klicke auf den OK-Button

Skripten

Siehe auch: Arch API und FreeCAD Grundlagen Skripten.

Das SchneideEbene Werkzeug kann in Makros und aus der Python Konsole aus mit folgender Funktion verwendet werden:

cutObj = cutComponentwithPlane(archObject, cutPlane, sideFace)
  • Erstellt ein cutObj-Objekt aus dem gegebenen archObject, das von cutPlane geschnitten 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örpers erzeugt werden soll; dieser Volumenkörper wird dann vom archObject subtrahiert (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()