Draft: Serie su tracciato
Posizione nel menu |
---|
Modifiche → Strumenti serie → Serie su tracciato |
Ambiente |
Draft, Arch |
Avvio veloce |
Nessuno |
Introdotto nella versione |
0.14 |
Vedere anche |
Serie ortognale, Serie polare, Serie circolare, Serie di link su tracciato, Serie su punti, Clone |
Descrizione
Lo strumento Serie su tracciato posiziona le copie di una forma selezionata lungo un percorso selezionato, che può essere una Polilinea, una B-spline, e bordi simili.
Questo strumento può essere utilizzato su qualsiasi oggetto che abbia una Part TopoShape, che significa forme 2D create con Draft, ma anche solidi 3D creati con altri ambienti, ad esempio Part, PartDesign o Arch.
- Per creare delle serie ortogonali, polari o circolari, utilizzare il corrispondente comando
Serie ortogonale,
Serie polare, o
Serie circolare.
- Per posizionare delle copie Link lungo un percorso usare
Serie di link su tracciato.
- Per posizionare delle copie in punti specifici usare
Serie su punti o
Serie di link su punti.
- Per creare copie e posizionarle manualmente utilizzare
Sposta o
Ruota.
- Per creare copie esatte e posizionarle o ridimensionarle manualmente, utilizzare
Clona o
Crea link.
Oggetto disposto lungo un percorso
Utilizzo
- Selezionare un oggetto che si desidera distribuire.
- Selezionare un oggetto percorso o alcuni bordi lungo i quali si vuole distribuire l'oggetto.
- Premere il pulsante
Serie su tracciato.
- L'oggetto Array viene creato immediatamente. È necessario modificare le proprietà dell'array per modificare il numero e la direzione delle copie create.
Ogni elemento della serie è un clone esatto dell'oggetto originale, ma l'intera serie è considerata una singola unità in termini di proprietà e aspetto.
Nota: se l'oggetto DataBase non sembra posizionato correttamente nel percorso, controllare che il suo DataPlacement sia nell'origine (0,0,0)
. Alcuni oggetti possono essere posizionati in qualsiasi punto dello spazio 3D se utilizzati con lo strumento Serie su tracciato, ma altri devono trovarsi all'origine, in particolare quelli creato utilizzando
Estrudi di Part con un profilo 2D come uno schizzo.
Opzioni
Non ci sono opzioni per questo strumento. O funziona con l'oggetto selezionato o non funziona.
Proprietà
Una Serie su tracciato deriva da una Part Feature (classe Part::Feature
), quindi condivide tutte le proprietà di quest'ultima. Oltre alle proprietà descritte in Funzione Part, Serie su tracciato ha le seguenti proprietà nell'editor delle proprietà.
Alignment
- DataAlign (
Bool
): se ètrue
le copie sono allineate al percorso; altrimenti vengono lasciate nel loro orientamento predefinito.
- Nota: in alcuni casi la forma appare piatta, in realtà potrebbe essersi spostata nello spazio 3D, quindi, anziché utilizzare una vista piatta, cambiare la vista in assonometrica.
- DataAlign Mode (
Enumeration
): tre modalità,Original
,Frenet
,Tangent
. - DataExtra Translation (
VectorDistance
): vettore di spostamento aggiuntivo(x, y, z)
che verrà applicato a ciascuna copia lungo il percorso. Questo è utile per apportare piccole modifiche alla posizione delle copie, ad esempio, quando il suo punto di riferimento non corrisponde al punto centrale della sua forma. - DataForce Vertical (
Bool
): se ètrue
, il valore di DataVertical Vector verrà utilizzata come direzione Z locale, quando DataAlign Mode èOriginal
oTangent
. Disponibile dalla versione 0.19 - DataTangent Vector (
Vector
): il valore predefinito è(1, 0, 0)
; vettore unità di allineamento che verrà utilizzato quando DataAlign Mode èTangent
. Disponibile dalla versione 0.19 - DataVertical Vector (
Vector
): il valore predefinito è(0, 0, 1)
; vettore unitario della direzione Z locale che verrà utilizzato quando DataVertical Vector ètrue
. Disponibile dalla versione 0.19
Objects
- DataBase (
LinkGlobal
): specifica l'oggetto da duplicare nel percorso. - DataCount (
Integer
): specifica il numero di copie da creare nel percorso. - DataPath Object (
LinkGlobal
): specifica l'oggetto lungo il quale verranno distribuite le copie. Deve contenere degli'Edges'
nella sua topologia; ad esempio, potrebbe essere unapolilinea o una
BSpline.
- DataPath Subelements (
LinkSubListGlobal
): specifica i sottoelementi (bordi) del DataPath Object su cui verranno create le copie. Le copie verranno create solo su questi bordi. Se questa proprietà è vuota, le copie verranno distribuite sull'intero
DataPath Object.
Script
Vedere anche: Draft API e Nozioni di base sugli script di FreeCAD.
Lo strumento PathArray può essere utilizzato nelle macro e dalla console Python utilizzando la seguente funzione:
Chiamata più vecchia
path_array = makePathArray(base_object, path_object, count, xlate=None, align=False, pathobjsubs=[])
Nuova chiamata
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):
- Crea un oggetto
"PathArray"
da unbase_object
, inserendo fino acount
copie lungo unpath_object
.- Invece di un riferimento a un oggetto,
base_object
epath_object
possono anche essere delleLabels
(stringhe) di oggetti esistenti nel documento corrente. - Se viene fornito un
extra
, esso è un vettore che sposta ciascuna delle singole copie di una piccola quantità. - Se vengono forniti dei
subelements
, è un elenco di bordi dipath_object
, per esempio,['Edge1', 'Edge2']
; le copie verranno create lungo questo percorso più breve. - Se
align
èTrue
, le copie sono allineate lungo ilpath_object
a seconda del valore dialign_mode
, che può essere"Original"
,"Frenet"
o"Tangent"
. - Se viene fornito un
tan_vector
, è un vettore unitario che definisce la direzione tangente locale della copia lungo il percorso. Viene utilizzato quandoalign_mode
è"Tangent"
. - Se
force_vertical
èTrue
, il valore divertical_vector
viene utilizzato per determinare la direzione Z locale della copia lungo il percorso. Viene utilizzato quandoalign_mode
è"Original"
o"Tangent"
. - Se
use_link
èTrue
, il tipo di serie creata sarà una Serie di link su tracciato, i cui elementi sono delle istanze App Link invece di normali copie.
- Invece di un riferimento a un oggetto,
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()
Spiegazione tecnica per la proprietà Allinea
Quando DataAlign è false
, il posizionamento delle forme copiate è facile da capire; sono semplicemente spostati in una posizione diversa nel loro orientamento originale.
Oggetto disposto lungo un percorso chiuso nell'orientamento originale
Quando DataAlign è true
, il posizionamento delle forme diventa un po' più complesso :
- Prima, i sistemi di coordinate di Frenet sono costruiti sul percorso: X è tangente, Z è normale, Y è binormale.
- Dopo l'oggetto originale viene copiato su ogni sistema di coordinate su percorso, in modo che l'origine globale sia abbinata all'origine del sistema di coordinate sul percorso.
Oggetto disposto lungo un percorso chiuso; descrizione di componenti e percorso
Le immagini seguenti mostrano come viene prodotto l'array, a seconda del piano del percorso.
Percorso nel piano XY:
Oggetto disposto lungo un percorso chiuso allineato al piano XY
Percorso nel piano XZ:
Oggetto disposto lungo un percorso chiuso allineato al piano XZ
Percorso nel piano YZ:
Oggetto disposto lungo un percorso chiuso allineato al piano YZ
Quando si riorienta il percorso ma non l'oggetto, il risultato è coerente: l'oggetto rimane allineato al percorso nel modo in cui era prima di riorientare il percorso.
Editor: Grazie a DeepSOIC per questa spiegazione.
Modalità di allineamento aggiuntive e opzioni introdotte in v0.19
La modalità Originale (impostazione predefinita) è la modalità di allineamento storica come nella versione 0.18. Non è proprio l'allineamento di Frenet. La modalità originale utilizza il parametro normale di Draft.getNormal (o il valore predefinito) come costante - non calcola la curva normale. X segue la curva tangente, Y è il parametro normale, Z è X.Cross(Y).
La modalità Tangente è simile a Originale, ma include una rotazione per allineare la X dell'oggetto Base al TangentVector prima di posizionare le copie. Dopo la rotazione, Tangente si comporta come l'originale. Nelle versioni precedenti questa rotazione si sarebbe eseguita manualmente prima di invocare PathArray.
La modalità Frenet orienta le copie su un sistema di coordinate lungo il percorso. X è tangente alla curva, Y è la curva normale, Z è la curva binormale. Se non è possibile calcolare una normale (ad esempio per una linea retta), viene utilizzata l'impostazione predefinita.
L'opzione ForceVertical si applica alle modalità Originale e Tangente. Quando si applica questa opzione, il parametro normale di Draft.getNormal viene ignorato. X segue la curva tangente, Z è la proprietà VerticalVector e Y è X.Cross(Z).
Catena di bicicletta con la versione 18 - Modalità Originale
Traversine ferroviarie - Modalità Tangente + ForceVertical
Modalità Frenet
- Base: Coordinate, Vincoli, Snap (Near, Extension, Parallel, Grid, Endpoint, Midpoint, Perpendicular, Angle, Center, Ortho, Intersection, Special, Dimensions, Working plane)
- Disegno: Linea, Wire, Cerchio, Arco, Ellisse, Poligono, Rettangolo, Testo, Dimensione, BSpline, Punto, Forma da testo, Lega facce, Curva di Bezier, Curva di Bezier cubica, Etichetta
- Modifica: Move, Rotate, Offset, Trimex, Upgrade, Downgrade, Scale, Edit, Edit Improved, Wire to BSpline, Add point, Delete point, Shape 2D View, Draft to Sketch, Array, Path Array, Point Array, Clone, Drawing, Mirror, Stretch
- Utilità: Set working plane, Finish line, Close line, Undo line, Toggle construction mode, Toggle continue mode, Apply style, Toggle display mode, Add to group, Select group contents, Toggle snap, Toggle grid, Show snap bar, Heal, Flip Dimension, VisGroup, Slope, AutoGroup, Set Working Plane Proxy, Add to Construction group
- Addizionali: Preferences, Import-Export Preferences (DXF/DWG, SVG, OCA, DAT); Api Draft

- Installazione: Windows, Linux, Mac; Getting started
- Base: About FreeCAD, Workbenches, Preferences, Document structure, Interface Customization, Properties, Mouse Model; Tutorials
- Ambienti: Menu di base; Arch, Draft, FEM, Image, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Plot, Points, Raytracing, Reverse Engineering, Robot, Ship, Sketcher, Spreadsheet, Start, Surface workbench, TechDraw, Test Framework, Web
- Scripting: Introduction to Python, FreeCAD scripting tutorial, FreeCAD Scripting Basics, How to install macros, Gui Command, Units Modules: Builtin modules, Workbench creation, Installing more workbenches Meshes: Mesh Scripting, Mesh Module Parts: The Part Module, Topological data scripting, PythonOCC, Mesh to Part Coin scenegraph: The Coin/Inventor scenegraph, Pivy Qt interface: PySide, Using the FreeCAD GUI, Dialog creation Parametric objects: Scripted objects Other: Code snippets, Line drawing function, Embedding FreeCAD, FreeCAD vector math library, Power users hub, Python, Macros, FreeCAD Scripting Basics, Topological data scripting