Draft KubischeBézierkurve
Entwurf KubischeBézKurve |
Menüeintrag |
---|
Entwurf → Bézier Werkzeuge → Kubische Bézier Kurve |
Arbeitsbereich |
Entwurf, Architektur |
Standardtastenkürzel |
Keiner |
Eingeführt in Version |
0.19 |
Siehe auch |
Entwurf BézKurve, Entwurf BSpline, |
Beschreibung
Der Draft_CubicBezCurve/de|Entwurf KubischeBézKurve-Befehl erstellt eine Bézierkurve dritten Grades (vier Punkte erforderlich).
Die Bézierkurve ist eine der am häufigsten verwendeten Kurven bei Computergrafiken. Dieser Befehl erlaubt dir eine kontinuierliche Spline aus mehreren Béziersegmenten 3. Grades zu erstellen, ähnlich dem Bézierwerkzeug in Inkscape. Eine allgemeine Bézier Kurve beliebigen Grades kann mit dem Entwurf BézKurve Befehl erstellt werden.
Der Entwurf BézKurve und der Entwurf KubischeBézKurve Befehl verwenden Kontrollpunkte, um die Position und Krümmung der Spline zu definieren. Der Entwurf BSpline Befehl andererseits legt die genauen Punkte, durch die die Kurve verläuft fest.
Spline, definiert durch drei kubische Béziersegmente. Das erste Segment wird durch vier Punkte definiert. Nachfolgende Segmente verwenden zwei Punkte aus dem vorherigen Segment wieder und benötigen daher nur zwei zusätzliche Punkte.
Anwendung
Siehe auch: Entwurf Ablage, Entwurf Fang und Entwurf beschränken.
- Drücke die Taste Entwurf KubischeBezKurve
- Klicke auf einen ersten Punkt in der 3D Ansicht und halte die Maustaste (1) gedrückt; dies ist der erste Endpunkt.
- Ziehe den Mauszeiger an einen anderen Punkt in der 3D Ansicht und lasse die Maustaste los (2); dies ist der erste Kontrollpunkt.
- Bewege den Zeiger auf einen anderen Punkt in der 3D Ansicht und klicke und halte die Maustaste auf diesen Punkt (3); dies ist der zweite Endpunkt.
- Bewege den Zeiger auf einen anderen Punkt in der 3D-Ansicht, um die endgültige Krümmung der Spline anzupassen, und lasse dann die Maustaste (4) los.
- In diesem Moment hast du bereits eine Bezier-Kurve von 3. Grad. Der Befehl kann durch Drücken von Esc oder der Taste Close abgeschlossen werden, oder Du kannst den Prozess des Klickens und Haltens (5) und des Ziehens und Loslassens (6) wiederholen, um weitere Bezier-Segmente dritten Grades hinzuzufügen.
Optionen
Siehe Entwurf BezKurve.
Hinweise
- Eine Entwurf KubischeBezKurve kann mit dem Befehl Entwurf Bearbeiten bearbeitet werden.
Einstellungen
Siehe Entwurf BezKurve.
Eigenschaften
Siehe Entwurf BezKurve.
Skripten
Siehe auch: Autogenerierte API Dokumentation und FreeCAD Grundlagen Skripten.
Siehe Entwurf BezKurve für allgemeine Information. Ein kubischer Bézier wird durch Übergabe der Option Grad=3
an makeBezCurve()
erzeugt.
Für jedes kubische Bézier-Segment müssen vier Punkte verwendet werden, von denen die beiden Extrempunkte angeben, wo der Spline durchläuft, und die beiden Zwischenpunkte Kontrollpunkte sind.
- Wenn nur 3 Punkte gegeben sind, wird stattdessen ein quadratischer Bezier mit nur einem Kontrollpunkt erzeugt.
- Wenn nur 2 Punkte gegeben sind, wird ein linearer Bézier, d. h. eine gerade Linie, erzeugt.
- Wenn 5 Punkte gegeben sind, erzeugen die ersten 4 ein kubisches Bézier-Segment; der vierte und der fünfte Punkt werden verwendet, um eine gerade Linie zu erzeugen.
- Wenn 6 Punkte gegeben sind, erzeugen die ersten 4 ein kubisches Bézier-Segment; der 4. und die beiden anderen Punkte werden verwendet, um ein quadratisches Bézier Segment zu erzeugen.
- Wenn 7 Punkte gegeben sind, erzeugen die ersten 4 ein kubisches Bézier-Segment; der 4. und die anderen drei Punkte werden verwendet, um ein zweites kubisches Bézier Segment zu erzeugen.
- Im Allgemeinen wird der letzte Punkt in einer Vierergruppe mit den folgenden drei Punkten maximal geteilt, um ein weiteres Bézier-Segment zu erzeugen.
- Um glatte Kurven ohne gerade Segmente zu erhalten, sollte die Anzahl der Punkte
3n + 1
oder3n
sein, wobein
die Anzahl der Segmente ist, fürn >= 1
.
Beispiele für Bézierkurven, die unter Verwendung von 2, 3, 4, 5, 6, 7 und 8 Punkten erstellt wurden. Die durchgezogenen Linien stellen kubische Béziersegmente dar; die anderen Linien sind quadratisch oder linear.
Beispiel:
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()
- Drafting: Line, Polyline, Fillet, Arc, Arc by 3 points, Circle, Ellipse, Rectangle, Polygon, B-spline, Cubic Bézier curve, Bézier curve, Point, Facebinder, ShapeString, Hatch
- Annotation: Text, Dimension, Label, Annotation styles, Annotation scale
- Modification: Move, Rotate, Scale, Mirror, Offset, Trimex, Stretch, Clone, Array, Polar array, Circular array, Path array, Path link array, Point array, Point link array, Edit, Subelement highlight, Join, Split, Upgrade, Downgrade, Wire to B-spline, Draft to sketch, Set slope, Flip dimension, Shape 2D view
- Draft Tray: Select plane, Set style, Toggle construction mode, AutoGroup
- Snapping: Snap lock, Snap endpoint, Snap midpoint, Snap center, Snap angle, Snap intersection, Snap perpendicular, Snap extension, Snap parallel, Snap special, Snap near, Snap ortho, Snap grid, Snap working plane, Snap dimensions, Toggle grid
- Miscellaneous: Apply current style, Layer, Manage layers, Add a new named group, Move to group, Select group, Add to construction group, Toggle normal/wireframe display, Create working plane proxy, Heal, Show snap toolbar
- Additional: Constraining, Pattern, Preferences, Import Export Preferences, DXF/DWG, SVG, OCA, DAT
- Context menu:
- Layer container: Merge layer duplicates, Add new layer
- Layer: Activate this layer, Select layer contents
- Text: Open hyperlinks
- Wire: Flatten
- Working plane proxy: Write camera position, Write objects state
- Erste Schritte
- Installation: Herunterladen, Windows, Linux, Mac, Zusätzlicher Komponenten, Docker, AppImage, Ubuntu Snap
- Grundlagen: Über FreeCAD, Graphische Oberfläche, Mausbedienung, Auswahlmethoden, Objektname, Programmeinstellungen, Arbeitsbereiche, Dokumentstruktur, Objekteigenschaften, Hilf FreeCAD, Spende
- Hilfe: Tutorien, Video Tutorien
- Arbeitsbereiche: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web