Draftː Offset

From FreeCAD Documentation
Revision as of 08:03, 16 June 2021 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
This documentation is a work in progress. Please don't mark it as translatable since it will change in the next hours and days.

Offset

Posizione nel menu
Draft → Offset
Ambiente
Draft, Architettura
Avvio veloce
O S
Introdotto nella versione
-
Vedere anche
Scala, Part Offset 2D

Descrizione

Lo strumento Offset sposta l'oggetto selezionato di una determinata distanza (offset) perpendicolare a se stesso.

Offset di un contorno a una certa distanza da uno dei suoi bordi

Utilizzo

See also: Draft Snap and Draft Constrain.

  1. Selezionare l'oggetto che si desidera scostare.
  2. Premere il pulsante Offset, o premere i tasti Template:KEY/it e Template:KEY/it. Se nessun oggetto è selezionato, si viene invitati a selezionarne uno.
  3. Selezionare un punto nella vista 3D, o fornire una distanza

Opzioni

The single character keyboard shortcut and the modifier keys mentioned here can be changed. See Draft Preferences.

  • Premere il tasto P o fare clic sulla casella di controllo per attivare la modalità copia. Se la modalità copia è attiva, lo strumento Offset mantiene la forma originale al suo posto e crea una copia ridimensionata nel punto selezionato.
  • Tenere premuto Alt mentre si seleziona il punto per attivare o disattivare la modalità di copia. Tenendo premuto Alt si può continuare a posizionare delle copie offset; rilasciare Alt per terminare l'operazione e vedere tutte le forme di offset.
  • Fare clic sulla casella di controllo "OCC-style" per attivare la modalità "OCC". Ciò crea un offset da entrambi i lati di un segmento di linea, che produce una speciale forma chiusa con i bordi arrotondati alle estremità dei segmenti.
Nota: con questo stile i segmenti originali vengono rimossi, quindi utilizzare la modalità copia per conservare i bordi originali.
  • Tenere premuto Ctrl mentre si si crea l'offset per agganciare in modo forzato il punto di snap più vicino, indipendentemente dalla distanza.
  • Tenere premuto Maiusc per mantenere la distanza di offset riferita al segmento corrente ed evitare di selezionare un altro riferimento.
  • Premere il tasto Esc o il pulsante Chiudi per interrompere il comando corrente; le copie offset già posizionate rimangono.

Notes

  • To create an offset version of a Draft BezCurve its points are offset individually, and from the new points a new Bézier curve is calculated. This new curve is not parallel to the original curve.
  • The command cannot handle Draft BSplines.

Preferences

See also: Preferences Editor and Draft Preferences.

  • To change the number of decimals used for the input of the distance: Edit → Preferences... → General → Units → Units settings → Number of decimals.
  • To store and reuse the same copy mode setting across commands: Edit → Preferences... → Draft → General settings → Draft tools options → Global copy mode.

Scripting

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

offset_obj = offset(obj, delta, copy=False, bind=False, sym=False, occ=False)
  • Crea un offset del dato contorno obj applicando il delta dato, definito come un vettore, al suo primo vertice.
  • Se copy è True viene creato un altro oggetto invece di ridimensionare l'oggetto originale.
  • Se bind è True, e a condizione che l'oggetto contorno sia aperto, l'originale e l'offset sono uniti nei loro punti finali, formando una faccia.
    • Se sym è True, e anche bind è True, e l'offset è fatto su entrambi i lati del contorno, la larghezza totale è la larghezza del vettore dato.
  • Se occ è True, utilizzerà lo sfalsamento in stile OCC: crea un offset su entrambi i lati, quindi unisce i nuovi contorni e arrotonda gli angoli.
  • Restituisce unOffsetobj con l'oggetto offset originale o con la nuova copia.

Esempio:

import FreeCAD as App
import Draft

doc = App.newDocument()

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1500, 2000, 0)
p3 = App.Vector(4000, 0, 0)

wire = Draft.make_wire([p1, p2, p3])
doc.recompute()

vector = App.Vector(-200, 150, 0)
offset1 = Draft.offset(wire, vector, copy=True, bind=True, sym=True)
offset2 = Draft.offset(wire, 3*vector, copy=True)
offset3 = Draft.offset(wire, 6*vector, copy=True)
offset4 = Draft.offset(wire, 9*vector, copy=True)
offset5 = Draft.offset(wire, 1.5*vector, copy=True, occ=True)

doc.recompute()