Draft CubicBezCurve/it: Difference between revisions
No edit summary |
No edit summary |
||
(11 intermediate revisions by 2 users not shown) | |||
Line 42: | Line 42: | ||
# Non è possibile inserire i punti tramite il pannello delle attività. |
# Non è possibile inserire i punti tramite il pannello delle attività. |
||
# Per i seguenti [[Mouse_navigation/it|Modelli di navigazione con mouse]] è necessario tenere premuto un tasto della tastiera: |
# Per i seguenti [[Mouse_navigation/it|Modelli di navigazione con mouse]] è necessario tenere premuto un tasto della tastiera: |
||
#* Se si sta utilizzando [[Mouse_navigation/it# |
#* Se si sta utilizzando [[Mouse_navigation/it#Navigazione OpenInventor|Navigazione OpenInventor]], il tasto {{KEY|Ctrl}} deve essere tenuto premuto per tutta la durata del comando. |
||
#* Se si sta utilizzando [[Mouse_navigation/it# |
#* Se si sta utilizzando [[Mouse_navigation/it#Navigazione Gesture|Navigazione Gesture]] il tasto {{KEY|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 [[3D_view/it|Vista 3D]] e tenere premuto il pulsante del mouse (1), questo è il primo punto finale. |
# Selezionare il primo punto nella [[3D_view/it|Vista 3D]] e tenere premuto il pulsante del mouse (1), questo è il primo punto finale. |
||
# Trascinare il puntatore su un altro punto nella [[3D_view/it|Vista 3D]] e rilasciare il pulsante del mouse (2), questo è il primo punto di controllo. |
# Trascinare il puntatore su un altro punto nella [[3D_view/it|Vista 3D]] e rilasciare il pulsante del mouse (2), questo è il primo punto di controllo. |
||
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> |
||
==Note== |
==Note== |
||
* |
* Una Curva di Bézier cubica può essere modificata con il comando [[Draft_Edit/it|Modifica]]. |
||
==Preferences== |
|||
See [[Draft_BezCurve#Preferences|Draft BezCurve]]. |
|||
<span id="Properties"></span> |
<span id="Properties"></span> |
||
== Proprietà == |
== Proprietà == |
||
Vedere [[Draft_BezCurve/it#Properietà|Curva di Bézier]]. |
|||
<div class="mw-translate-fuzzy"> |
|||
Vedere le proprietà in [[Draft BezCurve/it|Curva di Bezier]]. |
|||
</div> |
|||
<span id="Scripting"></span> |
<span id="Scripting"></span> |
||
== Script == |
== Script == |
||
Vedere anche: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] e [[FreeCAD_Scripting_Basics/it|Script di base per FreeCAD]]. |
|||
<div class="mw-translate-fuzzy"> |
|||
{{Emphasis|Vedere anche:}} [[Draft API/it|Draft API]] e [[FreeCAD Scripting Basics/it|Nozioni di base sugli script di FreeCAD]]. |
|||
</div> |
|||
⚫ | |||
<div class="mw-translate-fuzzy"> |
|||
⚫ | |||
</div> |
|||
⚫ | |||
<div class="mw-translate-fuzzy"> |
|||
* Se vengono assegnati solo 3 punti, viene invece creata una Bézier quadratica, con un solo punto di controllo.. |
|||
⚫ | |||
* Se vengono assegnati solo |
* Se vengono assegnati solo 2 punti, viene creata una Bézier lineare, ovvero una linea retta. |
||
* Se vengono assegnati |
* Se vengono assegnati 5 punti, i primi 4 creano un segmento di Béezier cubico; il quarto e il quinto punto vengono utilizzati per creare una linea retta. |
||
* Se vengono assegnati |
* Se vengono assegnati 6 punti, i primi 4 creano un segmento cubico di Bézier; il quarto e gli altri due punti vengono utilizzati per creare un segmento quadratico di Bézier. |
||
* Se vengono assegnati |
* Se vengono assegnati 7 punti, i primi 4 creano un segmento cubico di Bézier; il quarto e gli altri tre punti sono usati per creare un secondo segmento cubico di Bézier. |
||
* |
* In generale, l'ultimo punto in un gruppo di quattro è condiviso al massimo con i seguenti tre punti per creare un altro segmento di Bézier. |
||
* 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 {{incode|3n + 1}} o {{incode|3n}}, dove {{incode|n}} è il numero di segmenti, per <code>n >= 1</code>. |
* * Per avere curve morbide, senza segmenti diritti, il numero di punti dovrebbe essere {{incode|3n + 1}} o {{incode|3n}}, dove {{incode|n}} è il numero di segmenti, per <code>n >= 1</code>. |
||
</div> |
|||
[[File:Draft_CubicBezCurve_API_example.png|600px]] |
[[File:Draft_CubicBezCurve_API_example.png|600px]] |
||
⚫ | |||
<div class="mw-translate-fuzzy"> |
|||
⚫ | |||
</div> |
|||
Esempio: |
Esempio: |
Latest revision as of 15:40, 8 December 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 Navigazione OpenInventor, il tasto Ctrl deve essere tenuto premuto per tutta la durata del comando.
- Se si sta utilizzando Navigazione Gesture 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
- Una Curva di Bézier cubica può essere modificata con il comando Modifica.
Proprietà
Vedere Curva di Bézier.
Script
Vedere anche: Autogenerated API documentation e Script di base per FreeCAD.
Per informazioni di carattere generale vedere Curva di Bézier. Una Bézier cubica viene creata passando l'opzione degree=3
a makeBezCurve()
.
Per ogni segmento di Bézier 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 Bézier quadratica, con un solo punto di controllo..
- Se vengono assegnati solo 2 punti, viene creata una Bézier lineare, ovvero una linea retta.
- Se vengono assegnati 5 punti, i primi 4 creano un segmento di Béezier 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 Bézier; il quarto e gli altri due punti vengono utilizzati per creare un segmento quadratico di Bézier.
- Se vengono assegnati 7 punti, i primi 4 creano un segmento cubico di Bézier; il quarto e gli altri tre punti sono usati per creare un secondo segmento cubico di Bézier.
- In generale, l'ultimo punto in un gruppo di quattro è condiviso al massimo con i seguenti tre punti per creare un altro segmento di Bézier.
- * 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 Bézier prodotte utilizzando 2, 3, 4, 5, 6, 7 e 8 punti. Le linee continue indicano segmenti cubici di Bézier; 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