Draft BezCurve/it: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(57 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Docnav/it|[[Draft_Facebinder/it|Lega facce]]|[[Draft CubicBezCurve/it|Curva di Bézier cubica]]|[[Draft_Module/it|Draft]]|IconL=Draft_Facebinder.svg |IconC=Workbench_Draft.svg|IconR=Draft CubicBezCurve.svg }}


{{Docnav/it
{{GuiCommand/it|Name=Draft BezCurve|Name/it=Curva di Bezier|Workbenches=[[Draft Module/it|Draft]], [[Arch Module/it|Arch]]|MenuLocation=Draft → Strumenti Beziér → Curva di Bézier|Shortcut=B Z|SeeAlso=[[Draft Wire/it|Polilinea]], [[Draft BSpline/it|B-spline]]
|[[Draft_CubicBezCurve/it|Curva di Bézier cubica]]
|Version=0.14}}
|[[Draft_Point/it|Punto]]
|[[Draft_Workbench/it|Draft]]
|IconL=Draft_CubicBezCurve.svg
|IconR=Draft_Point.svg
|IconC=Workbench_Draft.svg
}}

{{GuiCommand/it
|Name=Draft BezCurve
|Name/it=Curva di Bézier
|MenuLocation=Drafting → Strumenti Beziér → Curva di Bézier
|Workbenches=[[Draft_Workbench/it|Draft]], [[Arch_Workbench/it|Arch]]
|Shortcut={{KEY|B}} {{KEY|Z}}
|Version=0.14
|SeeAlso=[[Draft Wire/it|Polilinea]], [[Draft_CubicBezCurve/it|Curva di Bézier cubica]], [[Draft BSpline/it|BSpline]]
}}


<span id="Description"></span>
==Descrizione==
==Descrizione==


Lo strumento Curva di Bézier crea una [http://en.wikipedia.org/wiki/Bezier_curve Curva di Bezier], o un suo tratto, da più punti. Assume [[Draft Linestyle/it|lo spessore e il colore]] precedentemente impostati nella Barra dei comandi del [[Draft Tray/it|Vassoio di Draft]].
Il comando [[Image:Draft_BezCurve.svg|24px]] '''Curva di Bézier''' crea una [http://en.wikipedia.org/wiki/Bezier_curve curva di Bézier] da diversi punti.


Il comando crea una singola curva di Bézier con un {{PropertyData|Degree}} che è {{incode|number_of_points - 1}}. Può essere trasformato in una curva di Bézier a tratti riducendo questa proprietà.
Lo strumento Curva di Bezier utilizza {{Emphasis|i punti di controllo}} per definire la direzione della curva; invece lo strumento [[Draft BSpline/it|B-spline]] specifica i punti esatti attraverso i quali deve passare la curva. Per creare curve circolari o ellittiche esatte, usare [[Draft Arc/it|Arco]] e [[Draft Ellipse/it|Ellisse]].

I comandi Curva di Bézier e [[Draft_CubicBezCurve/it|Curva di Bézier cubica]] utilizzano {{Emphasis|punti di controllo}} per definire la posizione e la curvatura della spline. Il comando [[Draft BSpline/it|BSpline]], invece, specifica i {{Emphasis|punti esatti}} attraverso i quali passerà la curva.


[[Image:Draft_BezCurve_Example.png|400px]]
[[Image:Draft_BezCurve_Example.png|400px]]
{{Caption|Curva di Bézier definita da più punti di controllo}}
{{Caption|Curva di Bézier definita da più punti di controllo}}


<span id="Usage"></span>
== Utilizzo ==
==Utilizzo==


Vedere anche: [[Draft_Tray/it|Barra di Draft]], [[Draft_Snap/it|Aggancio]] e [[Draft_Constrain/it|Vincolare]].
<div class="mw-translate-fuzzy">
# Premere il pulsante {{Button|[[Image:Draft_BezCurve.png|16px]] [[Draft BezCurve/it|Curva di Bézier]]}}, o premere i tasti {{KEY|B}} e poi {{KEY|Z}}.
# Selezionare un primo punto nella vista 3D, oppure digitare le sue [[Draft_Coordinates/it|coordinate ]] e poi premere il pulsante {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint/it|aggiungi punto]]}}.
# Selezionare un nuovo punto nella vista 3D, oppure digitare le sue [[Draft_Coordinates/it|coordinate ]] e poi premere il pulsante {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint/it|aggiungi punto]]}}.
# Premere il tasto {{KEY|Esc}} o il pulsante {{button|Chiudi}}, o fare doppio clic sull'ultimo punto per terminare l'edizione.
</div>


# Esistono diversi modi per invocare il comando:
L'oggetto viene creato come una unica curva di Bezier di grado uguale a {{incode|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 [[Property/it|proprietà]].
#* Premere il pulsante {{Button|[[Image:Draft_BezCurve.svg|16px]] [[Draft_BezCurve/it|Curva di Bézier]]}}.
#* Selezionare l'opzione {{MenuCommand|Drafting → Strumenti Bézier → [[Image:Draft_BezCurve.svg|16px]] Curva di Bézier}} dal menu.
#* Usare la scorciatoia da tastiera: {{KEY|B}} poi {{KEY|Z}}. {{Version/it|0.20}}
# Si apre il pannello delle attività {{MenuCommand|Curva di Bézier}}. Vedere [[#Options|Opzioni]] per maggiori informazioni.
# Scegliere il primo punto nella [[3D_view/it|Vista 3D]], oppure digitare le coordinate e premere il pulsante {{Button|[[Image:Draft_AddPoint.svg|16px]] Inserisci punto}}.
# Scegliere altri punti nella [[3D_view/it|Vista 3D]], oppure digitare le coordinate e premere il pulsante {{Button|[[Image:Draft_AddPoint.svg|16px]] Inserisci punto}}.
# Premere {{KEY|Esc}} o il pulsante {{Button|Chiudi}} per terminare il comando.


<span id="Options"></span>
<div class="mw-translate-fuzzy">
== Opzioni ==
La Curva di Bézier può essere modificata facendo doppio clic sull'elemento nella vista ad albero o premendo il pulsante {{Button|[[Image:Draft Edit.svg|16px]] [[Draft Edit/it|Modifica]]}}. Quindi si possono spostare i punti in una nuova posizione o fare clic su {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint/it|aggiungi punto]]}} o {{Button|[[Image:Draft_DelPoint.svg|16px]] [[Draft_DelPoint/it|rimuovi punto]]}} e quindi fare clic sulla curva per aggiungere o rimuovere punti. Si può anche cambiare il tipo di vincolo di ogni punto.
</div>


È possibile modificare le scorciatoie da tastiera a carattere singolo disponibili nel pannello delle attività. Vedere [[Draft_Preferences/it|Preferenze di Draft]]. Le scorciatoie qui menzionate sono le scorciatoie predefinite (per la versione 0.22).
===Vincolare i nodi===


* Per inserire manualmente le coordinate, inserire le componenti X, Y e Z e premere {{KEY|Enter}} dopo ognuna di esse. Oppure si può premere il pulsante {{Button|[[Image:Draft_AddPoint.svg|16px]] Inserisci punto}} quando ha i valori desiderati. Si consiglia di spostare il puntatore fuori dalla [[3D_view/it|Vista 3D]] prima di inserire le coordinate.
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.
* Premere {{KEY|R}} o fare clic sulla casella di controllo {{MenuCommand|Relativo}} per attivare o disattivare la modalità relativa. Se la modalità relativa è attiva, le coordinate sono relative all'ultimo punto, se disponibile, altrimenti sono relative all'origine del sistema di coordinate.
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.
* Premere {{KEY|G}} o fare clic sulla casella di controllo {{MenuCommand|Globale}} per attivare o disattivare la modalità globale. Se la modalità globale è attiva, le coordinate sono relative al sistema di coordinate globale, altrimenti sono relative al sistema di coordinate [[Draft_SelectPlane/it|piano di lavoro]]. {{Version/it|0.20}}
* {{Button|[[Image:Draft_BezSharpNode.svg|32px]] sharp}} (crea nodo Bezier spigoloso) rimuove i vincoli sui punti in modo che la curva possa avere spigoli vivi.
* Premere {{KEY|F}} o fare clic sulla casella di controllo {{MenuCommand|Riempito}} per attivare o disattivare la modalità riempimento. Se la modalità riempimento è attiva, la curva creata avrà {{PropertyData|Make Face}} impostato su {{TRUE}} e avrà una faccia piena, a condizione che sia chiusa e non si autointersechi. Nota che una curva autointersecante con una faccia non verrà visualizzata correttamente, per tale curva {{PropertyData|Make Face}} deve essere impostata su {{FALSE}}.
* {{Button|[[Image:Draft_BezTanNode.svg|32px]] tangent}} (crea nodo Bezier tangente) forza i punti di controllo adiacenti a essere tangenti.
* Premere {{KEY|N}} o fare clic sulla casella di controllo {{MenuCommand|Continua}} per attivare o disattivare la modalità continua. Se la modalità continua è attiva, il comando verrà riavviato dopo aver utilizzato {{Button|[[Image:Draft_FinishLine.svg|16px]] Fine}} o {{Button|[[Image:Draft_CloseLine.svg|16px]] Chiudi}}, o dopo aver creato una curva chiusa eseguendo lo snap al primo punto della curva, consentendo di continuare a creare curve.
* {{Button|[[Image:Draft_BezSymNode.svg|32px]] symmetric}} (crea nodo Bezier simmetrico) forza i punti di controllo adiacenti a essere tangenti ed equidistanti.
* Premere {{KEY|/}} o il pulsante {{Button|[[Image:Draft_UndoLine.svg|16px]] Annulla}} per annullare l'ultimo punto.
* Premere {{KEY|A}} o il pulsante {{Button|[[Image:Draft_FinishLine.svg|16px]] Fine}} per terminare il comando e lasciare aperta la curva.
* Premere {{KEY|O}} o il pulsante {{Button|[[Image:Draft_CloseLine.svg|16px]] Chiudi}} per terminare il comando e chiudere la curva. È inoltre possibile creare una curva chiusa eseguendo lo snap al primo punto della curva.
* Premere {{KEY|W}} o il pulsante {{Button|[[Image:Draft Wipe.svg|16px]] Pulisci}} per eliminare i segmenti già posizionati, ma continuare a lavorare dall'ultimo punto.
* Premere {{KEY|U}} o il pulsante {{Button|[[Image:Draft SelectPlane.svg|16px]] [[Draft_SelectPlane|Imposta il piano di lavoro]]}} per regolare il piano di lavoro corrente nell'orientamento definito dal ultimo e il punto precedente.
* Premere {{KEY|S}} per attivare o disattivare [[Draft_Snap/it|Aggancia]].
* Premere {{KEY|Esc}} o il pulsante {{Button|Chiudi}} per terminare il comando.


<span id="Notes"></span>
==Limitazioni==
==Note==
* 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.


* Una Curva di Bézier può essere modificata con il comando [[Draft_Edit/it|Modifica]].
== Opzioni ==
* OpenCascade, e quindi FreeCAD, non supporta le curve di Bézier di gradi maggiori a 25. Questo non dovrebbe essere un problema in pratica, poiché la maggior parte degli utenti usa tipicamente curve di Bézier di gradi da 3 a 5.

* Premere il tasto {{KEY|A}} o il pulsante {{Button|[[Image:Draft FinishLine.png|12px]] [[Draft_FinishLine/it|Termina]]}} per terminare la curva, lasciandola aperta.
* Premere il tasto {{KEY|O}} o il pulsante {{Button|[[Image:Draft CloseLine.png|12px]] [[Draft_CloseLine|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 {{KEY|W}} o il pulsante {{Button|[[Image:Draft Wipe.svg|12px]] [[Draft_Wipe|Pulisci]]}} per rimuovere i segmenti della curva già posizionati, ma continuare a creare la curva dall'ultimo punto.
* Premere il tasto {{KEY|U}} o il pulsante {{Button|[[Image:Draft SelectPlane.svg|12px]] [[Draft_SelectPlane/it|Imposta il piano]]}} per posizionare il piano di lavoro corrente nell'orientamento dell'ultimo punto.
* Premere il tasto {{KEY|X}}, o {{KEY|Y}} o {{KEY|Z}} dopo un punto per vincolare il successivo punto sul dato asse.
* Per inserire le coordinate manualmente, basta inserire i valori e poi premere {{KEY|Invio}} per ciascun componente X, Y e Z.
* Premere il tasto {{KEY|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 {{KEY|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 {{KEY|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 ({{PropertyData|Make Face}} {{TRUE}}); in caso contrario, la Curva di Bézier chiusa non crea una faccia ({{PropertyData|Make Face}} {{FALSE}}).
:{{Emphasis|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 {{PropertyData|Make Face}} su {{FALSE}} per vedere la spline.
* Tenere premuto {{KEY|Ctrl}} mentre si disegna per forzare [[Draft_Snap|l'aggancio]] del proprio punto alla posizione di aggancio più vicina, indipendentemente dalla distanza.
* Tenere premuto {{KEY|Maiusc}} mentre si disegna per [[Draft_Constrain|vincolare]] il punto successivo in orizzontale o in verticale rispetto all'ultimo.
* Premere {{KEY|Ctrl}}+{{KEY|Z}} o il pulsante {{Button|[[Image:Draft UndoLine.png|12px]] [[Draft_UndoLine/it|Undo]]}} per annullare l'ultimo punto.
* Premere il tasto {{KEY|Esc}} o il pulsante {{button|Chiudi}} per interrompere il comando corrente; le curve già posizionate rimamgono.


<span id="Properties"></span>
== Proprietà ==
== Proprietà ==


Vedere anche: [[Property_editor/it|Editor delle proprietà]].

Un oggetto Curva di Bézier è derivato da un [[Part_Part2DObject/it|Part Part2DObject]] e ne eredita tutte le proprietà. Ha anche le seguenti proprietà aggiuntive:

<span id="Data"></span>
=== Dati ===
=== Dati ===
* {{PropertyData|Degree}}: specifica il grado della curva di Bezier o dei singoli segmenti.
* {{PropertyData|Closed}}: 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.
* {{PropertyData|Make 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 {{PropertyData|Closed}} è {{TRUE}}.
:{{Emphasis|Nota:}} non impostare {{PropertyData|Make Face}} su {{TRUE}} se la curva si autointerseca, poiché non crea una faccia corretta.
* {{PropertyData|Continuity}}: (sola lettura) quando la curva è chiusa, indica la continuità della curva {{incode|[0]}}, o {{incode|[0,0]}}. Altrimenti è {{incode|[]}}.


{{TitleProperty|Draft}}
<div class="mw-translate-fuzzy">

* {{PropertyData|Area|Area}}: (sola lettura) specifica l'area della faccia della curva. Il valore sarà {{value|0.0}} se {{PropertyData|Make Face}} se {{FALSE}} o la faccia non può essere creata.
* {{PropertyData|Closed|Bool}}: specifica se la curva è chiusa o meno. Se la curva è inizialmente aperta questo valore è {{FALSE}}, impostandolo su {{TRUE}} disegnerà un segmento per chiudere la curva. Se la curva è inizialmente chiusa questo valore è {{TRUE}}, impostandolo su {{FALSE}} rimuoverà l'ultimo segmento e aprirà la curva.
* {{PropertyData|Continuity|IntegerList}}: (sola lettura) specifica la continuità della curva.
* {{PropertyData|Degree|Integer}}: specifica il grado della curva.
* {{PropertyData|Length|Length}}: (sola lettura) specifica la lunghezza totale della curva.
* {{PropertyData|Make Face|Bool}}: specifica se la curva crea o meno una faccia. Se è {{TRUE}} viene creata una faccia, altrimenti solo il perimetro è considerato parte dell'oggetto. Questa proprietà funziona solo se {{PropertyData|Closed}} è {{TRUE}} e se la curva non si autointerseca.
* {{PropertyData|Points|VectorList}}: specifica i punti di controllo della curva nel suo sistema di coordinate locale.

<span id="View"></span>
=== Vista ===
=== Vista ===
* {{PropertyView|Arrow Size}}: specifica la dimensione del simbolo visualizzato alla fine della curva.
* {{PropertyView|Arrow Type}}: specifica il tipo di simbolo visualizzato alla fine della curva, che può essere dot, circle, arrow, o tick.
* {{PropertyView|End Arrow}}: specifica se mostrare un simbolo nell'ultimo punto della curva, in modo che possa essere usata come una linea di annotazione.
* {{PropertyView|Pattern}}: specifica un tipo di [[Draft Pattern/it|Campitura]] con cui riempire la faccia della curva chiusa. Questa proprietà funziona solo se {{PropertyData|Make Face}} è {{TRUE}}, e se {{PropertyView|Display Mode}} è "Flat Lines".
* {{PropertyView|Pattern Size}}: specifica la dimensione della [[Draft Pattern/it|Campitura]].
</div>


{{TitleProperty|Draft}}
<div class="mw-translate-fuzzy">

== Script ==
* {{PropertyView|Arrow Size|Length}}: specifica la dimensione del simbolo visualizzato alla fine della curva.
{{Emphasis|Vedere anche:}} [[Draft API/it|API Draft]] e [[FreeCAD Scripting Basics/it|Nozioni di base sugli script di FreeCAD]].
* {{PropertyView|Arrow Type|Enumeration}}: specifica il tipo di simbolo visualizzato alla fine della curva, che può essere {{value|Dot}}, {{value|Circle}}, {{value|Arrow}}, {{value|Tick}} o {{value|Tick-2}}.
</div>
* {{PropertyView|End Arrow|Bool}}: specifica se mostrare un simbolo alla fine della curva, in modo che possa essere utilizzato come linea di annotazione.
* {{PropertyView|Pattern|Enumeration}}: specifica il [[Draft_Pattern/it|Campitura]] con cui riempire la faccia della curva chiusa. Questa proprietà funziona solo se {{PropertyData|Make Face}} è {{TRUE}} e se {{PropertyView|Display Mode}} è {{value|Flat Lines}}.
* {{PropertyView|Pattern Size|Float}}: specifica la dimensione della [[Draft_Pattern/it|Campitura]].

<span id="Scripting"></span>
==Script==

Vedere anche: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] e [[FreeCAD Scripting Basics/it|Script di base per FreeCAD]].

Per creare una Draft Curva di Bézier usare il metodo {{incode|make_bezcurve}} ({{Version/it|0.19}}) del modulo Draft. Questo metodo sostituisce il metodo deprecato {{incode|makeBezCurve}}.


<div class="mw-translate-fuzzy">
Lo strumento Curva di Bézier può essere usato nelle [[macros/it|macro]] e dalla console [[Python/it|Python]] utilizzando la seguente funzione:
</div>
{{Code|code=
{{Code|code=
BezCurve = makeBezCurve(pointslist, closed=False, placement=None, face=None, support=None, degree=None)
bezcurve = make_bezcurve(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)
bezcurve = make_bezcurve(Part.Wire, closed=False, placement=None, face=None, support=None, degree=None)
}}
}}


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


Esempio:
Esempio:

{{Code|code=
{{Code|code=
import FreeCAD, Draft
import FreeCAD as App
import Draft


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


p1 = App.Vector(0, 0, 0)
BezCurve1 = Draft.makeBezCurve([p1, p2, p3, p4], closed=True)
p2 = App.Vector(1000, 1000, 0)
BezCurve2 = Draft.makeBezCurve([p4, 1.3*p2, p1, 4.1*p3], closed=True)
p3 = App.Vector(2000, 0, 0)
BezCurve3 = Draft.makeBezCurve([1.7*p3, 1.5*p4, 2.1*p2, p1], closed=True)
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()
}}
}}


{{Docnav/it|[[Draft_Facebinder/it|Lega facce]]|[[Draft CubicBezCurve/it|Curva di Bézier cubica]]|[[Draft_Module/it|Draft]]|IconL=Draft_Facebinder.svg |IconC=Workbench_Draft.svg|IconR=Draft CubicBezCurve.svg }}


{{Draft Tools navi/it}}
{{Docnav/it
|[[Draft_CubicBezCurve/it|Curva di Bézier cubica]]
|[[Draft_Point/it|Punto]]
|[[Draft_Workbench/it|Draft]]
|IconL=Draft_CubicBezCurve.svg
|IconR=Draft_Point.svg
|IconC=Workbench_Draft.svg
}}


{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi/it}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 13:17, 12 January 2024

Curva di Bézier

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

Descrizione

Il comando Curva di Bézier crea una curva di Bézier da diversi punti.

Il comando crea una singola curva di Bézier con un DatiDegree che è number_of_points - 1. Può essere trasformato in una curva di Bézier a tratti riducendo questa proprietà.

I comandi Curva di Bézier e Curva di Bézier cubica utilizzano punti di controllo per definire la posizione e la curvatura della spline. Il comando BSpline, invece, specifica i punti esatti attraverso i quali passerà la curva.

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

Utilizzo

Vedere anche: Barra di Draft, Aggancio e Vincolare.

  1. Esistono diversi modi per invocare il comando:
  2. Si apre il pannello delle attività Curva di Bézier. Vedere Opzioni per maggiori informazioni.
  3. Scegliere il primo punto nella Vista 3D, oppure digitare le coordinate e premere il pulsante Inserisci punto.
  4. Scegliere altri punti nella Vista 3D, oppure digitare le coordinate e premere il pulsante Inserisci punto.
  5. Premere Esc o il pulsante Chiudi per terminare il comando.

Opzioni

È possibile modificare le scorciatoie da tastiera a carattere singolo disponibili nel pannello delle attività. Vedere Preferenze di Draft. Le scorciatoie qui menzionate sono le scorciatoie predefinite (per la versione 0.22).

  • Per inserire manualmente le coordinate, inserire le componenti X, Y e Z e premere Enter dopo ognuna di esse. Oppure si può premere il pulsante Inserisci punto quando ha i valori desiderati. Si consiglia di spostare il puntatore fuori dalla Vista 3D prima di inserire le coordinate.
  • Premere R o fare clic sulla casella di controllo Relativo per attivare o disattivare la modalità relativa. Se la modalità relativa è attiva, le coordinate sono relative all'ultimo punto, se disponibile, altrimenti sono relative all'origine del sistema di coordinate.
  • Premere G o fare clic sulla casella di controllo Globale per attivare o disattivare la modalità globale. Se la modalità globale è attiva, le coordinate sono relative al sistema di coordinate globale, altrimenti sono relative al sistema di coordinate piano di lavoro. disponibile dalla versione 0.20
  • Premere F o fare clic sulla casella di controllo Riempito per attivare o disattivare la modalità riempimento. Se la modalità riempimento è attiva, la curva creata avrà DatiMake Face impostato su true e avrà una faccia piena, a condizione che sia chiusa e non si autointersechi. Nota che una curva autointersecante con una faccia non verrà visualizzata correttamente, per tale curva DatiMake Face deve essere impostata su false.
  • Premere N o fare clic sulla casella di controllo Continua per attivare o disattivare la modalità continua. Se la modalità continua è attiva, il comando verrà riavviato dopo aver utilizzato Fine o Chiudi, o dopo aver creato una curva chiusa eseguendo lo snap al primo punto della curva, consentendo di continuare a creare curve.
  • Premere / o il pulsante Annulla per annullare l'ultimo punto.
  • Premere A o il pulsante Fine per terminare il comando e lasciare aperta la curva.
  • Premere O o il pulsante Chiudi per terminare il comando e chiudere la curva. È inoltre possibile creare una curva chiusa eseguendo lo snap al primo punto della curva.
  • Premere W o il pulsante Pulisci per eliminare i segmenti già posizionati, ma continuare a lavorare dall'ultimo punto.
  • Premere U o il pulsante Imposta il piano di lavoro per regolare il piano di lavoro corrente nell'orientamento definito dal ultimo e il punto precedente.
  • Premere S per attivare o disattivare Aggancia.
  • Premere Esc o il pulsante Chiudi per terminare il comando.

Note

  • Una Curva di Bézier può essere modificata con il comando Modifica.
  • OpenCascade, e quindi FreeCAD, non supporta le curve di Bézier di gradi maggiori a 25. Questo non dovrebbe essere un problema in pratica, poiché la maggior parte degli utenti usa tipicamente curve di Bézier di gradi da 3 a 5.

Proprietà

Vedere anche: Editor delle proprietà.

Un oggetto Curva di Bézier è derivato da un Part Part2DObject e ne eredita tutte le proprietà. Ha anche le seguenti proprietà aggiuntive:

Dati

Draft

  • DatiArea (Area): (sola lettura) specifica l'area della faccia della curva. Il valore sarà 0.0 se DatiMake Face se false o la faccia non può essere creata.
  • DatiClosed (Bool): specifica se la curva è chiusa o meno. Se la curva è inizialmente aperta questo valore è false, impostandolo su true disegnerà un segmento per chiudere la curva. Se la curva è inizialmente chiusa questo valore è true, impostandolo su false rimuoverà l'ultimo segmento e aprirà la curva.
  • DatiContinuity (IntegerList): (sola lettura) specifica la continuità della curva.
  • DatiDegree (Integer): specifica il grado della curva.
  • DatiLength (Length): (sola lettura) specifica la lunghezza totale della curva.
  • DatiMake Face (Bool): specifica se la curva crea o meno una faccia. Se è true viene creata una faccia, altrimenti solo il perimetro è considerato parte dell'oggetto. Questa proprietà funziona solo se DatiClosed è true e se la curva non si autointerseca.
  • DatiPoints (VectorList): specifica i punti di controllo della curva nel suo sistema di coordinate locale.

Vista

Draft

  • VistaArrow Size (Length): specifica la dimensione del simbolo visualizzato alla fine della curva.
  • VistaArrow Type (Enumeration): specifica il tipo di simbolo visualizzato alla fine della curva, che può essere Dot, Circle, Arrow, Tick o Tick-2.
  • VistaEnd Arrow (Bool): specifica se mostrare un simbolo alla fine della curva, in modo che possa essere utilizzato come linea di annotazione.
  • VistaPattern (Enumeration): specifica il 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 (Float): specifica la dimensione della Campitura.

Script

Vedere anche: Autogenerated API documentation e Script di base per FreeCAD.

Per creare una Draft Curva di Bézier usare il metodo make_bezcurve (disponibile dalla versione 0.19) del modulo Draft. Questo metodo sostituisce il metodo deprecato makeBezCurve.

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 placement è None 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()