Arch Schnittebene

From FreeCAD Documentation
Revision as of 08:10, 22 October 2023 by FBXL5 (talk | contribs)

Arch Schnittebene

Menüeintrag
Arch → Mit einer Ebene bechneiden
Arbeitsbereich
Arch
Standardtastenkürzel
Keiner
Eingeführt in Version
-
Siehe auch
Arch Schnitlinie

Beschreibung

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 CutPlane. Mitte: resultierende Wand nach dem Schnitt. Rechts: ein weiteres optionales Ergebnis

Anwendung

  1. Wähle das zu beschneidende Objekt, dann die Fläche (die Fläche muss die letzte sein, die du ausgewählt hast, und muss in der 3D Ansicht ausgewählt werden).
  2. Drücke die Schneide EbeneSchaltfläche.
  3. Wähle , ob das Objekt hinter' der normalen Fläche oder 'vor' der normalen Fläche geschnitten wird.
  4. Klicke die OK Taste

Skripten

Siehe auch: Arch API und FreeCAD Grundlagen Skripten.

See also: Arch API and FreeCAD Scripting Basics.

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()