Arch CutPlane/de: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 28: Line 28:
==Anwendung==
==Anwendung==


# Soll die Schnittebene von einer geraden Kante abgeleitet werden ({{Version/de|0.22}}), kann wahlweise die [[Draft_SelectPlane/de|Arbeitsebene]] ausgerichtet werden:
<div class="mw-translate-fuzzy">
#* Die ausgewählte Kante kann (darf) nicht parallel zur Normale der Arbeitsebene sein.
# Das Objekt, das beschnitten werden soll, in der [[Tree_view/de|Baumansicht]] oder der [[3D_view/de|3D-Ansicht]] auswählen.
#* Die erstellte Schnittebene steht senkrecht auf der Arbeitsebene.
# eine ebene Fläche auswählen.Diese muss in der [[3D_view/de|3D-Ansicht]] ausgewählt werden.
# Das zu schneidende Objekt auswählen.
# Die Schaltfläche {{Button|[[Image:Arch_CutPlane.svg|24px]] [[Arch_CutPlane/de|Mit einer Ebene beschneiden]]}} drücken.
# Eine der folgende Möglichkeiten auswählen:
# {{MenuCommand|hinter}} oder {{MenuCommand|Vorne}} auswählen, um die Seite der Schnittfläche zu bestimmen, auf der Material entfernt werden soll.
#* Ein Objekt mit einer einzelnen ebenen Fläche auswählen. {{Version/de|0.22}}
#* Eine ebene Fläche in der [[3D_view/de|3D-Ansicht]] auswählen.
#* Ein Objekt mit einer einzelnen geraden Kante auswählen. {{Version/de|0.22}}
#* Eine gerade Kante in der [[3D_view/de|3D-Ansicht]] auswählen. {{Version/de|0.22}}
# Es gibt mehrere Möglichkeiten, den Befehl aufzurufen:
#* Die Schaltfläche {{Button|[[Image:Arch_CutPlane.svg|16px]] [[Arch_CutPlane|Mit einer Ebene beschneiden]]}} drücken.
#* Den Menüeintrag {{MenuCommand|Arch → [[Image:Arch_CutPlane.svg|16px]] Mit einer Ebene beschneiden}} auswählen.
# {{MenuCommand|Hinter}} oder {{MenuCommand|Vorne}} auswählen, um die Seite der Schnittfläche zu bestimmen, auf der Material entfernt werden soll.
# Die Schaltfläche {{Button|OK}} drücken.
# Die Schaltfläche {{Button|OK}} drücken.
</div>


<span id="Scripting"></span>
<span id="Scripting"></span>

Revision as of 21:07, 10 January 2024

Arch Schnittebene

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

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 Schnittebene. Mitte: Resultierende Wand nach dem Beschnitt. Rechts: Ein weiteres optionales Ergebnis

Anwendung

  1. Soll die Schnittebene von einer geraden Kante abgeleitet werden (eingeführt mit Version 0.22), kann wahlweise die Arbeitsebene ausgerichtet werden:
    • Die ausgewählte Kante kann (darf) nicht parallel zur Normale der Arbeitsebene sein.
    • Die erstellte Schnittebene steht senkrecht auf der Arbeitsebene.
  2. Das zu schneidende Objekt auswählen.
  3. Eine der folgende Möglichkeiten auswählen:
  4. Es gibt mehrere Möglichkeiten, den Befehl aufzurufen:
  5. Hinter oder Vorne auswählen, um die Seite der Schnittfläche zu bestimmen, auf der Material entfernt werden soll.
  6. Die Schaltfläche OK drücken.

Skripten

Siehe auch: Arch API und FreeCAD Grundlagen Skripten.

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

cutObj = cutComponentwithPlane(archObject, cutPlane, sideFace)
  • Erstellt ein 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()