Draft BezCurve/it: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 12: Line 12:
|Workbenches=[[Draft_Workbench/it|Draft]], [[Arch_Workbench/it|Arch]]
|Workbenches=[[Draft_Workbench/it|Draft]], [[Arch_Workbench/it|Arch]]
|Shortcut={{KEY|B}} {{KEY|Z}}
|Shortcut={{KEY|B}} {{KEY|Z}}
|SeeAlso=[[Draft Wire/it|Polilinea]], [[Draft_CubicBezCurve/it|Draft CubicBezCurve]], [[Draft BSpline/it|B-spline]]
|SeeAlso=[[Draft Wire/it|Polilinea]], [[Draft_CubicBezCurve/it|CubicBezCurve]], [[Draft BSpline/it|B-spline]]
|Version=0.14
|Version=0.14
}}
}}

Revision as of 19:59, 30 August 2021

Curva di Bezier

Posizione nel menu
Draft → Strumenti Beziér → Curva di Bézier
Ambiente
Draft, Arch
Avvio veloce
B Z
Introdotto nella versione
0.14
Vedere anche
Polilinea, CubicBezCurve, B-spline

Descrizione

Lo strumento Curva di Bézier crea una Curva di Bezier, o un suo tratto, da più punti. Assume lo spessore e il colore precedentemente impostati nella barra di Draft.

L'oggetto viene creato come una unica curva di Bezier di grado uguale a number_of_points - 1 (al numero di punti - 1). Dopo la creazione può essere commutato in tratti di curva di Bezier di determinato grado modificando le sue proprietà.

Lo strumento Curva di Bezier utilizza i punti di controllo per definire la direzione della curva; invece lo strumento B-spline specifica i punti esatti attraverso i quali deve passare la curva. Per creare curve circolari o ellittiche esatte, usare Arco e Ellisse.

Curva di Bézier definita da più punti di controllo

Utilizzo

See also: Draft Tray, Draft Snap and Draft Constrain.

  1. Premere il pulsante Curva di Bézier, o premere i tasti B e poi Z.
  2. Selezionare un primo punto nella vista 3D, oppure digitare le sue coordinate e poi premere il pulsante aggiungi punto.
  3. Selezionare un nuovo punto nella vista 3D, oppure digitare le sue coordinate e poi premere il pulsante aggiungi punto.
  4. Premere il tasto Esc o il pulsante Chiudi, o fare doppio clic sull'ultimo punto per terminare l'edizione.

Opzioni

The single character keyboard shortcuts available in the task panel can be changed. See Draft Preferences. The shortcuts mentioned here are the default shortcuts.

  • Premere il tasto A o il pulsante Termina per terminare la curva, lasciandola aperta.
  • Premere il tasto O o il pulsante Chiudi per chiudere la curva, cioè per aggiungere un segmento dall'ultimo punto al primo per formare una faccia. Per formare una faccia sono necessari almeno quattro punti, e una curva di grado tre.
  • Premere il tasto W o il pulsante Pulisci per rimuovere i segmenti della curva già posizionati, ma continuare a creare la curva dall'ultimo punto.
  • Premere il tasto U o il pulsante Imposta il piano per posizionare il piano di lavoro corrente nell'orientamento dell'ultimo punto.
  • Premere il tasto X, o Y o Z dopo un punto per vincolare il successivo punto sul dato asse.
  • Per inserire le coordinate manualmente, basta inserire i valori e poi premere Invio per ciascun componente X, Y e Z.
  • Premere il tasto R oppure fare clic sulla casella di controllo per attivare la modalità "relativo". Se la modalità relativo è attiva, le coordinate del punto successivo sono relative all'ultimo; in caso contrario, sono assolute, prese dall'origine (0,0,0).
  • Premere il tasto T oppure fare clic sulla casella di controllo per attivare la modalità "continua". Se la modalità continua è attiva, lo strumento Curva di Bézier si riavvia dopo aver terminato la Curva di Bézier in costruzione, e consente di disegnare una nuova Curva di Bézier senza premere nuovamente il pulsante dello strumento.
  • Premere il tasto L oppure fare clic sulla casella di controllo per attivare la modalità riempito. Se la modalità di riempimento è attiva una Curva di Bézier chiusa crea una faccia piena (DatiMake Face true); in caso contrario, la Curva di Bézier chiusa non crea una faccia (DatiMake Face false).
Nota: la curva non deve essere riempita se si autointerseca, in quanto non crea una faccia corretta. Se la curva è piena ma non è visibile nessuna forma, impostare manualmente DatiMake Face su false per vedere la spline.
  • Tenere premuto Ctrl mentre si disegna per forzare l'aggancio del proprio punto alla posizione di aggancio più vicina, indipendentemente dalla distanza.
  • Tenere premuto Maiusc mentre si disegna per vincolare il punto successivo in orizzontale o in verticale rispetto all'ultimo.
  • Premere Ctrl+Z o il pulsante Undo per annullare l'ultimo punto.
  • Premere il tasto Esc o il pulsante Chiudi per interrompere il comando corrente; le curve già posizionate rimamgono.

Notes

Limitazioni

  • Le proprietà Punti non compaiono ancora nell'elenco delle proprietà.
  • OpenCascade, e quindi FreeCAD, non supporta le curve di Bézier di grado superiore a 25. Questo non dovrebbe essere un problema nella pratica, poiché la maggior parte degli utenti usa tipicamente le curve di Bézier da 3 a 5 gradi.

Preferences

See also: Preferences Editor and Draft Preferences.

  • To change the number of decimals used for the input of coordinates: Edit → Preferences... → General → Units → Units settings → Number of decimals.
  • To change the initial value of filled mode: Edit → Preferences... → Draft → General settings → Draft tools options → Fill objects with faces whenever possible. Changing the filled mode in a task panel will override this preference for the current FreeCAD session.

Proprietà

See also: Property editor.

A Draft BezCurve object is derived from a Part Part2DObject and inherits all its properties. It also has the following additional properties:

Data

Draft

Dati

  • DatiDegree: specifica il grado della curva di Bezier o dei singoli segmenti.
  • DatiClosed: specifica se la curva è chiusa o no. Se la curva è inizialmente aperta, questo valore è false; impostandolo su true viene disegnato un segmento per chiudere la curva. Se la curva è inizialmente chiusa, questo valore è true; impostandolo su false si rimuove l'ultimo segmento e si apre la curva.
  • DatiMake Face: specifica se la spline crea o no una faccia. Se è true crea una faccia, altrimenti solo il perimetro è considerato parte dell'oggetto. Questa proprietà funziona solo se DatiClosed è true.
Nota: non impostare DatiMake Face su true se la curva si autointerseca, poiché non crea una faccia corretta.
  • DatiContinuity: (sola lettura) quando la curva è chiusa, indica la continuità della curva [0], o [0,0]. Altrimenti è [].

View

Draft

Vista

  • VistaArrow Size: specifica la dimensione del simbolo visualizzato alla fine della curva.
  • VistaArrow Type: specifica il tipo di simbolo visualizzato alla fine della curva, che può essere dot, circle, arrow, o tick.
  • VistaEnd Arrow: specifica se mostrare un simbolo nell'ultimo punto della curva, in modo che possa essere usata come una linea di annotazione.
  • VistaPattern: specifica un tipo di Campitura con cui riempire la faccia della curva chiusa. Questa proprietà funziona solo se DatiMake Face è true, e se VistaDisplay Mode è "Flat Lines".
  • VistaPattern Size: specifica la dimensione della Campitura.

Scripting

Lo strumento Curva di Bézier può essere usato nelle macro e dalla console Python utilizzando la seguente funzione:

bezcurve = make_bezcurve(pointslist, closed=False, placement=None, face=None, support=None, degree=None)
bezcurve = make_bezcurve(Part.Wire, closed=False, placement=None, face=None, support=None, degree=None)
  • Crea un oggetto BezCurve dalla data lista di punti pointslist.
    • Ogni punto della lista è definito dal suo FreeCAD.Vector, con unità in millimetri.
    • In alternativa, l'input può essere una Part.Wire, da cui vengono estratti i punti.
  • Se closed è True, o se il primo e l'ultimo punto coincidono, la curva è chiusa.
  • Se viene dato un placement esso viene usato; altrimenti la forma viene creata nell'origine.
  • Se face è True e la curva è chiusa, diventa una faccia e appare riempita.

Esempio:

import FreeCAD as App
import Draft

doc = App.newDocument()

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1000, 1000, 0)
p3 = App.Vector(2000, 0, 0)
p4 = App.Vector(1500, -2000, 0)

bezcurve1 = Draft.make_bezcurve([p1, p2, p3, p4], closed=True)
bezcurve2 = Draft.make_bezcurve([p4, 1.3*p2, p1, 4.1*p3], closed=True)
bezcurve3 = Draft.make_bezcurve([1.7*p3, 1.5*p4, 2.1*p2, p1], closed=True)

doc.recompute()