Sketcher ConstrainCoincident/it: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>

<div class="mw-translate-fuzzy">
{{Docnav/it|[[Sketcher_ToggleConstruction/it|Modalità costruzione]]|[[Sketcher ConstrainPointOnObject/it|Punto su oggetto]]|[[Sketcher_Workbench/it|Sketcher]]|IconL=Sketcher_ToggleConstruction.svg|IconC=Workbench_Sketcher.svg|IconR=Constraint_PointOnObject.svg}}
{{Docnav/it|[[Sketcher_ToggleConstruction/it|Modalità costruzione]]|[[Sketcher ConstrainPointOnObject/it|Punto su oggetto]]|[[Sketcher_Workbench/it|Sketcher]]|IconL=Sketcher_ToggleConstruction.svg|IconC=Workbench_Sketcher.svg|IconR=Constraint_PointOnObject.svg}}
</div>


<div class="mw-translate-fuzzy">
{{GuiCommand/it
{{GuiCommand/it
|Name=Sketcher_ConstrainCoincident
|Name=Sketcher_ConstrainCoincident
Line 10: Line 14:
|SeeAlso=[[Sketcher_ConstrainBlock/it|Blocca]], [[Sketcher ConstrainPointOnObject/it|Punto su oggetto]]
|SeeAlso=[[Sketcher_ConstrainBlock/it|Blocca]], [[Sketcher ConstrainPointOnObject/it|Punto su oggetto]]
}}
}}
</div>


<span id="Description"></span>
==Descrizione==
==Descrizione==


The [[Image:Sketcher_ConstrainCoincident.svg|24px]] [[Sketcher_ConstrainCoincident|Sketcher ConstrainCoincident]] command creates a coincident constraint between points, or ({{Version|0.21}}) a concentric constraint between circles, arcs and/or ellipses (by making their centers coincident).
Crea un vincolo di Coincidenza di punti sull'elemento selezionato


{{Version|0.22}}: This command is replaced by the [[Sketcher_ConstrainCoincidentUnified|Sketcher ConstrainCoincidentUnified]] command if the {{MenuCommand|Unify Coincident and PointOnObject}} option is selected in the [[Sketcher_Preferences#General|Sketcher Preferences]].
Questo strumento di vincolo richiede e accetta come argomento due punti e serve per rendere i due punti ''coincidenti''. (Nel senso di trasformarli in un unico punto.)


<span id="Usage"></span>
Nella pratica è utile quando un profilo è interrotto - per esempio dove due punti di finelinea sono uno accanto all'altro, ma le linee devono essere unite. In questo caso, un vincolo di coincidenza sui rispettivi punti finali chiude la breccia.
==Utilizzo==


# Optionally do one of the following:
==Utilizzo==
#* Select two or more points.
#* Select two or more edges of circles, arcs, ellipses or arcs of ellipses.
# There are several ways to invoke the command:
#* Press the {{Button|[[Image:Sketcher_ConstrainCoincident.svg|16px]] [[Sketcher_ConstrainCoincident|Constrain coincident]]}} button.
#* Select the {{MenuCommand|Sketch → Sketcher constraints → [[Image:Sketcher_ConstrainCoincident.svg|16px]] Constrain coincident}} option from the menu.
#* Use the keyboard shortcut: {{KEY|C}}.
# To indicate that the command has been activated the cursor changes to a white cross with the command icon.
# Optionally keep selecting elements. You can only select two elements at a time now.
# To finish the command press {{KEY|Esc}} or the right mouse button, or start a another constraints or geometries command.


== Alternatives to Coincident constraint ==
Come detto in precedenza, questo strumento richiede due argomenti e entrambi devono essere dei punti.
#In primo luogo è necessario evidenziare due punti distinti. (Nota: lo strumento non funziona quando si tenta di selezionare il punto iniziale e quello finale della stessa linea).
#Per evidenziare un elemento del disegno, spostare il mouse sopra l'oggetto e fare clic con il pulsante sinistro del mouse.
#Un elemento selezionato assume il colore verde. Il colore è modificabile da {{MenuCommand|Modifica → Preferenze → Visualizzazione → Colori → Selezione}}.
#Elementi successivi possono essere selezionati ripetendo la procedura precedente. NOTA: Non è necessario tenere premuto nessun tasto speciale, tipo {{KEY|Ctrl}}, per aggiungere elementi del disegno alla selezione multipla.
#Dopo aver evidenziato due punti, si può invocare il comando in uno di questi modi:
#* Cliccare sull'icona {{Button|[[File:Sketcher_ConstrainCoincident.svg|16px]] Coincidenza}} della barra degli strumenti.
#* Usare la scorciatoia da tastiera {{KEY|C}}.
#* Usare la voce {{MenuCommand|Sketch → Vincoli → Coincidenza}} dal menu principale.
{{Emphasis|Risultato:}} il comando fa sì che i due punti diventino "coincidenti" e vengano sostituiti da un singolo punto.


Some combinations which are not possible with a coincident constraint can be emulated using other constraints:
NOTA: Per rendere due punti coincidenti, FreeCAD deve necessariamente spostare uno o entrambi i punti originali.
* The [[File:Sketcher_ConstrainSymmetric.svg|16px]] [[Sketcher_ConstrainSymmetric|Symmetric]] constraint can be used to place a start point, end point or center point on the midpoint of a straight line.

* A midpoint-to-midpoint placement of two straight lines can be achieved by creating a new [[File:Sketcher_CreatePoint.svg|16px]] [[Sketcher_CreatePoint|Point]] and using two [[File:Sketcher_ConstrainSymmetric.svg|16px]] [[Sketcher_ConstrainSymmetric|Symmetric]] constraints so that it lies on the midpoint of both lines.
==Script==
* A vertex can be constrained to lie along an edge using a [[File:Sketcher_ConstrainPointOnObject.svg|16px]] [[Sketcher_ConstrainPointOnObject|PointOnObject]] constraint. Note that with this constraint, the point can lie anywhere on the full extension of a segment or curve (i.e. also before the start point or beyond the end point).
* A collinear placement of two straight lines can be obtained by applying a [[File:Sketcher_ConstrainTangent.svg|16px]] [[Sketcher_ConstrainTangent|Tangent]] constraint to them, or by combining a [[File:Sketcher_ConstrainPointOnObject.svg|16px]] [[Sketcher_ConstrainPointOnObject|PointOnObject]] constraint and a [[File:Sketcher_ConstrainParallel.svg|16px]] [[Sketcher_ConstrainParallel|Parallel]] constraint.


<span id="Scripting"></span>
<div class="mw-translate-fuzzy">
===Script generico===
===Script generico===
Il vincolo può essere creato dalle macro e dalla console python utilizzando il seguente comando:
Il vincolo può essere creato dalle macro e dalla console python utilizzando il seguente comando:
</div>

The constraint can be created from [[Macros|macros]] and from the [[Python|Python]] console by using the following command:

{{Code|code=Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving)) }}
{{Code|code=Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving)) }}

<div class="mw-translate-fuzzy">
dove:
dove:
* {{incode|Sketch}} è un oggetto schizzo.
* {{incode|Sketch}} è un oggetto schizzo.
Line 45: Line 62:
* {{incode|LineMoving}} è il numero della linea che si sposterà applicando il vincolo.
* {{incode|LineMoving}} è il numero della linea che si sposterà applicando il vincolo.
* {{incode|PointOfLineMoving}} è il numero della linea {{incode|LineMoving}} che deve soddisfare il vincolo.
* {{incode|PointOfLineMoving}} è il numero della linea {{incode|LineMoving}} che deve soddisfare il vincolo.
</div>


As the names {{incode|LineFixed}} and {{incode|LineMoving}} indicate, if both constrained vertices are free to move in any direction, the first one (first to be selected in the Gui) will remain fixed and the other one will move. In the presence of existing constraints, however, both edges may move.
Il problema principale utilizzando questa funzione è quella di identificare correttamente il numero delle linee e il numero dei vertici delle linee che si desiderano elaborare.

Il paragrafo successivo spiega come identificare il numero di una linea e di un vertice di una linea.

===Identificare il numero di una linea===

Disegnare tre linee come mostrato nella figura seguente.

[[File:PartDesignConstraintPointOnPointScriptingFigure1.jpg|600px]]

Spostando il cursore del mouse sopra la linea si può vedere il suo numero in basso a sinistra nella finestra di FreeCAD, come nella figura seguente.

[[File:PartDesignConstraintPointOnPointScriptingFigure2.jpg|600px]]

Purtroppo la numerazione che compare nelle finestre di FreeCAD parte da 1, mentre la numerazione della linea utilizzata per avviare gli script parte da 0: questo significa che si deve sottrarre 1 (-1) ogni volta che si desidera fare riferimento a una determinata linea.

===Identificare il numero dei vertici di una linea===

I vertici di una linea possono avere solo il valore 1 o 2. (Non chiedetemi, perché la numerazione dei vertici non parte da 0 ...) I vertici sono numerati secondo l'ordine di creazione. Per scoprire l'ordine della loro creazione (se ci sono tante linee e non si ricorda quale vertice è stato creato prima), basta spostare il cursore del mouse sopra i due vertici di una linea, come nella figura seguente.

[[File:PartDesignConstraintPointOnPointScriptingFigure3.jpg|600px]]

Se si legge, per esempio, 4 e 5 significa che il vertice 4 sarà riferito utilizzando il numero 1 nel comando script e il vertice 5 sarà riferito utilizzando il numero 2 nel comando script. Eccetera.

=== Esempio ===

Prendiamo l'esempio precedente con le tre linee. La figura seguente indica la numerazione di ogni linea e dei loro vertici in base alla convenzione per lo scripting.

[[Image:PartDesignConstraintPointOnPointScriptingFigure3Bis.jpg|600px]]
{{Caption|<b>Testo blu:</b> numerazione della linea, <b>testo nero:</b> numerazione dei vertici}}

Il comando {{incode|Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1))}} restituisce il risultato seguente:

[[Image:PartDesignConstraintPointOnPointScriptingFigure4.jpg|600px|center]]


The [[Sketcher_scripting|Sketcher scripting]] page explains the values which can be used for {{incode|LineFixed}}, {{incode|PointOfLineFixed}}, {{incode|LineMoving}} and {{incode|PointOfLineMoving}}, and contains further examples on how to create constraints from Python scripts.
Il comando {{incode|Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,2,2))}} restituisce il risultato seguente:


[[Image:PartDesignConstraintPointOnPointScriptingFigure5.jpg|600px|center]]


<div class="mw-translate-fuzzy">
{{Docnav/it|[[Sketcher_ToggleConstruction/it|Modalità costruzione]]|[[Sketcher ConstrainPointOnObject/it|Punto su oggetto]]|[[Sketcher_Workbench/it|Sketcher]]|IconL=Sketcher_ToggleConstruction.svg|IconC=Workbench_Sketcher.svg|IconR=Constraint_PointOnObject.svg}}
{{Docnav/it|[[Sketcher_ToggleConstruction/it|Modalità costruzione]]|[[Sketcher ConstrainPointOnObject/it|Punto su oggetto]]|[[Sketcher_Workbench/it|Sketcher]]|IconL=Sketcher_ToggleConstruction.svg|IconC=Workbench_Sketcher.svg|IconR=Constraint_PointOnObject.svg}}
</div>


{{Sketcher Tools navi{{#translation:}}}}
{{Sketcher_Tools_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 13:58, 17 January 2024

Coincidenza

Posizione nel menu
Sketch → Vincoli → Coincidenza
Ambiente
Schizzo
Avvio veloce
C
Introdotto nella versione
-
Vedere anche
Blocca, Punto su oggetto

Descrizione

The Sketcher ConstrainCoincident command creates a coincident constraint between points, or (introduced in version 0.21) a concentric constraint between circles, arcs and/or ellipses (by making their centers coincident).

introduced in version 0.22: This command is replaced by the Sketcher ConstrainCoincidentUnified command if the Unify Coincident and PointOnObject option is selected in the Sketcher Preferences.

Utilizzo

  1. Optionally do one of the following:
    • Select two or more points.
    • Select two or more edges of circles, arcs, ellipses or arcs of ellipses.
  2. There are several ways to invoke the command:
    • Press the Constrain coincident button.
    • Select the Sketch → Sketcher constraints → Constrain coincident option from the menu.
    • Use the keyboard shortcut: C.
  3. To indicate that the command has been activated the cursor changes to a white cross with the command icon.
  4. Optionally keep selecting elements. You can only select two elements at a time now.
  5. To finish the command press Esc or the right mouse button, or start a another constraints or geometries command.

Alternatives to Coincident constraint

Some combinations which are not possible with a coincident constraint can be emulated using other constraints:

  • The Symmetric constraint can be used to place a start point, end point or center point on the midpoint of a straight line.
  • A midpoint-to-midpoint placement of two straight lines can be achieved by creating a new Point and using two Symmetric constraints so that it lies on the midpoint of both lines.
  • A vertex can be constrained to lie along an edge using a PointOnObject constraint. Note that with this constraint, the point can lie anywhere on the full extension of a segment or curve (i.e. also before the start point or beyond the end point).
  • A collinear placement of two straight lines can be obtained by applying a Tangent constraint to them, or by combining a PointOnObject constraint and a Parallel constraint.

Script generico

Il vincolo può essere creato dalle macro e dalla console python utilizzando il seguente comando:

The constraint can be created from macros and from the Python console by using the following command:

Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving))

dove:

  • Sketch è un oggetto schizzo.
  • LineFixed è il numero della linea, che non deve muoversi applicando il vincolo.
  • PointOfLineFixed è il numero del vertice della linea LineFixed che deve soddisfare il vincolo.
  • LineMoving è il numero della linea che si sposterà applicando il vincolo.
  • PointOfLineMoving è il numero della linea LineMoving che deve soddisfare il vincolo.

As the names LineFixed and LineMoving indicate, if both constrained vertices are free to move in any direction, the first one (first to be selected in the Gui) will remain fixed and the other one will move. In the presence of existing constraints, however, both edges may move.

The Sketcher scripting page explains the values which can be used for LineFixed, PointOfLineFixed, LineMoving and PointOfLineMoving, and contains further examples on how to create constraints from Python scripts.