Jump to content

Draft: Serie su tracciato

From FreeCAD Documentation
This page is a translated version of the page Draft PathArray and the translation is 100% complete.

Draft Serie su tracciato

Posizione nel menu
Modifiche → Strumenti serie → Serie su tracciato
Modifica → Serie su tracciato
Ambiente
Draft, BIM
Avvio veloce
Nessuno
Introdotto nella versione
0.14
Vedere anche
Draft Serie ortogonale, Draft Serie polare, Draft Serie circolare, Draft Serie di link su tracciato, Draft Serie su punti, Draft Serie di link su punti

Descrizione

Il comando Serie su tracciato crea una serie (array) regolare da un oggetto selezionato posizionando copie lungo un percorso. Utilizzare invece il comando Serie di link su tracciato per creare una serie di Link più efficiente. Fatta eccezione per il tipo di serie creato, Serie di link o Serie normale, il comando Serie di link su tracciato è identico a questo comando.

Entrambi i comandi possono essere utilizzati su oggetti 2D creati con Draft o Sketcher, ma anche su molti oggetti 3D come quelli creati con gli ambienti Part, PartDesign o BIM.

Serie su tracciato

Utilizzo

  1. Selezionare l'oggetto che si desidera allineare.
  2. Aggiungere l'oggetto tracciato alla selezione. È anche possibile selezionare invece dei bordi. I bordi devono appartenere allo stesso oggetto e devono essere collegati.
  3. Esistono diversi modi per invocare il comando:
    • Premere il pulsante Serie su tracciato.
    • Draft: Selezionare l'opzione Modifiche → Strumenti serie → Serie su tracciato dal menu.
    • BIM: Selezionare l'opzione Modifica → Serie su tracciato dal menu.
  4. La serie viene creata.
  5. Facoltativamente, modificare le proprietà della serie nell'Editor delle proprietà.

Allineamento

L'allineamento degli elementi in una Serie su tracciato dipende dalle proprietà della serie e dall'orientamento dell'oggetto sorgente. La posizione dell'oggetto sorgente viene ignorata: ai fini della serie x, y e z sono impostati su 0. Se la proprietà DatiAlign della serie è impostata su false l'orientamento degli elementi della serie è identico a quello dell'oggetto sorgente. Se è impostata su true, l'asse X del sistema di coordinate locale di ciascun posizionamento dell'elemento è tangente al percorso. Gli assi Y e Z dei sistemi di coordinate locali dipendono dalla proprietà DatiAlign Mode della serie. Altre proprietà della serie coinvolte nell'allineamento includono DatiTangent Vector, DatiForce Vertical e DatiVertical Vector.

3 serie basate sullo stesso percorso non planare. Da sinistra a destra: Align è falso, Align è vero con Align Mode Original e Align è vero con Align Mode Frenet.

Modalità allineamento

Sono disponibili tre modalità:

Originale

Questa modalità si avvicina di più alla singola DatiAlign Mode disponibile nella versione 0.18. Si basa su un vettore normale fisso. Se il percorso è planare questo vettore è perpendicolare al piano del percorso, altrimenti viene utilizzato un vettore predefinito, l'asse Z positivo. Da questo vettore normale e dal vettore tangente locale (l'asse X locale) viene calcolato un cross product. Questo nuovo vettore viene utilizzato come asse Z locale. L'orientamento dell'asse Y locale è determinato dagli assi X e Z locali.

Frenet

Questa modalità utilizza il vettore normale locale derivato dal percorso in corrispondenza di ciascun posizionamento dell'elemento. Se questo vettore non può essere determinato (ad esempio nel caso di un segmento retto) viene utilizzato un vettore predefinito, sempre l'asse Z positivo. Con questo vettore e il vettore tangente locale si determina il sistema di coordinate locale utilizzando la stessa procedura del paragrafo precedente.

Tangente

Questa modalità è simile a DatiAlign Mode Original ma include la possibilità di pre-ruotare l'oggetto sorgente specificando un DatiTangent Vector.

Forza Verticale e Vettore Verticale

Queste proprietà sono disponibili solo se DatiAlign Mode è Original o Tangent. Se DatiForce Vertical è impostato su true il sistema di coordinate locale viene calcolato in modo diverso. Il DatiVertical Vector viene utilizzato come vettore normale fisso. Da questo vettore normale e dal vettore tangente locale (l'asse X locale) viene nuovamente calcolato un prodotto incrociato. Ma ora questo vettore è usato come asse Y locale. L'orientamento dell'asse Z locale è determinato dagli assi X e Y locali.

L'utilizzo di queste proprietà può essere richiesto se uno degli spigoli del percorso è (quasi) parallelo alla normale predefinita del percorso.

Note

  • Gli array Fused Link non vengono visualizzati correttamente; nella vista 3D i loro elementi appaiono sempre non fusi.

Proprietà

Vedere anche: Editor delle proprietà.

Un oggetto Serie su tracciato è derivato da un oggetto Part Feature e ne eredita tutte le proprietà (ad eccezione di alcune proprietà View che non sono ereditate da Serie di Link). Le seguenti proprietà sono aggiuntive se non diversamente specificato:

Data

Link

Le proprietà in questo gruppo sono disponibili solo per le serie di link. Vedere Crea link per ulteriori informazioni.

  • DatiScale (Float)
  • Dati (Hidden)Scale Vector (Vector)
  • DatiScale List (VectorList)
  • Dati (Hidden)Visibility List (BoolList)
  • Dati (Hidden)Placement List (PlacementList)
  • Dati (Hidden)Element List (LinkList)
  • Dati (Hidden)_ Link Touched (Bool)
  • Dati (Hidden)_ Child Cache (LinkList)
  • Dati (Hidden)_ Link Owner (Integer)
  • Dati (Hidden)Colored Elements (LinkSubHidden)
  • DatiLink Copy On Change (Enumeration)
  • DatiLink Transform (Bool)

Alignment

  • DatiAlign (Bool): specifica se gli elementi nella serie sono allineati o meno lungo il percorso. Se è false tutte le altre proprietà in questo gruppo, eccetto DatiExtra Translation, non si applicano e sono nascoste.
  • DatiAlign Mode (Enumeration): specifica la modalità di allineamento, che può essere Original, Frenet o Tangent.
  • DatiExtra Translation (VectorDistance): specifica uno spostamento aggiuntivo per ogni elemento lungo il percorso.
  • DatiForce Vertical (Bool): specifica se sovrascrivere la direzione normale predefinita con il valore di DatiVertical Vector. Utilizzato solo se DatiAlign Mode è Original o Tangent.
  • DatiReverse Path (Bool): specifica se seguire il percorso all'inverso, disponibile dalla versione 1.1.
  • DatiTangent Vector (Vector): specifica il vettore di allineamento. Utilizzato solo se DatiAlign Mode è Tangent.
  • DatiVertical Vector (Vector): specifica l'override per la direzione normale predefinita. Utilizzato solo se DatiVertical Vector è true.

Draft

  • DatiAlways Sync Placement (Bool)

Objects

  • DatiBase (LinkGlobal): specifica l'oggetto da duplicare nella serie.
  • DatiExpand Array (Bool): Specifica se espandere la serie nella Vista ad albero per consentire la selezione dei suoi singoli elementi. Disponibile solo per le serie di collegamenti.
  • DatiFuse (Bool): specifica se gli elementi sovrapposti nella serie vengono fusi o meno, disponibile dalla versione 1.0.
  • DatiPath Object (LinkGlobal): Specifica l'oggetto da utilizzare per il percorso. Deve contenere Edges nella sua Part TopoShape.
  • DatiPath Subelements (LinkSubListGlobal): Specifica un elenco di bordi dell'oggetto DatiPath. Se specificato, solo questi bordi vengono utilizzati per il percorso.
  • DatiPlacement List (PlacementList): il posizionamento di ciascun elemento. Appare nel gruppo Link per le serie di collegamenti, disponibile dalla versione 1.1.

Spacing

  • DatiCount (Integer): specifica il numero di elementi nell'array.
  • DatiEnd Offset (Length): Specifica la lunghezza dalla fine del percorso all'ultima copia. Deve essere inferiore alla lunghezza del percorso meno DatiStart Offset, disponibile dalla versione 0.21.
  • DatiSpacing Mode (Enumeration): Specifica come sono distanziati gli elementi. Le opzioni sono, disponibile dalla versione 1.1:
    • Fixed count: la lunghezza del percorso disponibile (meno gli offset di inizio e fine) è equamente divisa per accogliere DatiCount elementi.
    • Fixed spacing: inizia dall'offset iniziale e posiziona i nuovi elementi dopo aver percorso una distanza fissa lungo il percorso.
    • Fixed count and spacing:uguale a Spaziatura fissa, ma si ferma anche dopo DatiCount elementi.
  • DatiSpacing Pattern (FloatList): La spaziatura viene moltiplicata per un numero corrispondente in questa sequenza. Utilizzato solo se DatiUse Spacing Pattern è true, altrimenti è nascosto, disponibile dalla versione 1.1.
  • DatiSpacing Unit (Length): Distanza fissa di base tra gli elementi. Utilizzato solo se DatiSpacing Mode è Fixed spacing o Fixed count and spacing, altrimenti è nascosto, disponibile dalla versione 1.1.
  • DatiStart Offset (Length): Specifica la lunghezza dall'inizio del percorso alla prima copia. Deve essere inferiore alla lunghezza del percorso, disponibile dalla versione 0.21.
  • DatiUse Spacing Pattern (Bool): utilizzare schemi di spaziatura ripetuti anziché uniformi, disponibile dalla versione 1.1.

View

Link

Le proprietà in questo gruppo, ad eccezione della proprietà ereditata, sono disponibili solo per le serie di link. Vedere Crea link per ulteriori informazioni.

  • VistaDraw Style (Enumeration)
  • VistaLine Width (FloatConstraint)
  • VistaOverride Material (Bool)
  • VistaPoint Size (FloatConstraint)
  • VistaSelectable (Bool): si tratta di una proprietà ereditata che appare nel gruppo Selezione per gli altri array.
  • VistaShape Material (Material)

Base

Le proprietà in questo gruppo, ad eccezione della proprietà ereditata, sono disponibili solo per le serie di link. Vedere Crea link per ulteriori informazioni.

  • Vista (Hidden)Child View Provider (PersistentObject)
  • Vista (Hidden)Material List (MaterialList)
  • Vista (Hidden)Override Color List (ColorList)
  • Vista (Hidden)Override Material List (BoolList)
  • Vista (Hidden)Proxy (PythonObject): questa è una proprietà ereditata.

Display Options

Le proprietà in questo gruppo sono proprietà ereditate. Vedere Part Feature per ulteriori informazioni.

  • VistaBounding Box (Bool): questa proprietà non è ereditata dalle serie di link.
  • VistaDisplay Mode (Enumeration): per le serie di link può essere Link o ChildView. Per altre serie può essere: Flat Lines, Shaded, Wireframe o Points.
  • VistaShow In Tree (Bool)
  • VistaVisibility (Bool)

Draft

  • VistaPattern (Enumeration): not used.
  • VistaPattern Size (Float): not used.

Object style

Le proprietà in questo gruppo non vengono ereditate dalle serie di link.

Script

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

Per creare una serie su tracciato utilizzare il metodo make_path_array (disponibile dalla versione 0.19) del modulo Draft. Questo metodo sostituisce il metodo deprecato makePathArray.

path_array = make_path_array(base_object, path_object,
                             count=4, extra=App.Vector(0, 0, 0), subelements=None,
                             align=False, align_mode="Original", tan_vector=App.Vector(1, 0, 0),
                             force_vertical=False, vertical_vector=App.Vector(0, 0, 1),
                             use_link=True)
  • base_object è l'oggetto da disporre in serie. Può anche essere la Label (string) di un oggetto nel documento corrente.
  • path_object è l'oggetto percorso. Può anche essere la Label (string) di un oggetto nel documento corrente.
  • count è il numero di elementi nella serie.
  • extra è un vettore che sposta ogni elemento.
  • subelements è un elenco di bordi di path_object, ad esempio ["Edge1", "Edge2"]. Se forniti solo questi bordi vengono utilizzati per il percorso.
  • Se align è True gli elementi sono allineati lungo il percorso a seconda del valore di align_mode, che può essere "Original", "Frenet" o "Tangent".
  • tan_vector è un vettore unitario che definisce la direzione tangente locale degli elementi lungo il percorso. Viene utilizzato quando align_mode è "Tangent".
  • Se force_vertical è True vertical_vector viene utilizzato per la direzione Z locale degli elementi lungo il percorso. Viene utilizzato quando align_mode è "Original" o "Tangent".
  • Se use_link è True gli elementi creati sono App Links invece di normali copie.
  • path_array viene restituito con l'oggetto serie creato.

Esempio:

import FreeCAD as App
import Draft

doc = App.newDocument()

p1 = App.Vector(500, -1000, 0)
p2 = App.Vector(1500, 1000, 0)
p3 = App.Vector(3000, 500, 0)
p4 = App.Vector(4500, 100, 0)
spline = Draft.make_bspline([p1, p2, p3, p4])
obj = Draft.make_polygon(3, 500)

path_array = Draft.make_path_array(obj, spline, 6)
doc.recompute()

wire = Draft.make_wire([p1, -p2, -p3, -p4])
path_array2 = Draft.make_path_array(obj, wire, count=3, extra=App.Vector(0, -500, 0), subelements=["Edge2", "Edge3"], align=True, force_vertical=True)
doc.recompute()