Arch: Taglio con piano
Taglia con piano |
Posizione nel menu |
---|
Arch → Taglia con piano |
Ambiente |
Arch |
Avvio veloce |
Nessuno |
Introdotto nella versione |
- |
Vedere anche |
Rimuovi |
Descrizione
Lo strumento Taglia con piano permette di tagliare un oggetto Arch secondo un piano:
- È possibile tagliare un oggetto di Arch dalla parte normale a una faccia selezionata, o dalla parte opposta del piano.
- Questo aggiunge un elemento sottrazione CutVolume all'oggetto Arch.
Nell'immagine precedente, due struttura Arch sono tagliate con un rispettivo piano.
Utilizzo
- Selezionare prima l'oggetto da tagliare, quindi la faccia (la faccia deve essere l'ultimo elemento selezionato, e deve essere selezionata nella vista 3D)
- Premere il pulsante Taglia con piano
- Scegliere se l'oggetto deve essere tagliato dalla parte normale posteriore alla faccia oppure dalla parte normale anteriore della faccia
- Cliccare sul pulsante Ok
Script
Lo strumento Taglia con Piano può essere utilizzato nelle macro e dalla console python utilizzando la seguente funzione:
cutObj = cutComponentwithPlane(archObject, cutPlane, sideFace)
- archObject è l'oggetto da tagliare
- face è la faccia di un oggetto da cui proviene il piano
- faceSide è il lato della faccia di taglio. 0 = Posteriore, 1 = Anteriore
Example:
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()