Arch: Taglio con piano

From FreeCAD Documentation
Revision as of 12:50, 5 February 2019 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

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

  1. Selezionare prima l'oggetto da tagliare, quindi la faccia (la faccia deve essere l'ultimo elemento selezionato, e deve essere selezionata nella vista 3D)
  2. Premere il pulsante Taglia con piano
  3. Scegliere se l'oggetto deve essere tagliato dalla parte normale posteriore alla faccia oppure dalla parte normale anteriore della faccia
  4. 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()