|
Posizione nel menu |
---|
Drafting → Strumenti Beziér → Curva di Bézier 2D Drafting → Curva di Bézier |
Ambiente |
Draft, BIM |
Avvio veloce |
B Z |
Introdotto nella versione |
0.14 |
Vedere anche |
Draft Polilinea, Draft Curva di Bézier cubica, Draft BSpline |
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
Vedere anche: Barra di Draft, Aggancio e Vincolare.
È 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 1.0).
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
.
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:
Draft
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.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.IntegerList
): (sola lettura) specifica la continuità della curva.Integer
): specifica il grado della curva.Length
): (sola lettura) specifica la lunghezza totale della curva.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.VectorList
): specifica i punti di controllo della curva nel suo sistema di coordinate locale.
Draft
Length
): specifica la dimensione del simbolo visualizzato alla fine della curva.Enumeration
): specifica il tipo di simbolo visualizzato alla fine della curva, che può essere Dot
, Circle
, Arrow
, Tick
o Tick-2
.Bool
): specifica se mostrare un simbolo alla fine della curva, in modo che possa essere utilizzato come linea di annotazione.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
.Float
): specifica la dimensione della Campitura.
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)
bezcurve
dalla data lista di punti pointslist
.
FreeCAD.Vector
, con unità in millimetri.Part.Wire
, da cui vengono estratti i punti.closed
è True
, o se il primo e l'ultimo punto coincidono, la curva è chiusa.placement
è None
la forma viene creata nell'origine.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()