Arch: Recinzione

From FreeCAD Documentation
Revision as of 09:36, 17 May 2020 by Renatorivo (talk | contribs)

Recinzione

Posizione nel menu
Arch → Recinzione
Ambiente
Arch
Avvio veloce
Nessuno
Introdotto nella versione
0.19
Vedere anche
Nessuno

Descrizione

Recinzione è un oggetto che costruisce una recinzione ripetendo un piantone e una campata della recinzione lungo un determinato percorso.

Utilizzo

Creare dall'inizio

  1. Usare un ambiente a scelta per creare un piantone e una campata.
  2. Creare il percorso della recinzione usando Sketcher o Draft.
  3. Passare nell'ambiente Arch.
  4. Selezionare la campata, il piantone e il percorso esattamente nell'ordine indicato.
  5. Premere il pulsante Recinzione.

Opzioni

Per ora lo strumento assume quanto segue.

  1. Il percorso è disegnato sul piano XY.
  2. La campata e il piantone sono disegnati nell'origine in modo che siano in posizione verticale nella vista frontale.

Proprietà

Dati

  • DatiPath: il percorso che la recinzione deve seguire
  • DatiPost: un singolo piantone della recinzione da ripetere
  • DatiSection: una singola campata da ripetere
  • DatiNumber Of Posts: il numero totale dei piantoni utilizzati per costruire la recinzione. Questo è calcolato automaticamente.
  • DatiNumber Of Sections: il numero totale di campate utilizzate per costruire la recinzione. Questo è calcolato automaticamente.

Vista

  • VistaUse Original Colors: Quando impostata su true la recinzione utilizza i colori della sezione e del piantone originale. Altrimenti utilizza il ShapeColor della recinzione.

Script

Lo strumento Recinzione può essere utilizzato nelle macro e dalla console Python tramite la seguente funzione:

Fence = buildFence(section, post, path)

Esempio.

import FreeCAD
import Part
import Arch

parts = []

parts.append(Part.makeBox(2000, 50, 30, FreeCAD.Vector(0, 0, 1000 - 30)))
parts.append(Part.makeBox(2000, 50, 30))
parts.append(Part.makeBox(20, 20, 1000 - 60, FreeCAD.Vector(0, 15, 30)))
parts.append(Part.makeBox(20, 20, 1000 - 60, FreeCAD.Vector(1980, 15, 30)))

for i in range(8):
    parts.append(Part.makeBox(20, 20, 1000 - 60, FreeCAD.Vector((2000 / 9 * (i + 1)) - 10, 15, 30)))

Part.show(Part.makeCompound(parts), "Fence_section")
fence_section = FreeCAD.ActiveDocument.Fence_section

sketch = FreeCAD.ActiveDocument.addObject("Sketcher::SketchObject", "Path")
sketch.Placement = FreeCAD.Placement(FreeCAD.Vector(0, 0, 0), FreeCAD.Rotation(0, 0, 0, 1))
sketch.addGeometry(Part.LineSegment(FreeCAD.Vector(0, 0, 0), FreeCAD.Vector(20000, 0, 0)), False)
sketch.addGeometry(Part.LineSegment(FreeCAD.Vector(20000, 0, 0), FreeCAD.Vector(20000, 20000, 0)), False)

post = Part.makeBox(100, 100, 1000, FreeCAD.Vector(0, 0, 0))
Part.show(post, "Post")
post = FreeCAD.ActiveDocument.Post

Fence = Arch.buildFence(fence_section, post, sketch)