Draft CubicBezCurve/it: Difference between revisions
No edit summary |
No edit summary |
||
Line 56: | Line 56: | ||
== Opzioni == |
== Opzioni == |
||
Vedere [[Draft_BezCurve/it#Options|Curva di Bézier]]. |
|||
<div class="mw-translate-fuzzy"> |
|||
Vedere le opzioni in [[Draft BezCurve/it|Curva di Bezier]]. |
|||
</div> |
|||
<span id="Notes"></span> |
<span id="Notes"></span> |
Revision as of 23:47, 14 February 2023
Curva di Bézier cubica |
Posizione nel menu |
---|
Drafting → Strumenti Bezier → Curva di Bézier cubica |
Ambiente |
Draft, Arch |
Avvio veloce |
Nessuno |
Introdotto nella versione |
- |
Vedere anche |
Curva di Bézier, BSpline |
Descrizione
Il comando Curva di Bézier cubica crea una curva di Bézier di terzo grado (quattro punti richiesti).
La curva di Bézier è una delle curve più utilizzate nella computer grafica. Questo comando consente di creare una spline continua composta da diversi segmenti Bézier di 3° grado, in modo simile allo strumento Bézier in [1]. Una curva di Bézier generale di qualsiasi grado può essere creata con il comando Curva di Bézier.
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.
Spline composta da tre segmenti cubici di Bézier. Il primo segmento è definito da quattro punti. I segmenti successivi riutilizzano due punti del segmento precedente e pertanto richiedono solo due punti aggiuntivi.
Utilizzo
Vedere anche: Barra di Draft, Aggancio e Vincolare.
- Esistono diversi modi per invocare il comando:
- Premere il pulsante Curva di Bézier cubica.
- Selezionare l'opzione Drafting → Strumenti Bézier → Curva di Bézier cubica dal menu.
- Si apre il pannello delle attività Curva di Bézier cubica. Vedere Opzioni per maggiori informazioni.
- Non è possibile inserire i punti tramite il pannello delle attività.
- Per i seguenti Modelli di navigazione con mouse è necessario tenere premuto un tasto della tastiera:
- Se si sta utilizzando OpenInventor Navigation, il tasto Ctrl deve essere tenuto premuto per tutta la durata del comando.
- Se si sta utilizzando Gesture Navigation il tasto Alt deve essere tenuto premuto per ogni sequenza click-hold-release, ma è anche possibile tenere premuto questo tasto per tutta la durata del comando.
- Selezionare il primo punto nella Vista 3D e tenere premuto il pulsante del mouse (1), questo è il primo punto finale.
- Trascinare il puntatore su un altro punto nella Vista 3D e rilasciare il pulsante del mouse (2), questo è il primo punto di controllo.
- Spostare il puntatore su un altro punto nella Vista 3D, selezionare questo punto e tenere premuto il pulsante del mouse (3), questo è il secondo punto finale.
- Spostare il puntatore su un altro punto nella Vista 3D per regolare la curvatura finale del segmento e rilasciare il pulsante del mouse (4), questo è il secondo punto di controllo.
- Ora si ha una curva di Bézier di 3° grado.
- Facoltativamente ripetere il processo di clic e tenere premuto (5) e trascinare e rilasciare (6) per aggiungere più segmenti.
- Ogni segmento successivo utilizzerà rispettivamente il secondo punto finale e il secondo punto di controllo del segmento precedente come primo punto finale e primo punto di controllo.
- Premere Esc o il pulsante Chiudi per terminare il comando.
Opzioni
Vedere Curva di Bézier.
Note
- A Draft CubicBezCurve can be edited with the Draft Edit command.
Preferences
See Draft BezCurve.
Proprietà
Vedere le proprietà in Curva di Bezier.
Script
Vedere anche: Draft API e Nozioni di base sugli script di FreeCAD.
Per informazioni di carattere generale vedere Curva di Bézier. Una Bezier cubica viene creata passando l'opzione degree=3
a makeBezCurve()
.
Per ogni segmento di Bezier cubica devono essere utilizzati quattro punti, di cui i due punti estremi indicano dove passa la spline e i due punti intermedi sono punti di controllo.
- Se vengono assegnati solo 3 punti, viene invece creata una Bezier quadratica, con un solo punto di controllo..
- Se vengono assegnati solo 2 punti, viene creata una Bezier lineare, ovvero una linea retta.
- Se vengono assegnati 5 punti, i primi 4 creano un segmento di Bezier cubico; il quarto e il quinto punto vengono utilizzati per creare una linea retta.
- Se vengono assegnati 6 punti, i primi 4 creano un segmento cubico di Bezier; il quarto e gli altri due punti vengono utilizzati per creare un segmento quadratico di Bezier.
- Se vengono assegnati 7 punti, i primi 4 creano un segmento cubico di Bezier; il quarto e gli altri tre punti sono usati per creare un secondo segmento cubico di Bezier.
- In generale, l'ultimo punto in un gruppo di quattro è condiviso al massimo con i seguenti tre punti per creare un altro segmento di Bezier.
- * Per avere curve morbide, senza segmenti diritti, il numero di punti dovrebbe essere
3n + 1
o3n
, doven
è il numero di segmenti, pern >= 1
.
Esempi di curve di Bezier prodotte utilizzando 2, 3, 4, 5, 6, 7 e 8 punti. Le linee continue indicano segmenti cubici di Bezier; le altre linee sono quadratiche o lineari.
Esempio:
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
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub