Draft Courbe de Bézier cubique
Draft Courbe de Bézier cubique |
Emplacement du menu |
---|
Draft → Outils Bézier → Courbe de Bézier cubique |
Ateliers |
Draft, Arch |
Raccourci par défaut |
Aucun |
Introduit dans la version |
0.19 |
Voir aussi |
Draft Filaire, Draft BSpline, Draft Courbe de Bézier |
Description
L'outil Courbe de Bézier cubique Draft crée une 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 Courbe de Bézier Draft.
Les outils Courbe de Bézier Draft et Courbe de Bézier cubique Draft utilisent points de contrôle pour définir la position et la courbure de la spline. D'autre part, l'outil BSpline Draft spécifie les points exacts par lesquels la courbe passera.
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.
Utilisation
- Appuyez sur le bouton 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 Echap ou sur le bouton 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.
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é.
- Le premier clic de maintien définit le premier point final.
- La première version définit le premier point de contrôle.
- Le deuxième clic de maintien définit le deuxième point final et la direction générale de la spline.
- La deuxième version définit la courbure finale de la spline.
- 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.
Notes
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.
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:
|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
Comment placer les points de contrôle exactement
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 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 Draft.makeBezCurve()
doit être utilisée. Voir la section Script.
Options
Voir les options dans Courbe de Bézier Draft.
Propriétés
Voir les propriétés de Courbe de Bézier Draft.
Script
Voir aussi: Draft API et FreeCAD Script de Base.
Voir Courbe de Bézier Draft pour les informations générales. Un cube de Bézier est créé en passant l'option degree=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
ou3n
oùn
est le nombre de segments, pourn >= 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
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.makeCircle(100, placement=App.Placement(p1, rot), face=False)
c1.Label = "B1_E1"
c2 = Draft.makeCircle(50, placement=App.Placement(p2, rot), face=True)
c2.Label = "B1_c1"
c3 = Draft.makeCircle(50, placement=App.Placement(p3, rot), face=True)
c3.Label = "B1_c2"
c4 = Draft.makeCircle(100, placement=App.Placement(p4, rot), face=False)
c4.Label = "B1_E2"
c5 = Draft.makeCircle(50, placement=App.Placement(p5, rot), face=True)
c5.Label = "B2_c3"
c6 = Draft.makeCircle(50, placement=App.Placement(p6, rot), face=True)
c6.Label = "B2_c4"
c7 = Draft.makeCircle(100, placement=App.Placement(p7, rot), face=False)
c7.Label = "B2_E3"
c8 = Draft.makeCircle(50, placement=App.Placement(p8, rot), face=True)
c8.Label = "B3_c5"
App.ActiveDocument.recompute()
B1 = Draft.makeBezCurve([p1, p2], degree=3)
B1.Label = "B_lin"
B1.ViewObject.DrawStyle = "Dashed"
B2 = Draft.makeBezCurve([p1, p2, p3], degree=3)
B2.Label = "B_quad"
B2.ViewObject.DrawStyle = "Dotted"
B3 = Draft.makeBezCurve([p1, p2, p3, p4], degree=3)
B3.Label = "B_cub"
B3.ViewObject.LineWidth = 4
B4 = Draft.makeBezCurve([p1, p2, p3, p4, p5], degree=3)
B4.Label = "B_cub+lin"
B4.ViewObject.DrawStyle = "Dashed"
B5 = Draft.makeBezCurve([p1, p2, p3, p4, p5, p6], degree=3)
B5.Label = "B_cub+quad"
B5.ViewObject.DrawStyle = "Dotted"
B6 = Draft.makeBezCurve([p1, p2, p3, p4, p5, p6, p7], degree=3)
B6.Label = "B_cub+cub"
B6.ViewObject.LineWidth = 2
B7 = Draft.makeBezCurve([p1, p2, p3, p4, p5, p6, p7, p8], degree=3)
B7.Label = "B_cub+cub+lin"
B7.ViewObject.DrawStyle = "Dashed"
App.ActiveDocument.recompute()
- Drafting : Ligne, Polyligne, Congé, Arc, Arc par 3 points, Cercle, Ellipse, Rectangle, Polygone, B-spline, Courbe de Bézier cubique, Courbe de Bézier, Point, Surfaces liées, Formes à partir de texte, Hachure
- Annotation : Texte, Dimension, Étiquette, Éditeur de styles d'annotations, Widget d'échelle d'annotation.
- Modification : Déplacer,Pivoter,Échelle,Miroir, Décalage, Ajuster ou prolonger, Étirer, Cloner, Réseau orthogonal, Réseau polaire, Réseau circulaire, Réseau selon une courbe, Réseau lié selon une courbe, Réseau de points, Réseau lié selon des points, Éditer, Surligner les sous éléments, Joindre, Scinder, Agréger, Désagréger, Polyligne vers B-spline, Draft vers esquisse, Pente, Inverser le texte de la dimension, Vue 2D d'une forme
- Barre Draft : Plan de travail, Définir le style, Basculer en mode construction, Groupement automatique
- Aimantation : Verrouillage de l'aimantation, Aimantation terminaison, Aimantation milieu, Aimantation centre, Aimantation angle, Aimantation intersection, Aimantation perpendiculaire, Aimantation extension, Aimantation parallèle, Aimantation spéciale, Aimantation au plus proche, Aimantation orthogonal, Aimantation grille, Aimantation plan de travail, Aimantation dimensions, Basculer la grille
- Utilitaires : Appliquer le style, Calque, Gestionnaire de calques, Nommer un groupe, Déplacer vers un groupe, Sélection groupée, Ajouter au groupe de construction, Mode d'affichage, Proxy de plan de travail, Réparer, Barre d'aimantation
- Additionnels : Contrainte, Motif, Préférences, Préférences d'Import Export, DXF/DWG, SVG, OCA, DAT
- Menu contextuel :
- Conteneur du calque : Fusionner les calques en double, Ajouter un nouveau calque
- Calque : Groupement automatique, Sélection groupée
- Texte : Ouvir les hyperliens
- Filaire : Aplatir
- Proxy de plan de travail : Enregistrer la position de la caméra, Enregistrer l'état des objets
- Démarrer avec FreeCAD
- Installation : Téléchargements, Windows, Linux, Mac, Logiciels supplémentaires, Docker, AppImage, Ubuntu Snap
- Bases : À propos de FreeCAD, Interface, Navigation par la souris, Méthodes de sélection, Objet name, Préférences, Ateliers, Structure du document, Propriétés, Contribuer à FreeCAD, Faire un don
- Aide : Tutoriels, Tutoriels vidéo
- Ateliers : Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test