Draft CubicBezCurve/fr: Difference between revisions

From FreeCAD Documentation
mNo edit summary
No edit summary
 
(71 intermediate revisions by 3 users not shown)
Line 2: Line 2:


{{Docnav/fr
{{Docnav/fr
|[[Draft BezCurve/fr|Courbe de Bézier]]
|[[Draft_BSpline/fr|B-spline]]
|[[Draft_Label/fr|Etiquette]]
|[[Draft_BezCurve/fr|Courbe de Bézier]]
|[[Draft_Module/fr|Atelier Draft]]
|[[Draft_Workbench/fr|Atelier Draft]]
|IconL=Draft BezCurve.svg
|IconL=Draft_BSpline.svg
|IconR=Draft_BezCurve.svg
|IconC=Workbench_Draft.svg
|IconC=Workbench_Draft.svg
|IconR=Draft_Label.svg
}}
}}


Line 13: Line 13:
|Name=Draft CubicBezCurve
|Name=Draft CubicBezCurve
|Name/fr=Draft Courbe de Bézier cubique
|Name/fr=Draft Courbe de Bézier cubique
|MenuLocation=Draft → Outils de Bézier → Courbe de Bézier cubique
|Workbenches=[[Draft Module/fr|Draft]], [[Arch Module/fr|Arch]]
|Workbenches=[[Draft_Workbench/fr|Draft]], [[Arch_Workbench/fr|Arch]]
|MenuLocation=Draft → Outils Bézier → Courbe de Bézier cubique
|SeeAlso=[[Draft Wire/fr|Draft Filaire]], [[Draft BSpline/fr|Draft BSpline]], [[Draft BezCurve/fr|Draft Courbe de Bézier]]
|Version=0.19
|Version=0.19
|SeeAlso=[[Draft_BezCurve/fr|Draft Courbe de Bézier]], [[Draft_BSpline/fr|Draft B-spline]]
}}
}}


==Description==
==Description==


L'outil [[Draft CubicBezCurve/fr|Courbe de Bézier cubique Draft]] crée une [https://fr.wikipedia.org/wiki/Courbe_de_B%C3%A9zier Courbe de Bézier] de troisième degré (quatre points sont nécessaires). C'est l'une des courbes de Bézier les plus couramment utilisées. Cet outil vous permet de créer une grosse spline composée de plusieurs segments de Bézier au 3ème degré, d’une manière similaire à l’outil Bézier d’Inkscape. Une courbe de Bezier de n'importe quel degré peut être créée avec [[Draft BezCurve/fr|Courbe de Bézier Draft]].
La commande [[Image:Draft_CubicBezCurve.svg|24px]] '''Courbe de Bézier cubique''' crée une [https://fr.wikipedia.org/wiki/Courbe_de_B%C3%A9zier Courbe de Bézier] du troisième degré (quatre points requis).


La courbe de Bézier est l'une des courbes les plus utilisées en infographie. Cette commande vous permet de créer une courbe continue composée de plusieurs segments de Bézier du 3e degré, d'une manière similaire à l'outil Bézier de [https://inkscape.org/ Inkscape]. Une courbe de Bézier générale de n'importe quel degré peut être créée avec la commande [[Draft_BezCurve/fr|Draft Courbe de Bézier]].
Les outils [[Draft BezCurve/fr|Courbe de Bézier Draft]] et [[Draft CubicBezCurve/fr|Courbe de Bézier cubique Draft]] utilisent {{Emphasis|points de contrôle}} pour définir la position et la courbure de la spline. D'autre part, l'outil [[Draft BSpline/fr|BSpline Draft]] spécifie les points exacts par lesquels la courbe passera.


Les commandes [[Draft_BezCurve/fr|Draft Courbe de Bézier]] et Draft Courbe de Bézier cubique utilisent {{Emphasis|des points de contrôle}} pour définir la position et la courbure de la spline. La commande [[Draft_BSpline/fr|Draft B-spline]], quant à elle, spécifie les {{Emphasis|points exacts}} par lesquels la courbe passera.
[[File:Draft_CubicBezCurve_example.png|600px]]
{{Caption|Spline définie par trois segments de Bézier cubiques. Chaque courbe cubique de Bézier est définie par quatre points, mais lorsque l'outil est utilisé graphiquement, seuls trois de ces points sont placés: 1-2-3 pour le premier segment, 3-4-5 pour le deuxième segment et 5-6-7 pour le troisième segment. Le quatrième point du chaque segment est défini implicitement. Le dernier point 8 est nécessaire pour terminer l'opération et ferait partie d'un quatrième segment de Bézier si l'opération se poursuivait.}}


[[File:Draft_CubicBezCurve_example.png|500px]]
{{Caption|Spline constituée de trois segments cubiques de Bézier. Le premier segment est défini par quatre points. Les segments suivants réutilisent deux points du segment précédent et ne nécessitent donc que deux points supplémentaires.}}

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


Voir aussi : [[Draft_Tray/fr|Draft La barre]], [[Draft_Snap/fr|Draft Aimantation]] et [[Draft_Constrain/fr|Draft Contrainte]].
# Appuyez sur le bouton {{Button|[[Image:Draft_CubicBezCurve.svg|16px]] [[Draft CubicBezCurve/fr|Courbe de Bézier cubique Draft]]}}.
# Cliquez sur un premier point de la vue 3D et maintenez le bouton de la souris enfoncé (1); c'est le premier point final.
# Faites glisser le pointeur vers un autre point de la vue 3D et relâchez le bouton de la souris (2); c'est le premier point de contrôle.
# Déplacez le pointeur sur un autre point de la vue 3D, puis cliquez et maintenez le bouton de la souris enfoncé sur ce point (3); c'est le deuxième point final.
# Déplacez le pointeur sur un autre point de la vue 3D pour régler la courbure finale de la spline, puis relâchez le bouton de la souris (4).
# En ce moment, vous avez déjà une courbe de Bézier du 3ème degré. La commande peut être complétée en appuyant sur {{KEY|Echap}} ou sur le bouton {{Button|Fermer}}, ou vous pouvez répéter le processus consistant à cliquer et à maintenir (5), puis à faire glisser et relâcher (6) pour en ajouter d'autres. segments de Bézier.


# Il existe plusieurs façons de lancer la commande :
Notez qu'avec ce flux de travail, vous avez besoin de deux séquences de maintien du clic pour créer une seule courbe de Bézier du troisième degré.
#* Appuyez sur le bouton {{Button|[[Image:Draft_CubicBezCurve.svg|16px]] [[Draft_CubicBezCurve/fr|Courbe de Bézier cubique]]}}.
* Le premier clic de maintien définit le premier point final.
#* Sélectionnez la {{MenuCommand|Draft → Outils de Bézier → [[Image:Draft_CubicBezCurve.svg|16px]] Courbe de Bézier cubique}} du menu.
* La première version définit le premier point de contrôle.
# Le panneau de tâches {{MenuCommand|Courbe cubique de Bézier}} s'ouvre. Voir [[#Options|Options]] pour plus d'informations.
* Le deuxième clic de maintien définit le deuxième point final et la direction générale de la spline.
# Il n'est pas possible de saisir des points via le panneau de tâches.
* La deuxième version définit la courbure finale de la spline.
# Pour les [[Mouse_navigation/fr|modes de navigation par la souris]] suivants, une touche du clavier doit être maintenue enfoncée :
* Le deuxième point de contrôle n'est pas explicitement indiqué, mais est déterminé à partir de l'emplacement du pointeur lors de la deuxième publication.
#* Si vous utilisez le [[Mouse_navigation/fr#Mode_OpenInventor|mode OpenInventor]], la touche {{KEY|Ctrl}} doit être maintenue enfoncée pendant toute la durée de la commande.
#* Si vous utilisez le [[Mouse_navigation/fr#Mode_Gestuel|mode Gestuel]], la touche {{KEY|Alt}} doit être maintenue enfoncée pour chaque séquence de clic et de relâchement, mais il est également possible de maintenir cette touche enfoncée pendant toute la durée de la commande.
# Choisissez le premier point dans la [[3D_view/fr|vue 3D]] et maintenez le bouton de la souris (1), il s'agit du premier point.
# Faites glisser le pointeur vers un autre point de la [[3D_view/fr|vue 3D]] et relâchez le bouton de la souris (2), il s'agit du premier point de contrôle.
# Déplacez le pointeur vers un autre point dans la [[3D_view/fr|vue 3D]], choisissez ce point et maintenez le bouton de la souris (3), il s'agit du deuxième point d'extrémité.
# Déplacez le pointeur vers un autre point dans la [[3D_view/fr|vue 3D]] pour ajuster la courbure finale du segment et relâchez le bouton de la souris (4), il s'agit du deuxième point de contrôle.
# Vous avez maintenant une courbe de Bézier du 3ème degré.
# Vous pouvez répéter le processus de cliquer et de maintenir (5), puis de faire glisser et de relâcher (6) pour ajouter d'autres segments.
# Chaque segment suivant utilisera le deuxième point d'extrémité et le deuxième point de contrôle du segment précédent comme premier point d'extrémité et premier point de contrôle respectivement.
# Appuyez sur {{KEY|Echap}} ou sur le bouton {{Button|Fermer}} pour terminer la commande.


== Notes ==
==Options==


Voir [[Draft_BezCurve/fr#Options|Draft Courbe de Bézier]].
=== Remarque lors de la création de nombreux segments de Bezier ===
* Le deuxième relâchement correspond également au premier point de contrôle de la courbe de Bézier suivante.
* Cela signifie que le deuxième clic maintenu était également le premier point final de la deuxième courbe de Bézier.
* Un troisième clic maintenu serait le deuxième point final.
* Un troisième communiqué définirait la courbure finale de la deuxième courbe et constituerait également le premier point de contrôle d'une troisième courbe.


== Notes ==
Cela signifie que pour deux séquences de maintien de clic (c-h) et de libération (r), la deuxième séquence fait déjà partie d'un segment de courbe suivant, comme indiqué dans le graphique suivant:


* Une Draft Courbe de Bézier cubique peut être éditée avec la commande [[Draft_Edit/fr|Draft Éditer]].
<pre>
|c-h -- r -- c-h -- r| 1
|c-h -- r -- c-h -- r| 2
|c-h -- r -- c-h -- r| 3
|c-h -- r -- c-h -- r| 4
</pre>

<div class="mw-translate-fuzzy">
=== Comment placer les points de contrôle exactement ===
</div>

L’opération graphique de cet outil permet uniquement à l’utilisateur de spécifier le premier point de contrôle de la courbe lors de son tracé. Le deuxième point de contrôle peut être ajusté après la création de l'objet: double-cliquez sur l'objet de la courbe dans la vue arborescente ou sélectionnez-le et appuyez sur {{Button|[[File:Draft_Edit.svg|16px]] [[Draft Edit/fr|Edition]]}}. Ensuite, faites glisser le deuxième point de contrôle à la position souhaitée.

Afin de choisir exactement les deux points extrêmes et les deux points de contrôle, la commande Python {{incode|Draft.makeBezCurve()}} doit être utilisée. Voir la section [[#Scripting/fr|Script]].

==Options==

Voir les options dans [[Draft BezCurve/fr|Courbe de Bézier Draft]].


<span id="Properties"></span>
==Propriétés==
==Propriétés==


Voir les propriétés de [[Draft BezCurve/fr|Courbe de Bézier Draft]].
Voir [[Draft_BezCurve/fr#Propri.C3.A9t.C3.A9s|Draft Courbe de Bézier]].


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


Voir aussi : [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] et [[FreeCAD_Scripting_Basics/fr|FreeCAD Débuter avec les scripts]].
<div class="mw-translate-fuzzy">
{{Emphasis|Voir aussi:}} [[Draft API/fr|Draft API]] et [[FreeCAD Scripting Basics/fr|FreeCAD Script de Base]].
</div>


Voir [[Draft BezCurve/fr|Courbe de Bézier Draft]] pour les informations générales. Un cube de Bézier est créé en passant l'option <code>degree=3</code> à {{incode|makeBezCurve()}}.
Voir [[Draft_BezCurve/fr|Draft Courbe de Bézier]] pour des informations générales. Une courbe de Bézier cubique est créée en passant l'option <code>degré=3</code> à {{incode|makeBezCurve()}}.


Pour chaque segment de Bézier cubique, il faut utiliser quatre points dont les deux points extrêmes indiquent le passage de la spline et où les deux points intermédiaires sont des points de contrôle.
Pour chaque segment de Bézier cubique, il faut utiliser quatre points dont les deux points extrêmes indiquent le passage de la spline et où les deux points intermédiaires sont des points de contrôle.
Line 103: Line 90:
import FreeCAD as App
import FreeCAD as App
import Draft
import Draft

doc = App.newDocument()


p1 = App.Vector(-3500, 0, 0)
p1 = App.Vector(-3500, 0, 0)
Line 115: Line 104:
rot = App.Rotation()
rot = App.Rotation()


c1 = Draft.makeCircle(100, placement=App.Placement(p1, rot), face=False)
c1 = Draft.make_circle(100, placement=App.Placement(p1, rot), face=False)
c1.Label = "B1_E1"
c1.Label = "B1_E1"
c2 = Draft.makeCircle(50, placement=App.Placement(p2, rot), face=True)
c2 = Draft.make_circle(50, placement=App.Placement(p2, rot), face=True)
c2.Label = "B1_c1"
c2.Label = "B1_c1"
c3 = Draft.makeCircle(50, placement=App.Placement(p3, rot), face=True)
c3 = Draft.make_circle(50, placement=App.Placement(p3, rot), face=True)
c3.Label = "B1_c2"
c3.Label = "B1_c2"
c4 = Draft.makeCircle(100, placement=App.Placement(p4, rot), face=False)
c4 = Draft.make_circle(100, placement=App.Placement(p4, rot), face=False)
c4.Label = "B1_E2"
c4.Label = "B1_E2"
c5 = Draft.makeCircle(50, placement=App.Placement(p5, rot), face=True)
c5 = Draft.make_circle(50, placement=App.Placement(p5, rot), face=True)
c5.Label = "B2_c3"
c5.Label = "B2_c3"
c6 = Draft.makeCircle(50, placement=App.Placement(p6, rot), face=True)
c6 = Draft.make_circle(50, placement=App.Placement(p6, rot), face=True)
c6.Label = "B2_c4"
c6.Label = "B2_c4"
c7 = Draft.makeCircle(100, placement=App.Placement(p7, rot), face=False)
c7 = Draft.make_circle(100, placement=App.Placement(p7, rot), face=False)
c7.Label = "B2_E3"
c7.Label = "B2_E3"
c8 = Draft.makeCircle(50, placement=App.Placement(p8, rot), face=True)
c8 = Draft.make_circle(50, placement=App.Placement(p8, rot), face=True)
c8.Label = "B3_c5"
c8.Label = "B3_c5"
App.ActiveDocument.recompute()


doc.recompute()
B1 = Draft.makeBezCurve([p1, p2], degree=3)

B1 = Draft.make_bezcurve([p1, p2], degree=3)
B1.Label = "B_lin"
B1.Label = "B_lin"
B1.ViewObject.DrawStyle = "Dashed"
B1.ViewObject.DrawStyle = "Dashed"


B2 = Draft.makeBezCurve([p1, p2, p3], degree=3)
B2 = Draft.make_bezcurve([p1, p2, p3], degree=3)
B2.Label = "B_quad"
B2.Label = "B_quad"
B2.ViewObject.DrawStyle = "Dotted"
B2.ViewObject.DrawStyle = "Dotted"


B3 = Draft.makeBezCurve([p1, p2, p3, p4], degree=3)
B3 = Draft.make_bezcurve([p1, p2, p3, p4], degree=3)
B3.Label = "B_cub"
B3.Label = "B_cub"
B3.ViewObject.LineWidth = 4
B3.ViewObject.LineWidth = 4


B4 = Draft.makeBezCurve([p1, p2, p3, p4, p5], degree=3)
B4 = Draft.make_bezcurve([p1, p2, p3, p4, p5], degree=3)
B4.Label = "B_cub+lin"
B4.Label = "B_cub+lin"
B4.ViewObject.DrawStyle = "Dashed"
B4.ViewObject.DrawStyle = "Dashed"


B5 = Draft.makeBezCurve([p1, p2, p3, p4, p5, p6], degree=3)
B5 = Draft.make_bezcurve([p1, p2, p3, p4, p5, p6], degree=3)
B5.Label = "B_cub+quad"
B5.Label = "B_cub+quad"
B5.ViewObject.DrawStyle = "Dotted"
B5.ViewObject.DrawStyle = "Dotted"


B6 = Draft.makeBezCurve([p1, p2, p3, p4, p5, p6, p7], degree=3)
B6 = Draft.make_bezcurve([p1, p2, p3, p4, p5, p6, p7], degree=3)
B6.Label = "B_cub+cub"
B6.Label = "B_cub+cub"
B6.ViewObject.LineWidth = 2
B6.ViewObject.LineWidth = 2


B7 = Draft.makeBezCurve([p1, p2, p3, p4, p5, p6, p7, p8], degree=3)
B7 = Draft.make_bezcurve([p1, p2, p3, p4, p5, p6, p7, p8], degree=3)
B7.Label = "B_cub+cub+lin"
B7.Label = "B_cub+cub+lin"
B7.ViewObject.DrawStyle = "Dashed"
B7.ViewObject.DrawStyle = "Dashed"

App.ActiveDocument.recompute()
doc.recompute()
}}
}}



<div class="mw-translate-fuzzy">
{{Docnav/fr
{{Docnav/fr
|[[Draft BezCurve/fr|Courbe de Bézier]]
|[[Draft_BSpline/fr|B-spline]]
|[[Draft_Label/fr|Etiquette]]
|[[Draft_BezCurve/fr|Courbe de Bézier]]
|[[Draft_Module/fr|Atelier Draft]]
|[[Draft_Workbench/fr|Atelier Draft]]
|IconL=Draft BezCurve.svg
|IconL=Draft_BSpline.svg
|IconR=Draft_BezCurve.svg
|IconC=Workbench_Draft.svg
|IconC=Workbench_Draft.svg
|IconR=Draft_Label.svg
}}
}}
</div>

{{Draft Tools navi/fr}}

{{Userdocnavi/fr}}


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

Latest revision as of 08:39, 9 December 2023

Draft Courbe de Bézier cubique

Emplacement du menu
Draft → Outils de Bézier → Courbe de Bézier cubique
Ateliers
Draft, Arch
Raccourci par défaut
Aucun
Introduit dans la version
0.19
Voir aussi
Draft Courbe de Bézier, Draft B-spline

Description

La commande Courbe de Bézier cubique crée une Courbe de Bézier du troisième degré (quatre points requis).

La courbe de Bézier est l'une des courbes les plus utilisées en infographie. Cette commande vous permet de créer une courbe continue composée de plusieurs segments de Bézier du 3e degré, d'une manière similaire à l'outil Bézier de Inkscape. Une courbe de Bézier générale de n'importe quel degré peut être créée avec la commande Draft Courbe de Bézier.

Les commandes Draft Courbe de Bézier et Draft Courbe de Bézier cubique utilisent des points de contrôle pour définir la position et la courbure de la spline. La commande Draft B-spline, quant à elle, spécifie les points exacts par lesquels la courbe passera.

Spline constituée de trois segments cubiques de Bézier. Le premier segment est défini par quatre points. Les segments suivants réutilisent deux points du segment précédent et ne nécessitent donc que deux points supplémentaires.

Utilisation

Voir aussi : Draft La barre, Draft Aimantation et Draft Contrainte.

  1. Il existe plusieurs façons de lancer la commande :
    • Appuyez sur le bouton Courbe de Bézier cubique.
    • Sélectionnez la Draft → Outils de Bézier → Courbe de Bézier cubique du menu.
  2. Le panneau de tâches Courbe cubique de Bézier s'ouvre. Voir Options pour plus d'informations.
  3. Il n'est pas possible de saisir des points via le panneau de tâches.
  4. Pour les modes de navigation par la souris suivants, une touche du clavier doit être maintenue enfoncée :
    • Si vous utilisez le mode OpenInventor, la touche Ctrl doit être maintenue enfoncée pendant toute la durée de la commande.
    • Si vous utilisez le mode Gestuel, la touche Alt doit être maintenue enfoncée pour chaque séquence de clic et de relâchement, mais il est également possible de maintenir cette touche enfoncée pendant toute la durée de la commande.
  5. Choisissez le premier point dans la vue 3D et maintenez le bouton de la souris (1), il s'agit du premier point.
  6. Faites glisser le pointeur vers un autre point de la vue 3D et relâchez le bouton de la souris (2), il s'agit du premier point de contrôle.
  7. Déplacez le pointeur vers un autre point dans la vue 3D, choisissez ce point et maintenez le bouton de la souris (3), il s'agit du deuxième point d'extrémité.
  8. Déplacez le pointeur vers un autre point dans la vue 3D pour ajuster la courbure finale du segment et relâchez le bouton de la souris (4), il s'agit du deuxième point de contrôle.
  9. Vous avez maintenant une courbe de Bézier du 3ème degré.
  10. Vous pouvez répéter le processus de cliquer et de maintenir (5), puis de faire glisser et de relâcher (6) pour ajouter d'autres segments.
  11. Chaque segment suivant utilisera le deuxième point d'extrémité et le deuxième point de contrôle du segment précédent comme premier point d'extrémité et premier point de contrôle respectivement.
  12. Appuyez sur Echap ou sur le bouton Fermer pour terminer la commande.

Options

Voir Draft Courbe de Bézier.

Notes

  • Une Draft Courbe de Bézier cubique peut être éditée avec la commande Draft Éditer.

Propriétés

Voir Draft Courbe de Bézier.

Script

Voir aussi : Autogenerated API documentation et FreeCAD Débuter avec les scripts.

Voir Draft Courbe de Bézier pour des informations générales. Une courbe de Bézier cubique est créée en passant l'option degré=3 à makeBezCurve().

Pour chaque segment de Bézier cubique, il faut utiliser quatre points dont les deux points extrêmes indiquent le passage de la spline et où les deux points intermédiaires sont des points de contrôle.

  • Si seulement 3 points sont donnés, cela crée une courbe de Bézier quadratique, avec un seul point de contrôle.
  • Si seulement 2 points sont donnés, cela crée une courbe de Bézier linéaire, c'est-à-dire une ligne droite.
  • Si 5 points sont donnés, les 4 premiers créent un segment de Bézier cubique; les 4ème et 5ème points sont utilisés pour créer une ligne droite.
  • Si 6 points sont donnés, les 4 premiers créent un segment de Bézier cubique; le 4ème et les deux autres points sont utilisés pour créer un segment de Bézier quadratique.
  • Si 7 points sont donnés, les 4 premiers créent un segment de Bézier cubique; le 4ème et les trois autres points sont utilisés pour créer un deuxième segment de Bézier cubique.
  • En général, le dernier point d'un groupe de quatre est partagé avec les trois points suivants au maximum pour créer un autre segment de Bézier.
  • Pour avoir des courbes lisses, sans segment droit, le nombre de points doit être 3n + 1 ou 3nn est le nombre de segments, pour n >= 1.

Exemples de courbes de Bézier produites en utilisant 2, 3, 4, 5, 6, 7 et 8 points. Les lignes continues indiquent les segments de Bézier cubiques. Les autres lignes sont quadratiques ou linéaires.

Exemple:

import FreeCAD as App
import Draft

doc = App.newDocument()

p1 = App.Vector(-3500, 0, 0)
p2 = App.Vector(-3000, 2000, 0)
p3 = App.Vector(-1100, 2000, 0)
p4 = App.Vector(0, 0, 0)

p5 = App.Vector(1500, -2000, 0)
p6 = App.Vector(3000, -1500, 0)
p7 = App.Vector(5000, 0, 0)
p8 = App.Vector(6000, 1500, 0)
rot = App.Rotation()

c1 = Draft.make_circle(100, placement=App.Placement(p1, rot), face=False)
c1.Label = "B1_E1"
c2 = Draft.make_circle(50, placement=App.Placement(p2, rot), face=True)
c2.Label = "B1_c1"
c3 = Draft.make_circle(50, placement=App.Placement(p3, rot), face=True)
c3.Label = "B1_c2"
c4 = Draft.make_circle(100, placement=App.Placement(p4, rot), face=False)
c4.Label = "B1_E2"
c5 = Draft.make_circle(50, placement=App.Placement(p5, rot), face=True)
c5.Label = "B2_c3"
c6 = Draft.make_circle(50, placement=App.Placement(p6, rot), face=True)
c6.Label = "B2_c4"
c7 = Draft.make_circle(100, placement=App.Placement(p7, rot), face=False)
c7.Label = "B2_E3"
c8 = Draft.make_circle(50, placement=App.Placement(p8, rot), face=True)
c8.Label = "B3_c5"

doc.recompute()

B1 = Draft.make_bezcurve([p1, p2], degree=3)
B1.Label = "B_lin"
B1.ViewObject.DrawStyle = "Dashed"

B2 = Draft.make_bezcurve([p1, p2, p3], degree=3)
B2.Label = "B_quad"
B2.ViewObject.DrawStyle = "Dotted"

B3 = Draft.make_bezcurve([p1, p2, p3, p4], degree=3)
B3.Label = "B_cub"
B3.ViewObject.LineWidth = 4

B4 = Draft.make_bezcurve([p1, p2, p3, p4, p5], degree=3)
B4.Label = "B_cub+lin"
B4.ViewObject.DrawStyle = "Dashed"

B5 = Draft.make_bezcurve([p1, p2, p3, p4, p5, p6], degree=3)
B5.Label = "B_cub+quad"
B5.ViewObject.DrawStyle = "Dotted"

B6 = Draft.make_bezcurve([p1, p2, p3, p4, p5, p6, p7], degree=3)
B6.Label = "B_cub+cub"
B6.ViewObject.LineWidth = 2

B7 = Draft.make_bezcurve([p1, p2, p3, p4, p5, p6, p7, p8], degree=3)
B7.Label = "B_cub+cub+lin"
B7.ViewObject.DrawStyle = "Dashed"

doc.recompute()