Jump to content

Draft: Lega facce

From FreeCAD Documentation
Revision as of 20:26, 21 March 2025 by Marco T (talk | contribs)

(diff) ← Older revision | Approved revision (diff) | Latest revision (diff) | Newer revision → (diff)

Draft Lega facce

Posizione nel menu
Drafting → Lega facce
3D/BIM → Strumenti 3D generici → Lega facce
Ambiente
Draft, BIM
Avvio veloce
Draft: F F
Introdotto nella versione
0.14
Vedere anche
Nessuno

Descrizione

Il comando Lega facce crea un oggetto superficie dalle facce selezionate. Un Lega facce è parametrico, si aggiornerà se si modificano i suoi oggetti sorgente.

Può essere utilizzato per creare un'estrusione da una raccolta di facce. Questa estrusione può ad esempio rappresentare una finitura della parete nel design architettonico.

Facebinder creato da facce di pareti

Utilizzo

  1. Seleziona una o più facce.
  2. Esistono diversi modi per invocare il comando:
    • Premere il pulsante Lega facce.
    • Draft: Selezionare l'opzione Drafting → Lega facce dal menu.
    • BIM: Selezionare l'opzione 3D/BIM → Strumenti 3D generici → Facebinder dal menu.
    • Draftː Usare la scorciatoia da tastiera: F poi F.

Proprietà

Vedere anche: Editor delle proprietà.

Sulla sinistra un facebinder estruso con angoli chiusi (rosa),
a destra un facebinder estruso con angoli aperti (arancio).
Gli angoli chiusi sono una funzionalità della versione V1.1.

Un oggetto Lega facce è derivato da una Funzione Part e ne eredita tutte le proprietà. Ha anche le seguenti proprietà aggiuntive:

Dati

Draft

  • DatiArea (Area): (sola lettura) specifica l'area totale delle facce collegate del facebinder.
  • DatiExtrusion (Distance): specifica lo spessore di estrusione del facebinder. disponibile dalla versione 1.1: Se il facebinder ha facce connesse e DatiSew è true, viene effettuato un tentativo di chiudere gli angoli dell'estrusione. Se ciò non è possibile, le facce vengono estruse separatamente.
  • DatiFaces (LinkSubList): specifica le facce collegate del facebinder.
  • DatiOffset (Distance): specifica una distanza di offset da applicare tra il facebinder e le facce originali, prima dell'estrusione.
  • DatiRemove Splitter (Bool): specifica se rimuovere le linee di divisione che dividono le facce complanari del facebinder.
  • DatiSew (Bool): specifica se eseguire un'operazione di cucitura topologica sul facebinder.

Vista

Draft

  • VistaPattern (Enumeration): specifica la Campitura con cui riempire le facce del facebinder. Questa proprietà funziona solo se VistaDisplay Mode è Flat Lines.
  • VistaPattern Size (Float): specifica la dimensione della Campitura.

Script

Vedere anche: Autogenerated API documentation e Script di base per FreeCAD.

Per creare un Draft Lega facce usare il metodo make_facebinder (disponibile dalla versione 0.19) del modulo Draft. Questo metodo sostituisce il metodo deprecato makeFacebinder.

facebinder = make_facebinder(selectionset)
  • Crea un oggetto facebinder dalla selectionset, che è una lista di SelectionObject come quelli restituiti da FreeCADGui.Selection.getSelectionEx().
    • selectionset può anche essere un PropertyLinkSubList.

Un PropertyLinkSubList è un elenco di tuple; ogni tupla contiene come primo elemento un oggetto e come secondo elemento un elenco (o tupla) di stringhe; queste stringhe indicano i nomi dei sotto-elementi (facce) di quell'oggetto.

PropertyLinkSubList = [tuple1, tuple2, tuple3, ...]
PropertyLinkSubList = [(object1, list1), (object2, list2), (object3, list3), ...]
PropertyLinkSubList = [(object1, ['Face1', 'Face4', 'Face6']), ...]
PropertyLinkSubList = [(object1, ('Face1', 'Face4', 'Face6')), ...]

Lo spessore di Facebinder può essere aggiunto sovrascrivendo il suo attributo Extrusion; il valore è inserito in millimetri.

Il posizionamento di Facebinder può essere cambiato sovrascrivendo il suo attributo Placement, o sovrascrivendo singolarmente i suoi attributi Placement.Base e Placement.Rotation.

Esempio:

import FreeCAD as App
import FreeCADGui as Gui
import Draft

doc = App.newDocument()

# Insert a solid box
box = doc.addObject("Part::Box", "Box")
box.Length = 2300
box.Width = 800
box.Height = 1000

# selection = Gui.Selection.getSelectionEx()
selection = [(box, ("Face1", "Face6"))]
facebinder = Draft.make_facebinder(selection)
facebinder.Extrusion = 50

doc.recompute()

facebinder.Placement.Base = App.Vector(1000, -1000, 100)
facebinder.ViewObject.ShapeColor = (0.99, 0.99, 0.4)

doc.recompute()