Draft BSpline/it: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
 
(104 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<languages/>
{{GuiCommand/it|Name=Draft BSpline|Name/it=BSpline|Workbenches=[[Draft Module/it|Draft]], [[Arch Module/it|Architettura]]|MenuLocation=Draft → BSpline |Shortcut=B S|SeeAlso=[[Draft Wire/it|DWire]]}}

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

{{GuiCommand/it
|Name=Draft BSpline
|Name/it=BSpline
|MenuLocation=Drafting → B-spline
|Workbenches=[[Draft_Workbench/it|Draft]], [[Arch_Workbench/it|Arch]]
|Shortcut={{KEY|B}} {{KEY|S}}
|Version=0.7
|SeeAlso=[[Draft Wire/it|Polilinea]], [[Draft BezCurve/it|Curva di Bezier]]
}}

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

Il comando [[Image:Draft_BSpline.svg|24px]] '''BSpline''' crea una [http://en.wikipedia.org/wiki/B-spline curva B-spline] da diversi punti.


Il comando BSpline specifica i {{Emphasis|punti esatti}} attraverso i quali passerà la curva. I comandi [[Draft BezCurve/it|Curva di Bézier]] e [[Draft_CubicBezCurve/it|Curva di Bézier cubica]], invece, utilizzano {{Emphasis|punti di controllo}} per definire la posizione e la curvatura della spline.
Crea una [http://en.wikipedia.org/wiki/B-spline curva B-Spline], una linea flessibile, passante per i punti selezionati nel [[Draft SelectPlane/it|piano di lavoro]] corrente. La BSpline assume [[Draft Linestyle/it|il tipo di linea e il colore]] impostati in precedenza nella Barra dei comandi e modificabili tramite la stessa o nella scheda Vista combinata → Proprietà → Vista. Lo strumento BSpline si comporta esattamente come lo strumento [[Draft Wire/it|DWire]].


[[Image:Draft_bspline_example.jpg|400px]]
[[Image:Draft_bspline_example.jpg|400px]]
{{Caption|Spline definita da più punti}}


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


Vedere anche: [[Draft_Tray/it|Barra di Draft]], [[Draft_Snap/it|Aggancio]] e [[Draft_Constrain/it|Vincolare]].
# Premere il pulsante {{KEY/it|[[Image:Draft BSpline.png|16px]] BSpline}}, o premere i tasti {{KEY/it|B}} e {{KEY/it|S}}
# Selezionare un primo punto nella vista 3D oppure digitare le sue [[Draft_Coordinates/it|coordinate]]
# Selezionare un nuovo punto della vista 3D, o digitare le sue [[Draft_Coordinates/it|coordinate]]
# Tra due punti traccia un segmento, quindi, per ottenere una curva, inserire un terzo punto
# Premere {{KEY/it|F}} o {{KEY/it|C}}, o fare doppio clic sull'ultimo punto, oppure fare clic sul primo punto per completare o chiudere la BSpline. La spline chiusa è anche una faccia, nonostante appaia come reticolo.


# Esistono diversi modi per invocare il comando:
=== Opzioni ===
#* Premere il pulsante {{Button|[[Image:Draft_BSpline.svg|16px]] [[Draft_BSpline/it|BSpline]]}}.
#* Selezionare l'opzione {{MenuCommand|Drafting → [[Image:Draft_BSpline.svg|16px]] B-spline}} dal menu.
#* Usare la scorciatoia da tastiera: {{KEY|B}} poi {{KEY|S}}.
# Si apre il pannello attività {{MenuCommand|B-spline}}. 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>
* Premere {{KEY/it|F}} o premere {{KEY/it|[[Image:Draft FinishLine.png|12px]] [[Draft_FinishLine/it|Termina]]}} per interrompere il disegno della BSpline, lasciandola aperta
==Opzioni==
* Premere {{KEY/it|C}} o il pulsante {{KEY/it|[[Image:Draft CloseLine.png|12px]] [[Draft_CloseLine/it|Chiudi]]}} o fare clic sul primo punto per chiudere la spline collegando con un tratto l'ultimo punto e il primo.
* Premere {{KEY/it|X}}, {{KEY/it|Y}} o {{KEY/it|Z}} dopo un punto per vincolare il punto successivo sul corrispondente asse.
* Per inserire manualmente le coordinate, è sufficiente inserire il loro valore, poi premere {{KEY/it|INVIO}} per ogni componente X, Y e Z. E' bene tenere il puntatore del mouse fuori dall'area di lavoro in quanto un suo movimento accidentale cattura e inserisce nel campo di input le coordinate a cui si trova e costringe a ripetere l'inserimento.
* Premere {{KEY/it|R}} oppure fare clic sulla casella di controllo per selezionare o deselezionare la modalità {{KEY/it|Relativo}}. In modalità '''Relativo''', le coordinate del secondo punto sono relative al primo. In caso contrario, sono assolute, a partire 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 BSpline si riavvia automaticamente e permette di disegnare una nuova BSpline 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 definito.
* 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 i punti di una BSpline.
* Premere {{KEY/it|I}} o il pulsante {{KEY/it|Pieno}} per visualizzare la bspline come una faccia dopo che essa è stata chiusa. Questo comando imposta semplicemente la Proprietà → Vista → Display mode della bspline come Flat lines, Shaded, Wireframe o Point e in seguito può essere modificata facilmente.
* Premere {{KEY/it|ESC}} o premere il pulsante {{KEY/it|Cancella}} per uscire dal comando attivo.
* BSplines, when in "Flat Lines" display mode, can display a hatch pattern, by setting their "Pattern" property below.


È 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).
==Properties==
* {{PropertyData|Closed}}: Specifies if the spline is closed or not
* {{PropertyData|Make Face}}: Fills the spline with a face
* {{PropertyView|End Arrow}}: Shows an arrow symbol at the last point of the spline, so it can be used as an annotation leader line
* {{PropertyView|Pattern}}: Specifies a hatch pattern to fill the wire with
* {{PropertyView|Pattern Size}}: Specifies the size of the hatch pattern


* Per inserire manualmente le coordinate, inserire le componenti X, Y e Z e premere {{KEY|Enter}} dopo ognuna di essei. 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.
=== Script ===
* 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.
* 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}}
* 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 spline creata avrà {{PropertyData|Make Face}} impostato su {{TRUE}} e avrà una faccia piena, a condizione che sia chiusa e non si intersechi. Si noti che una spline autointersecante con una faccia non verrà visualizzata correttamente, per tale spline {{PropertyData|Make Face}} deve essere impostato su {{FALSE}}.
* 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 spline chiusa eseguendo lo snap al primo punto della spline, consentendo di continuare a creare altre spline.
* 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 spline.
* Premere {{KEY|O}} o il pulsante {{Button|[[Image:Draft_CloseLine.svg|16px]] Chiudi}} per terminare il comando e chiudere la spline. È inoltre possibile creare una spline chiusa eseguendo lo snap al primo punto della spline.
* Premere {{KEY|W}} o il pulsante {{Button|[[Image:Draft Wipe.svg|16px]] Pulisci}} per eliminare i segmenti di curva già posizionati, ma continuare a lavorare dall'ultimo punto.
* Premere {{KEY|U}} o il pulsante {{Button|[[Image:Draft SelectPlane.svg|16px]] [[Draft_SelectPlane/it|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]].
* Premi {{KEY|Esc}} o il pulsante {{Button|Chiudi}} per terminare il comando.


<span id="Notes"></span>
Lo strumento BSpline può essere utilizzato nelle [[macros/it|macro]] e dalla [[FreeCAD_Scripting_Basics/it|console di Python]] tramite la seguente funzione:
==Note==

* Una BSpline può essere modificata con il comando [[Draft_Edit/it|Modifica]].
* Una BSpline può essere convertita in un [[Draft_Wire/it|Polilinea]] con il comando [[Draft_WireToBSpline/it|Convertire tra polilinea e BSpline]].

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

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

Un oggetto Draft BSpiline è 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 ===

{{TitleProperty|Draft}}

* {{PropertyData|Area|Area}}: (sola lettura) specifica l'area della faccia della spline. 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 spline è chiusa o meno. Se la spline è inizialmente aperta questo valore è {{FALSE}}, impostandolo su {{TRUE}} disegnerà un segmento di curva per chiudere la spline. Se la spline è inizialmente chiusa, questo valore è {{TRUE}}, impostandolo su {{FALSE}} si rimuoverà l'ultimo segmento di curva e si aprirà la spline.
* {{PropertyData|Make Face|Bool}}: specifica se la spline 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 spline non si autointerseca.
* {{PropertyData|Parameterization|Float}}: influisce sulla forma della spline.
* {{PropertyData|Points|VectorList}}: specifica i punti della spline 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 spline.
* {{PropertyView|Arrow Type|Enumeration}}: specifica il tipo di simbolo visualizzato alla fine della spline, 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 spline, in modo che possa essere utilizzato come linea di annotazione.
* {{PropertyView|Pattern|Enumeration}}: specifica la [[Draft_Pattern/it|Campitura]] con cui riempire la faccia della spline 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 BSpline utilizzare il metodo {{incode|make_bspline}} ({{Version/it|0.19}}) del modulo Draft. Questo metodo sostituisce il metodo deprecato {{incode|makeBSpline}}.


{{Code|code=
{{Code|code=
makeBSpline (pointslist,[closed],[placement])
bspline = make_bspline(pointslist, closed=False, placement=None, face=None, support=None)
bspline = make_bspline(Part.Wire, closed=False, placement=None, face=None, support=None)
}}
}}

* La funzione crea un oggetto B-Spline dalla lista data di vettori.
* Crea un oggetto {{incode|bspline}} dalla lista di punti fornita da {{incode|pointslist}}.
* Se closed è True, o se il primo e l'ultimo punto sono identici, il contorno è chiuso.
** Ogni punto nella lista è definito dal suo {{incode|FreeCAD.Vector}}, con unità in millimetri.
* Se face è True (e quindi la BSpline è chiusa), la BSpline appare piena.
** In alternativa, l'input può essere una {{incode|Part.Wire}}, da cui vengono estratti i punti.
* Al posto di un elenco di punti, si può anche fornire il contorno di una Parte.
* Se {{incode|closed}} è {{incode|True}}, o se il primo e l'ultimo punto coincidono, la spline è chiusa.
* Restituisce l'oggetto appena creato.
* Se {{incode|placement}} è {{incode|None}} la forma viene creata nell'origine.
* Se {{incode|face}} è {{incode|True}} e la spline è chiusa, diventa una faccia e appare riempita.


Esempio:
Esempio:


{{Code|code=
{{Code|code=
import FreeCAD,Draft
import FreeCAD as App
import Draft
p1 = FreeCAD.Vector(0,0,0)
p2 = FreeCAD.Vector(1,1,0)
p3 = FreeCAD.Vector(2,0,0)
Draft.makeBSpline([p1,p2,p3],closed=True)


doc = App.newDocument()

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

spline1 = Draft.make_bspline([p1, p2, p3], closed=False)
spline2 = Draft.make_bspline([p1, 2*p3, 1.3*p2], closed=False)
spline3 = Draft.make_bspline([1.3*p3, p1, -1.7*p2], closed=False)

doc.recompute()
}}
}}

{{clear}}

<languages/>
{{Docnav/it
|[[Draft_Polygon/it|Poligono]]
|[[Draft_CubicBezCurve/it|Curva di Bézier cubica]]
|[[Draft_Workbench/it|Draft]]
|IconL=Draft_Polygon.svg
|IconR=Draft_CubicBezCurve.svg
|IconC=Workbench_Draft.svg
}}

{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 13:20, 12 January 2024

BSpline

Posizione nel menu
Drafting → B-spline
Ambiente
Draft, Arch
Avvio veloce
B S
Introdotto nella versione
0.7
Vedere anche
Polilinea, Curva di Bezier

Descrizione

Il comando BSpline crea una curva B-spline da diversi punti.

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

Spline definita da più punti

Utilizzo

Vedere anche: Barra di Draft, Aggancio e Vincolare.

  1. Esistono diversi modi per invocare il comando:
    • Premere il pulsante BSpline.
    • Selezionare l'opzione Drafting → B-spline dal menu.
    • Usare la scorciatoia da tastiera: B poi S.
  2. Si apre il pannello attività B-spline. 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 essei. 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 spline creata avrà DatiMake Face impostato su true e avrà una faccia piena, a condizione che sia chiusa e non si intersechi. Si noti che una spline autointersecante con una faccia non verrà visualizzata correttamente, per tale spline DatiMake Face deve essere impostato 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 spline chiusa eseguendo lo snap al primo punto della spline, consentendo di continuare a creare altre spline.
  • Premere / o il pulsante Annulla per annullare l'ultimo punto.
  • Premere A o il pulsante Fine per terminare il comando e lasciare aperta la spline.
  • Premere O o il pulsante Chiudi per terminare il comando e chiudere la spline. È inoltre possibile creare una spline chiusa eseguendo lo snap al primo punto della spline.
  • Premere W o il pulsante Pulisci per eliminare i segmenti di curva 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.
  • Premi Esc o il pulsante Chiudi per terminare il comando.

Note

Proprietà

Vedere anche: Editor delle proprietà.

Un oggetto Draft BSpiline è 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 spline. Il valore sarà 0.0 se DatiMake Face se false o la faccia non può essere creata.
  • DatiClosed (Bool): specifica se la spline è chiusa o meno. Se la spline è inizialmente aperta questo valore è false, impostandolo su true disegnerà un segmento di curva per chiudere la spline. Se la spline è inizialmente chiusa, questo valore è true, impostandolo su false si rimuoverà l'ultimo segmento di curva e si aprirà la spline.
  • DatiMake Face (Bool): specifica se la spline 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 spline non si autointerseca.
  • DatiParameterization (Float): influisce sulla forma della spline.
  • DatiPoints (VectorList): specifica i punti della spline nel suo sistema di coordinate locale.

Vista

Draft

  • VistaArrow Size (Length): specifica la dimensione del simbolo visualizzato alla fine della spline.
  • VistaArrow Type (Enumeration): specifica il tipo di simbolo visualizzato alla fine della spline, che può essere Dot, Circle, Arrow, Tick o Tick-2.
  • VistaEnd Arrow (Bool): specifica se mostrare un simbolo alla fine della spline, in modo che possa essere utilizzato come linea di annotazione.
  • VistaPattern (Enumeration): specifica la Campitura con cui riempire la faccia della spline 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 BSpline utilizzare il metodo make_bspline (disponibile dalla versione 0.19) del modulo Draft. Questo metodo sostituisce il metodo deprecato makeBSpline.

bspline = make_bspline(pointslist, closed=False, placement=None, face=None, support=None)
bspline = make_bspline(Part.Wire, closed=False, placement=None, face=None, support=None)
  • Crea un oggetto bspline dalla lista di punti fornita da pointslist.
    • Ogni punto nella 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 spline è chiusa.
  • Se placement è None la forma viene creata nell'origine.
  • Se face è True e la spline è 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)

spline1 = Draft.make_bspline([p1, p2, p3], closed=False)
spline2 = Draft.make_bspline([p1, 2*p3, 1.3*p2], closed=False)
spline3 = Draft.make_bspline([1.3*p3, p1, -1.7*p2], closed=False)

doc.recompute()