Sketcher ConstrainPerpendicular/it: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(51 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
{{GuiCommand/it|Name=Constraint Perpendicular|Name/it=Perpendicolare|Workbenches=[[Sketcher Workbench/it|Schizzo]], [[PartDesign Workbench/it|PartDesign]]|MenuLocation=PartDesign → Schizzo → Perpendicolare|Shortcut=N|SeeAlso=[[Constraint InternalAngle/it|Angolo]]}}


<div class="mw-translate-fuzzy">
==Description==
{{Docnav/it|[[Sketcher_ConstrainParallel/it|Parallela]]|[[Sketcher ConstrainTangent/it|Tangente]]|[[Sketcher_Workbench/it|Sketcher]]|IconL=Constraint Parallel.svg|IconC=Workbench_Sketcher.svg|IconR=Constraint_Tangent.png}}
Perpendicular Constraint makes two lines to be perpendicular to each other, or two curves to be perpendicular at their intersection. Lines are treated infinite, and arcs are treated as full circles/ellipses. The constraint is also capable of connecting two curves, forcing them perpendicular at the joint, similarly to [[Constraint Tangent|Tangent Constraint]].
</div>


<div class="mw-translate-fuzzy">
==How to use==
{{GuiCommand/it|Name=Sketcher ConstrainPerpendicular|Name/it=Perpendicolare|Workbenches=[[Sketcher Workbench/it|Schizzo]], [[PartDesign Workbench/it|PartDesign]]|MenuLocation=PartDesign → Schizzo → Perpendicolare|Shortcut={{KEY|N}}|SeeAlso=[[Sketcher_ConstrainAngle/it|Angolo]]}}
There are four different ways the constraint can be applied:
</div>
# between two curves (available not for all curves)
# between two endpoints of a curve
# between a curve and an endpoint of another curve
# between two curves at user-defined point


<span id="Description"></span>
To apply perpendicular constraint, one should the follow the steps:
==Descrizione==
* Select two or three entities in the sketch.
* Invoke the constraint by clicking its icon on the toolbar, or selecting the menu item, or using keyboard shortcut.


<div class="mw-translate-fuzzy">
===Between two curves (direct perpendicularity)===
Il vincolo Perpendicolare fa sì che due linee siano perpendicolari tra loro, o che due curve siano perpendicolari al loro incrocio. Le linee sono considerate infinite, e gli archi sono considerati cerchi completi o ellissi complete. Il vincolo è anche in grado di collegare due curve, costringendole perpendicolari nel punto di unione, in modo simile al vincolo [[Sketcher ConstrainTangent/it|Tangente]].
[[Image:Sketcher ConsraintPerpendicular mode1.png|600px]]
</div>


<span id="Usage"></span>
Two curves will be made perpendicular at point of their intersection (either real, or of curves' extensions), and the point of intersection will be implicit. This mode is applied if two curves were selected.
==Utilizzo==


See also: [[Sketcher_Workbench#Drawing_aids|Drawing aids]].
'''Accepted selection:'''
* line + line, circle, arc
* circle, arc + circle, arc
If direct perpendicularity between selected curves is not supported (e.g. between a line and an ellipse), a helper point will be added to sketch automatically, and perpendicular-via-point will be applied.


===[[Sketcher_Workbench#Continue_modes|Continue mode]]===
Unlike for tangency, it is perfectly fine to reconstruct the point of perpendicularity by creating a point and constraining it to lie on both curves (thus constraining the point to the intersection).


# Make sure there is no selection.
===Between two endpoints (point-to-point perpendicularity)===
# There are several ways to invoke the tool:
[[Image:Sketcher ConsraintPerpendicular mode2.png|600px]]
#* Press the {{Button|[[Image:Sketcher_ConstrainPerpendicular.svg|16px]] [[Sketcher_ConstrainPerpendicular|Constrain perpendicular]]}} button.
#* Select the {{MenuCommand|Sketch → Sketcher constraints → [[Image:Sketcher_ConstrainPerpendicular.svg|16px]] Constrain perpendicular}} option from the menu.
#* {{Version|1.0}}: Right-click in the [[3D_view|3D view]] and select the {{MenuCommand|Constrain → [[Image:Sketcher_ConstrainPerpendicular.svg|16px]] Constrain perpendicular}} option from the context menu.
#* Use the keyboard shortcut: {{KEY|N}}.
# The cursor changes to a cross with the tool icon.
# Do one of the following:
#* Select two edges. One of the edges must be a straight line or an axis. The other can be any edge except a B-spline.
#* Select a point and two edges (in that order).
#* Select an edge, a point and another edge (idem).
# A Perpendicular constraint is added. If a point and two edges have been selected, up to two [[Sketcher_ConstrainPointOnObject|Point on object constraints]] can also be added. See [[#Between_two_edges_at_point|Examples]].
# Optionally keep creating constraints.
# To finish, right-click or press {{KEY|Esc}}, or start another geometry or constraint creation tool.


===Run-once mode===
In this mode, the endpoints are made coincident, and the joint is made to be right angle. This mode is applied when two endpoints of two curves were selected.


# Do one of the following:
'''Accepted selection:'''
#* Select two edges (see above).
* endpoint of line/arc/arc-of-ellipse + endpoint of line/arc/arc-of-ellipse (i.e., two endpoints of any two curves)
#* Select two endpoints belonging to different edges.
#* Select an edge and the endpoint of another edge (in any order).
#* Select a point and two edges (idem).
# Invoke the tool as explained above, or with the following additional option:
#* {{Version|1.0}}: Right-click in the [[3D_view|3D view]] and select the {{MenuCommand|[[Image:Sketcher_ConstrainPerpendicular.svg|16px]] Constrain perpendicular}} option from the context menu.
# A Perpendicular constraint is added. If a point and two edges have been selected, up to two [[Sketcher_ConstrainPointOnObject|Point on object constraints]] can also be added. See [[#Between_two_edges_at_point|Examples]].


==Examples==
===Between curve and endpoint (point-to-curve perpendicularity)===
[[Image:Sketcher ConsraintPerpendicular mode3.png|600px]]


<span id="Between_two_edges"></span>
In this mode, an endpoint of one curve is constrained to lie on the other curve, and the curves are forced perpendicular at the point. This mode is applied when a curve and an endpoint of another curve were selected.
<div class="mw-translate-fuzzy">
===Tra due curve (perpendicolarità diretta)===
[[Image:Sketcher ConsraintPerpendicular mode1.png|600px]]
</div>


[[Image:Sketcher_ConsraintPerpendicular_mode1.png|400px]]
'''Accepted selection:'''
* line, circle, arc, ellipse, arc-of-ellipse + endpoint of line/arc/arc-of-ellipse (i.e., any curve + endpoint of any curve)


The two edges are made perpendicular at their (virtual) intersection. If one of the edges is a [[Sketcher_Workbench#Sketcher_CompCreateConic|conic]], a [[Sketcher_CreatePoint|Point object]] that has a [[Sketcher_ConstrainPointOnObject|Point on object constraint]] with both (extended) edges is added.


<span id="Between_two_endpoints"></span>
===Between two curves at point (perpendicular-via-point) (v0.15)===
<div class="mw-translate-fuzzy">
[[Image:Sketcher ConsraintPerpendicular mode4.png|600px]]
===Tra due punti finali (perpendicolarità punto con punto)===
[[Image:Sketcher ConsraintPerpendicular mode2.png|600px]]
</div>


[[Image:Sketcher_ConsraintPerpendicular_mode2.png|400px]]
In this mode, two curves are made perpendicular, and the point of perpendicularity is tracked. This mode is applied when two curves and a point were selected.


<div class="mw-translate-fuzzy">
'''Accepted selection:'''
In questo modo, i punti finali sono coincidenti, e la congiunzione avviene ad angolo retto. Questa modalità viene applicata quando sono stati selezionati due punti finali di due curve.
* any line/curve + any line/curve + any point
</div>
"Any point" can be a lone point, or a point of something, e.g. a center of a circle, an endpoint of an arc, or the origin.


<span id="Between_edge_and_endpoint"></span>
For the constraint to work correctly, the point must be on both curves. So, as the constraint is invoked, the point will be automatically constrained onto both curves ([[Sketcher helper constraint|helper constraints]] will be added, if necessary), and the curves will be forced perpendicular at the point. These [[Sketcher helper constraint|helper constraints]] are plain regular constraints. They can be added manually, or deleted.
<div class="mw-translate-fuzzy">
===Tra una curva e un punto finale (perpendicolarità punto con curva)===
[[Image:Sketcher ConsraintPerpendicular mode3.png|600px]]
</div>


[[Image:Sketcher_ConsraintPerpendicular_mode3.png|400px]]
Compared to direct perpendicular, this constraint is slower, because there are mode degrees of freedom involved, but it supports ellipses.


<div class="mw-translate-fuzzy">
The placement of the point before the constraint is applied is a hint for the solver for where the perpendicularity should be.
In questo modo, il punto finale di una curva è vincolato a giacere sull'altra curva, e le curve sono forzate ad essere perpendicolari nel punto. Questa modalità viene applicata quando sono stati selezionati una curva e un punto finale di un'altra curva.
</div>


<span id="Between_two_edges_at_point"></span>
==Scripting==
<div class="mw-translate-fuzzy">
===Tra due curve nel punto (perpendicolarità nel punto) (v0.15)===
[[Image:Sketcher ConsraintPerpendicular mode4.png|600px]]
</div>


[[Image:Sketcher_ConsraintPerpendicular_mode4.png|400px]]
Perpendicular Constraint can be created from [[macros]] and from the python console by using the following:

<div class="mw-translate-fuzzy">
Questo modo rende perpendicolari due curve, e il punto di tangenza è monitorato. Questa modalità viene applicata quando sono state selezionate due curve e un punto.
</div>

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

<div class="mw-translate-fuzzy">
I vincoli di perpendicolarità possono essere creati con le [[macros/it|macro]] e dalla [[FreeCAD_Scripting_Basics/it|console di Python]] utilizzando la seguente funzione:
</div>
{{Code|code=
{{Code|code=
# direct perpendicularity
# direct perpendicularity
Line 75: Line 116:
Sketch.addConstraint(Sketcher.Constraint('PerpendicularViaPoint',icurve1,icurve2,geoidpoint,pointpos))
Sketch.addConstraint(Sketcher.Constraint('PerpendicularViaPoint',icurve1,icurve2,geoidpoint,pointpos))
}}
}}
<div class="mw-translate-fuzzy">
where:
Dove:
:* <tt>Sketch</tt> is a sketch object
:* <tt>Sketch</tt> è un oggetto sketch
:* <tt>icurve1, icurve2</tt> are two integers identifying the curves to be made perpendicular. The integers are indexes in the sketch (the value, returned by Sketch.addGeometry).
:* <tt>icurve1, icurve2</tt> sono due numeri interi che identificano le curve da rendere perpendicolari. I numeri interi sono gli indici nello schizzo (il valore, reso da Sketch.addGeometry).
:* <tt>pointpos1, pointpos2</tt> should be 1 for start point and 2 for end point.
:* <tt>pointpos1, pointpos2</tt> dovrebbe essere 1 per il punto iniziale e 2 per il punto finale.
:* <tt>geoidpoint</tt> and <tt>pointpos</tt> in PerpendicularViaPoint are the indexes specifying the point of perpendicularity.
:* <tt>geoidpoint</tt> and <tt>pointpos</tt> in PerpendicularViaPoint sono gli indici che specificano il punto di perpendicolarità.
</div>


The [[Sketcher_scripting|Sketcher scripting]] page explains the values which can be used for {{incode|icurve1}}, {{incode|icurve2}}, {{incode|pointpos1}}, {{incode|pointpos2}} and {{incode|geoidpoint}}, and contains further examples on how to create constraints from Python scripts.
{{clear}}

<languages/>

<div class="mw-translate-fuzzy">
{{Docnav/it|[[Sketcher_ConstrainParallel/it|Parallela]]|[[Sketcher ConstrainTangent/it|Tangente]]|[[Sketcher_Workbench/it|Sketcher]]|IconL=Constraint Parallel.svg|IconC=Workbench_Sketcher.svg|IconR=Constraint_Tangent.png}}
</div>

{{Sketcher_Tools_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 14:58, 23 April 2024

Perpendicolare

Posizione nel menu
PartDesign → Schizzo → Perpendicolare
Ambiente
Schizzo, PartDesign
Avvio veloce
N
Introdotto nella versione
-
Vedere anche
Angolo

Descrizione

Il vincolo Perpendicolare fa sì che due linee siano perpendicolari tra loro, o che due curve siano perpendicolari al loro incrocio. Le linee sono considerate infinite, e gli archi sono considerati cerchi completi o ellissi complete. Il vincolo è anche in grado di collegare due curve, costringendole perpendicolari nel punto di unione, in modo simile al vincolo Tangente.

Utilizzo

See also: Drawing aids.

Continue mode

  1. Make sure there is no selection.
  2. There are several ways to invoke the tool:
    • Press the Constrain perpendicular button.
    • Select the Sketch → Sketcher constraints → Constrain perpendicular option from the menu.
    • introduced in version 1.0: Right-click in the 3D view and select the Constrain → Constrain perpendicular option from the context menu.
    • Use the keyboard shortcut: N.
  3. The cursor changes to a cross with the tool icon.
  4. Do one of the following:
    • Select two edges. One of the edges must be a straight line or an axis. The other can be any edge except a B-spline.
    • Select a point and two edges (in that order).
    • Select an edge, a point and another edge (idem).
  5. A Perpendicular constraint is added. If a point and two edges have been selected, up to two Point on object constraints can also be added. See Examples.
  6. Optionally keep creating constraints.
  7. To finish, right-click or press Esc, or start another geometry or constraint creation tool.

Run-once mode

  1. Do one of the following:
    • Select two edges (see above).
    • Select two endpoints belonging to different edges.
    • Select an edge and the endpoint of another edge (in any order).
    • Select a point and two edges (idem).
  2. Invoke the tool as explained above, or with the following additional option:
  3. A Perpendicular constraint is added. If a point and two edges have been selected, up to two Point on object constraints can also be added. See Examples.

Examples

Tra due curve (perpendicolarità diretta)

The two edges are made perpendicular at their (virtual) intersection. If one of the edges is a conic, a Point object that has a Point on object constraint with both (extended) edges is added.

Tra due punti finali (perpendicolarità punto con punto)

In questo modo, i punti finali sono coincidenti, e la congiunzione avviene ad angolo retto. Questa modalità viene applicata quando sono stati selezionati due punti finali di due curve.

Tra una curva e un punto finale (perpendicolarità punto con curva)

In questo modo, il punto finale di una curva è vincolato a giacere sull'altra curva, e le curve sono forzate ad essere perpendicolari nel punto. Questa modalità viene applicata quando sono stati selezionati una curva e un punto finale di un'altra curva.

Tra due curve nel punto (perpendicolarità nel punto) (v0.15)

Questo modo rende perpendicolari due curve, e il punto di tangenza è monitorato. Questa modalità viene applicata quando sono state selezionate due curve e un punto.

Script

I vincoli di perpendicolarità possono essere creati con le macro e dalla console di Python utilizzando la seguente funzione:

# direct perpendicularity
Sketch.addConstraint(Sketcher.Constraint('Perpendicular',icurve1,icurve2))

# point-to-point perpendicularity
Sketch.addConstraint(Sketcher.Constraint('Perpendicular',icurve1,pointpos1,icurve2,pointpos2))

# point-to-curve perpendicularity
Sketch.addConstraint(Sketcher.Constraint('Perpendicular',icurve1,pointpos1,icurve2))

# perpendicular-via-point (plain constraint, helpers are not added automatically)
Sketch.addConstraint(Sketcher.Constraint('PerpendicularViaPoint',icurve1,icurve2,geoidpoint,pointpos))

Dove:

  • Sketch è un oggetto sketch
  • icurve1, icurve2 sono due numeri interi che identificano le curve da rendere perpendicolari. I numeri interi sono gli indici nello schizzo (il valore, reso da Sketch.addGeometry).
  • pointpos1, pointpos2 dovrebbe essere 1 per il punto iniziale e 2 per il punto finale.
  • geoidpoint and pointpos in PerpendicularViaPoint sono gli indici che specificano il punto di perpendicolarità.

The Sketcher scripting page explains the values which can be used for icurve1, icurve2, pointpos1, pointpos2 and geoidpoint, and contains further examples on how to create constraints from Python scripts.