Draft PolarArray/it: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Created page with "=== Note ===")
Line 48: Line 48:
</div>
</div>


=== Notes ===
=== Note ===


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">

Revision as of 21:10, 21 September 2020

Serie polare

Posizione nel menu
Draft → Serie polare
Ambiente
Draft
Avvio veloce
Nessuno
Introdotto nella versione
0.19
Vedere anche
Serie, Serie circolare, Serie su tracciato, Serie su punti, Clone

Descrizione

Lo strumento Serie polare crea una serie da un oggetto selezionato posizionando le copie lungo una circonferenza.

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.

Per posizionare le copie in una griglia rettangolare utilizzare Serie. Per posizionarle in un modello circolare utilizzare Serie circolare. Per posizionare le copie lungo un percorso utilizzare Serie su tracciato. Per posizionare le copie in punti specificati usare Serie su punti; per creare copie o cloni e posizionarli manualmente usare Sposta, Ruota, e Clona.

Una serie polare di un oggetto.

Utilizzo

  1. Selezionare un oggetto da cui si desidera creare la matrice polare.
  2. Premere il pulsante Serie polare. Se non viene selezionato alcun oggetto, si aprirà il pannello azioni, ma è comunque necessario selezionare un oggetto per procedere.
  3. Scegli l'angolo polare, che determina dove sarà posizionato l'ultimo elemento della serie.
  4. Scegliere il numero di elementi della serie. Minimo 2, massimo 99.
  5. Scegliere il centro dell'asse di rotazione. È possibile fare clic nella vista 3D, per impostare contemporaneamente la posizione del centro di rotazione e completare il comando.
  6. Facoltativamente, attivare le opzioni di fusione o link.
  7. Premere OK per completare il comando.

Note

Note:

  • Per impostazione predefinita, l'asse di rotazione è l'asse Z positivo (0, 0, 1). Questo può essere modificato nell'editor delle proprietà dopo la creazione dell'oggetto.
  • L'angolo polare è positivo in senso antiorario e negativo in senso orario.
  • Ogni elemento della serie è un clone esatto dell'oggetto originale, ma l'intera serie è considerata una singola unità in termini di proprietà e aspetto.
  • Questo comando crea lo stesso oggetto di quello creato con gli strumenti Serie e Serie circolare. Pertanto, la serie può essere convertita in ortogonale, polare o circolare semplicemente modificandone le proprietà.

Opzioni

These are the options displayed in the task panel.

  • Premere Reset point per impostare il centro di rotazione sull'origine (0, 0, 0).
  • Se la casella Fuse è spuntata, gli oggetti risultanti nella serie saranno fusi in una singola forma, se si toccano o si intersecano.
  • Se la casella di controllo Use Links è selezionata, gli oggetti risultanti nella serie saranno degli App Links anziché semplici copie. Ciò migliora l'utilizzo della memoria della serie, poiché l'App Link riutilizza la forma dell'oggetto originale e non crea nuove forme. Se si utilizza questa opzione, la casella di controllo Fuse non ha alcun effetto.
  • Premere Esc o il pulsante Annulla per interrompere il comando corrente.

Note: if a Link array is created, this object cannot be converted to a regular array. And similarly, a regular array cannot be converted to a Link array. Therefore, you must choose the type of array that you want at creation time.

Proprietà

Un oggetto Serie è basato su una Part Feature classe (Part::Feature), e quindi condivide tutte le proprietà di quest'ultima. Oltre alle proprietà elencate in Part Feature, l'oggetto Serie ha delle proprietà aggiuntive.

Vedere lo strumento Serie ortogonale per l'informazione completa.

Script

Vedere anche: Draft API e Nozioni di base sugli script di FreeCAD.

Lo strumento Serie può essere utilizzato nelle macro e dalla console Python tramite la seguente funzione:

Older call:

array = makeArray(baseobject, center, totalangle, totalnum, use_link=False)

New call:

array = make_polar_array(base_object,
                         number=5, angle=360, center=App.Vector(0, 0, 0),
                         use_link=True)
  • Crea una serie dagli oggetti contenuti in obj, che può essere un singolo oggetto o un elenco di oggetti.
  • Il valore di center è un vettore che definisce il centro del cerchio della serie; angle è l'angolo dell'arco in gradi e number è il numero di copie nel modello polare, incluso l'oggetto originale.
  • Se use_link è true le copie create saranno degli App Link e non copie regolari.
  • array_list viene restituito con le nuove copie.
    • array_list è un singolo oggetto o un elenco di oggetti, a seconda dell'input di obj.

Esempio:

import FreeCAD as App
import Draft

doc = App.newDocument()

tri = Draft.make_polygon(3, 600)
center = App.Vector(-1600, 0, 0)

array = Draft.make_polar_array(tri, 8, 270, center)
doc.recompute()

Scripting, non-parametric array

When using the PolarArray tool, a parametric "Array" object is created. This can be scripted as described in the previous section.

However, to obtain standalone copies of the base object, the simple Draft.array function can be used. This will create simple copies, not a new parametric object.

To create a polar array, use it like this:

array_list = array(objectslist, center, angle, number)
  • Creates an array from the objects contained in objectslist, which can be a single object or a list of objects.
    • In case of a polar array, center defines the center of the array circle, angle is the angle of the arc in degrees to cover with copies, and number is the number of copies to arrange on the circular arc, not including the original object.
    • array_list is returned with the new copies. It is either a single object or a list of objects, depending on the input objectslist.

This function internally uses Draft.rotate() with copy=True.

Example:

import FreeCAD as App
import Draft

doc = App.newDocument()

tri = Draft.make_polygon(3, 600)
center = App.Vector(-3200, 0, 0)

array_list = Draft.array(tri, center, 180, 5)
doc.recompute()