Draft BezCurve/it: Difference between revisions

From FreeCAD Documentation
(Created page with "{{Draft Tools navi/it}}")
(Created page with "{{Userdocnavi/it}}")
Line 104: Line 104:
{{Draft Tools navi/it}}
{{Draft Tools navi/it}}


{{Userdocnavi}}
{{Userdocnavi/it}}
{{clear}}
{{clear}}

Revision as of 18:47, 25 April 2019

Curva di Bezier

Posizione nel menu
Draft → Curva di Bézier
Ambiente
Draft, Arch
Avvio veloce
B Z
Introdotto nella versione
0.14
Vedere anche
Polilinea, 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 dei comandi del Vassoio di Draft.

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

  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.

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à.

La Curva di Bézier può essere modificata facendo doppio clic sull'elemento nella vista ad albero o premendo il pulsante Modifica. Quindi si possono spostare i punti in una nuova posizione o fare clic su aggiungi punto o rimuovi punto e quindi fare clic sulla curva per aggiungere o rimuovere punti. Si può anche cambiare il tipo di vincolo di ogni punto.

Vincolare i nodi

I punti finali del segmento possono essere vincolati in modo tale che i punti di controllo adiacenti siano tangenti o simmetrici rispetto ai segmenti nel punto finale. Iniziare a modificare la curva, poi scegliere uno degli strumenti e quindi scegliere un punto. Fare nuovamente clic sullo strumento per disattivarlo, in modo da poter spostare il punto.

  • sharp (crea nodo Bezier spigoloso) rimuove i vincoli sui punti in modo che la curva possa avere spigoli vivi.
  • tangent (crea nodo Bezier tangente) forza i punti di controllo adiacenti a essere tangenti.
  • symmetric (crea nodo Bezier simmetrico) forza i punti di controllo adiacenti a essere tangenti ed equidistanti.

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.

Opzioni

  • 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.

Proprietà

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 è [].

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.

Script

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

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

BezCurve = makeBezCurve(pointslist, closed=False, placement=None, face=None, support=None, Degree=None)
BezCurve = makeBezCurve(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.

Example:

import FreeCAD, Draft

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

BezCurve1 = Draft.makeBezCurve([p1, p2, p3, p4], closed=True)
BezCurve2 = Draft.makeBezCurve([p4, 1.3*p2, p1, 4.1*p3], closed=True)
BezCurve3 = Draft.makeBezCurve([1.7*p3, 1.5*p4, 2.1*p2, p1], closed=True)