Draft PathArray/it

Descrizione
Lo strumento PathArray posiziona delle copie di una forma selezionata lungo un tracciato selezionato. Il percorso può essere un Wire o uno o più spigoli. Le forme possono facoltativamente essere allineate con la tangente del tracciato. Se necessario, può essere specificato un vettore di traslazione per spostare le forme in modo che il baricentro si trovi sul tracciato. Se non sono selezionati degli oggetti, si viene invitati a selezionarli.

The PathArray tool can be used on 2D shapes created with the Draft Workbench, but can also be used on many types of 3D objects such as those created with the Part, PartDesign, or Arch Workbenches.

To position copies in an orthogonal array use Draft Array; to position copies at specified points use Draft PointArray; to create copies or clones, and manually place them use Draft Move, Draft Rotate, and Draft Clone.



Utilizzo

 * 1) Creare l'oggetto Shape che si desidera distribuire. I risultati migliori si ottengono se l'oggetto è centrato attorno sull'origine , anche se il percorso inizia da qualche altra parte.
 * 2) Selezionare un oggetto tracciato lungo il quale saranno distribuite le forme. -oppure-
 * 3) Selezionare alcuni bordi di un oggetto tracciato.
 * 4) Premere il pulsante.

Each element in the array is an exact clone of the original object, but the entire array is considered a single unit in terms of properties and appearance.

The base object should be centred around the origin, even if the path starts somewhere else.

Opzioni

 * L'array inizia con copie della forma che non sono allineata al tracciato, né traslate in una nuova posizione di default. È quindi possibile modificare il numero, l'allineamento e il vettore di traslazione tramite le proprietà.

Proprietà

 * : L'oggetto forma
 * : L'oggetto tracciato
 * : I sotto-elementi (spigoli) dell'oggetto tracciato da utilizzare come percorso
 * : Il numero di copie della forma
 * : Il vettore di traslazione
 * : True per allineare le forme al tracciato, False per lasciare le forme nel loro orientamento predefinito.

Script
Lo strumento PathArray può essere utilizzato nelle macro e dalla console di Python utilizzando la seguente funzione:


 * Distribuisce count copie del documento shapeobject lungo una pathObject o lungo i subobjects di un pathObject. Opzionalmente trasla ogni copia con un FreeCAD.Vector xlate nella direzione e alla distanza necessaria per adeguare la distanza del centro della forma dal punto di riferimento specificato. Opzionalmente allinea  BaseObject con tangente/normale/binormal del tracciato.

Esempio:

Spiegazione tecnica
Quando "Align = false", la logica di PathArray è abbastanza facile da capire.



Quando "Align = true" la logica è un po' più difficile da capire:
 * 1) Costruisce un sistema di coordinate Frenet sul percorso (X è tangente, Z è normale, Y è binormale).
 * 2) Copia l'oggetto originale in ogni sistema di coordinate sul percorso, in modo che l'origine globale sia abbinata con l'origine del sistema di coordinate del percorso.



È molto più facile da capire con le immagini. Le seguenti immagini mostrano come viene prodotto l'array, secondo in quale piano si trova il percorso.



Percorso nel piano XY



Percorso nel piano XZ



Percorso nel piano YZ



Path on XZ Plane:

Path on YZ Plane:

L'evidente vantaggio di questa logica è che, riorientando il percorso, ma non l'oggetto, il risultato è coerente - l'oggetto rimane allineato al percorso nel modo in cui era allineato prima di riorientare il percorso.

(Grazie a @DeepSOIC per questa spiegazione)