Draft: Serie su tracciato

From FreeCAD Documentation
Revision as of 21:05, 23 May 2020 by Renatorivo (talk | contribs) (Created page with "La modalità '''Originale''' (impostazione predefinita) è la modalità di allineamento storica come nella versione 0.18. Non è proprio l'allineamento di Frenet. La modalità...")

Serie su tracciato

Posizione nel menu
Draft → Serie su tracciato
Ambiente
Draft, Arch
Avvio veloce
Nessuno
Introdotto nella versione
0.14
Vedere anche
Serie di link su tracciato, Serie, Serie di link, Serie su punti

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 forme 2D create con Draft ma può anche essere utilizzato su molti tipi di oggetti 3D come quelli creati con Part o PartDesign o Arch.

Per posizionare le copie in una schiera ortogonale usare Serie; per posizionare le copie in punti specificati, utilizzare Serie su punti; per creare copie o cloni e posizionarli manualmente, utilizzare Sposta, Ruota e Clona.

Oggetto disposto lungo un percorso

Utilizzo

  1. Selezionare un oggetto che si desidera distribuire.
  2. Selezionare un oggetto percorso o alcuni bordi lungo i quali si vuole distribuire l'oggetto.
  3. Premere il pulsante Serie su tracciato.
  4. 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.

L'oggetto base dovrebbe essere centrato sull'origine, anche se il percorso inizia da un'altra parte.

Opzioni

Non ci sono opzioni per questo strumento. O funziona con l'oggetto selezionato o non funziona.

Proprietà

  • DatiBase: specifica l'oggetto da duplicare nel percorso.
  • DatiPathObj: specifica l'oggetto del percorso.
  • DatiPathSubs: specifica i sottoelementi (bordi) dell'oggetto percorso. Questa proprietà non è ancora visualizzata nel editor delle proprietà.
  • DatiCount: specifica il numero di copie dell'oggetto di base.
  • DatiAlign: 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.
  • DatiXlate: specifica un vettore di traslazione (x, y, z) per spostare ciascuna copia lungo il percorso.
Nota: quando DatiAlign è true, il vettore è relativo alle coordinate tangenti, normali o binormali locali; altrimenti il vettore è relativo alle coordinate globali.

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:

PathArray = makePathArray(baseobject, pathobject, count, xlate=None, align=False, pathobjsubs=[])
  • Crea un oggetto PathArray dal baseobject dato, inserendo tante copie quante indicate in count lungo il pathobject.
    • Se pathobjsubs è dato, esso è una lista di sotto-oggetti di pathobject, e le copie vengono create lungo questo percorso più breve.
  • Se xlate è dato, esso è un FreeCAD.Vector che indica uno spostamento aggiuntivo per spostare il punto base delle copie.
  • Se align è True le copie sono allineate alla tangente, normale o binormale del pathobject nel punto in cui viene inserita la copia.

Esempio:

import FreeCAD,Draft

p1 = FreeCAD.Vector(500, -1000, 0)
p2 = FreeCAD.Vector(1500, 1000, 0)
p3 = FreeCAD.Vector(3000, 500, 0)
p4 = FreeCAD.Vector(4500, 100, 0)
spline = Draft.makeBSpline([p1, p2, p3, p4])
object = Draft.makePolygon(3, 500)

PathArray = Draft.makePathArray(object, spline, 6)

Spiegazione tecnica per la proprietà Allinea

Quando DatiAlign è false, il posizionamento delle forme copiate è facile da capire; sono semplicemente spostati in una posizione diversa nel loro orientamento originale.

Align false
Align false

Oggetto disposto lungo un percorso chiuso nell'orientamento originale

Quando DatiAlign è true, il posizionamento delle forme diventa un po' più complesso :

  1. Prima, i sistemi di coordinate di Frenet sono costruiti sul percorso: X è tangente, Z è normale, Y è binormale.
  2. 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).

Tangent mode is similar to Original, but includes a rotation to align the Base object's X to the TangentVector before placing copies. After the rotation, Tangent behaves the same as Original. In previous versions this rotation would be performed manually before invoking PathArray.

Frenet mode orients the copies to a coordinate system along the path. X is tangent to curve, Y is curve normal, Z is curve binormal. If a normal can not be computed (ex a straight line), the default is used.

The ForceVertical option applies to Original and Tangent modes. When this option is applied, the normal parameter from Draft.getNormal is ignored. X follows the curve tangent, Z is the VerticalVector property and Y is X.Cross(Z).

Version 18 cycle chain - Original mode

Align false
Align false

Railway cross ties (sleepers) - Tangent mode + ForceVertical

Align false
Align false

Frenet Mode

Align false
Align false