Draft BezCurve/it: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(85 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Docnav/it|[[Draft_Facebinder/it|Lega facce]]|[[Draft_Label/it|Etichetta]]|[[Draft_Module/it|Draft]]|IconL=Draft_Facebinder.svg |IconC=Workbench_Draft.svg|IconR=Draft_Label.svg }}


{{Docnav/it
{{GuiCommand/it|Name=Draft BezCurve|Name/it=Curva di Bezier|Workbenches=[[Draft Module/it|Draft]], [[Arch Module/it|Arch]]|MenuLocation=Draft → 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]].
# Press the {{Button|[[Image:Draft_BezCurve.png|16px]] [[Draft BezCurve]]}} button, or press {{KEY|B}} then {{KEY|Z}} keys.
# Click a first point on the 3D view, or type a [[Draft_Coordinates|coordinate]] and press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button.
# Click additional points on the 3D view, or type a [[Draft_Coordinates|coordinate]] and press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button.
# Press {{KEY|Esc}} or the {{Button|Close}} button, or double-click the last point to complete the edition.


# Esistono diversi modi per invocare il comando:
<div class="mw-translate-fuzzy">
#* Premere il pulsante {{Button|[[Image:Draft_BezCurve.svg|16px]] [[Draft_BezCurve/it|Curva di Bézier]]}}.
L'oggetto viene creato come una unica curva di Bezier di grado uguale al numero di punti - 1. Dopo la creazione può essere commutato in tratti di curva di Bezier di determinato grado modificando le [[Property/it|proprietà]]. Le curve di Bezier possono essere modificate utilizzando {{KEY|[[Image:Draft Edit.png|16px]] [[Draft Edit/it|Modifica]]}}.
#* Selezionare l'opzione {{MenuCommand|Drafting → Strumenti Bézier → [[Image:Draft_BezCurve.svg|16px]] Curva di Bézier}} dal menu.
</div>
#* 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>
The curve can be edited by double clicking on the element in the tree view, or by pressing the {{Button|[[Image:Draft Edit.svg|16px]] [[Draft Edit]]}} button. Then you can move the points to a new position, or click {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} or {{Button|[[Image:Draft_DelPoint.svg|16px]] [[Draft_DelPoint|remove point]]}} and then click on the curve to add or remove points. You can also change the constraint type of each point.
== Opzioni ==


È 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).
<div class="mw-translate-fuzzy">
===Vincolare i nodi===
I punti finali del segmento in un tratto della curva di Bezier possono essere vincolati in modo tale che i punti di controllo adiacenti siano tangenti o simmetrici ai segmenti nel punto finale. Questo viene fatto dopo la creazione dell'oggetto utilizzando {{KEY|[[Image:Draft Edit.png|16px]] [[Draft Edit/it|Modifica]]}}.
* [[Image:Draft_BezSharpNode.svg|32px]] '''Sharp''' - rimuove i vincoli
* [[Image:Draft_BezTanNode.svg|32px]] '''Tangent''' - forza i punti di controllo adiacenti ad essere tangenti
* [[Image:Draft_BezSymNode.svg|32px]] '''Symmetric''' - forza i punti di controllo adiacenti ad essere tangenti ed equidistanti
</div>


* 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.
The segment endpoints can be constrained such that adjacent control points are tangent or symmetric to the segments at the endpoint.
* 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.
First, start editing the curve, then pick one of the tools and then pick a point. Click again on the tool to deactivate it, so you can move the point.
* 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}} remove constraints on the points so the curve can have sharp corners.
* 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}} force adjacent control points to be tangent.
* 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}} force adjacent control points to be tangent and equidistant.
* 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>
<div class="mw-translate-fuzzy">
===Limitazioni===
==Note==
* Questo strumento non è disponibile prima della versione 0.14 di FreeCAD
* Le Proprietà Punti non compaiono ancora nell'elenco delle proprietà.
* OpenCascade non supporta le curve di Bezier con grado > 25. Nella pratica, questo non dovrebbe essere un problema.
</div>


* Una Curva di Bézier può essere modificata con il comando [[Draft_Edit/it|Modifica]].
<div class="mw-translate-fuzzy">
* 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 pulsante {{KEY|[[Image:Draft_BezCurve.png|16px]] [[Draft BezCurve/it|Curva di Bezier]]}} , oppure premere i tasti {{KEY|B}} e {{KEY|Z}}.
# Fare clic sul primo punto sulla vista 3D, o digitare le sue [[Draft_Coordinates/it|coordinate]]
# Cliccare in un altro punto nella vista 3D, o digitare le sue [[Draft_Coordinates/it|coordinate]]
# Premere {{KEY|F}} o {{KEY|C}}, o fare doppio clic sull'ultimo punto, oppure fare clic sul primo punto per completare e chiudere la curva.
===Opzioni===
</div>


<span id="Properties"></span>
<div class="mw-translate-fuzzy">
== Proprietà ==
* Premere {{KEY|F}} o il pulsante {{KEY|[[Image:Draft FinishLine.png|12px]] '''[[Draft_FinishLine/it|Finisci]]'''}} per interrompere la spline lasciandola aperta
* Premere {{KEY|C}} o il pulsante {{KEY|[[Image:Draft CloseLine.png|12px]] '''[[Draft_CloseLine/it|Chiudi]]'''}} o fare clic sul primo punto per terminare la spline, ma rendendola chiusa con l'aggiunta di un ultimo segmento tra l'ultimo punto e il primo.
* Premere {{KEY|X}}, {{KEY|Y}} o {{KEY|Z}} dopo un punto per vincolare il punto successivo sull'asse dato.
* Per inserire manualmente le coordinate, è sufficiente inserire i valori, quindi premere {{KEY|ENTER}} per ciascun componente X, Y e Z.
* Premere {{KEY|R}} o cliccare nella casella per selezionare o deselezionare il pulsante {{KEY|'''Relativo'''}}. Se la modalità relativa è attivo, le coordinate del punto successivo sono relative all'ultimo. In caso contrario, esse sono assolute, prese dal punto di origine (0,0,0).
* Premere {{KEY/it|T}} oppure fare clic sulla casella di controllo per selezionare o deselezionare la modalità {{KEY/it|Continua}}. In modalità '''Continua''', al termine dell'operazione, lo strumento Curva di Bezier si riavvia automaticamente e permette di disegnare una nuova curva senza dover ripetere il comando.
* Premere {{KEY/it|CTRL}} mentre si disegna per [[Draft_Snap/it|ancorare]] il proprio punto al punto agganciabile più vicino, indipendentemente dalla distanza.
* Premere {{KEY/it|SHIFT}} mentre si disegna per [[Draft_Constrain/it|vincolare]] orizzontalmente o verticalmente il secondo punto rispetto al primo.
* Premere {{KEY/it|W}} o il pulsante {{KEY/it|[[Image:Draft Wipe.png|12px]] Pulisci}} per rimuovere i segmenti esistenti e avviare la spline dall'ultimo punto.
* Premere {{KEY/it|CTRL}}+{{KEY/it|Z}} o premere il pulsante {{KEY/it|[[Image:Draft UndoLine.png|12px]] [[Draft_UndoLine|Annulla]]}} per annullare l'ultimo punto inserito. Questa opzione permette di annullare a ritroso tutti i punti.
* Premere {{KEY/it|ESC}} o premere il pulsante {{KEY/it|Cancella}} per uscire dal comando Curva di Bezier.
</div>


Vedere anche: [[Property_editor/it|Editor delle proprietà]].
=== 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:
=== Data ===
* {{PropertyData|Degree}}: specifies the degree of the Bezier curve or the individual segments.
* {{PropertyData|Closed}}: specifies if the curve is closed or not. If the curve is initially open, this value is {{FALSE}}; setting it to {{TRUE}} will draw a segment to close the curve. If the curve is initially closed, this value is {{TRUE}}; setting it to {{FALSE}} will remove the last segment, and make the curve open.
* {{PropertyData|Make Face}}: specifies if the curve makes a face or not. If it is {{TRUE}} a face is created, otherwise only the perimeter is considered part of the object. This property only works if {{PropertyData|Closed}} is {{TRUE}}.
:{{Emphasis|Note:}} do not set {{PropertyData|Make Face}} to {{TRUE}} if the curve intersects itself, as it won't create a proper face.
* {{PropertyData|Continuity}}: (read-only) when the curve is closed, indicates the continuity of the curve {{incode|[0]}}, or {{incode|[0,0]}}. Otherwise it's {{incode|[]}}.


<span id="Data"></span>
=== View ===
=== Dati ===
* {{PropertyView|Arrow Size}}: specifies the size of the symbol displayed at the end of the curve.
* {{PropertyView|Arrow Type}}: specifies the type of symbol displayed at the end of the curve, which can be dot, circle, arrow, and tick.
* {{PropertyView|End Arrow}}: specifies whether to show a symbol at the last point of the curve, so it can be used as an annotation line.
* {{PropertyView|Pattern}}: specifies a [[Draft Pattern]] with which to fill the face of the closed curve. This property only works if {{PropertyData|Make Face}} is {{TRUE}}, and if {{PropertyView|Display Mode}} is "Flat Lines".
* {{PropertyView|Pattern Size}}: specifies the size of the [[Draft Pattern]].


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

=== Script ===
* {{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.
</div>
* {{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 ===

{{TitleProperty|Draft}}

* {{PropertyView|Arrow Size|Length}}: specifica la dimensione del simbolo visualizzato alla fine della curva.
* {{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}}.
* {{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 Bezier può essere utilizzato nelle [[macros/it|macro]] e dalla [[FreeCAD_Scripting_Basics/it|console di Python]] tramite 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}}.
<div class="mw-translate-fuzzy">
** Ogni punto della lista è definito dal suo {{incode|FreeCAD.Vector}}, con unità in millimetri.
* Crea un oggetto curva di Bezier dalla lista di vettori dati. Invece di un pointslist, si può anche passare una Part Wire.
** In alternativa, l'input può essere una {{incode|Part.Wire}}, da cui vengono estratti i punti.
</div>
* Se {{incode|closed}} è {{incode|True}}, o se il primo e l'ultimo punto coincidono, la curva è chiusa.
* 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.

Esempio:


Example:
{{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|[[Draft_Facebinder|Facebinder]]|[[Draft_Label|Label]]|[[Draft_Module|Draft]]|IconL=Draft_Facebinder.svg |IconC=Workbench_Draft.svg|IconR=Draft_Label.svg }}


{{Docnav/it
{{Draft Tools navi}}
|[[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}}
{{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()