Sketcher ConstrainCoincident/it: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 1: Line 1:
<languages/>
<languages/>

<div class="mw-translate-fuzzy">
<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}}
Line 25: Line 26:
==Utilizzo==
==Utilizzo==


<div class="mw-translate-fuzzy">
Come detto in precedenza, questo strumento richiede due argomenti e entrambi devono essere dei punti.
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).
#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).
Line 35: Line 37:
#* Usare la voce {{MenuCommand|Sketch → Vincoli → Coincidenza}} dal menu principale.
#* 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.
{{Emphasis|Risultato:}} il comando fa sì che i due punti diventino "coincidenti" e vengano sostituiti da un singolo punto.
</div>


NOTA: Per rendere due punti coincidenti, FreeCAD deve necessariamente spostare uno o entrambi i punti originali.
NOTA: Per rendere due punti coincidenti, FreeCAD deve necessariamente spostare uno o entrambi i punti originali.


== Alternatives to Coincident constraint ==
==Script==


The two constrained items of a [[Sketcher ConstrainCoincident|Coincident]] constraint must be start point or end point vertices, or center points of arcs, circles or ellipses. Some combinations which are not possible with a coincident constraint can be emulated using other constraints:
* The [[File:Sketcher_ConstrainSymmetric.svg|24px]] [[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|24px]] [[Sketcher CreatePoint|Point]] and using two [[File:Sketcher_ConstrainSymmetric.svg|24px]] [[Sketcher ConstrainSymmetric|Symmetric]] constraints so that it lies on the midpoint of both lines.
* A vertex can be constrained to lie along an edge using a [[File:Sketcher_ConstrainPointOnObject.svg|24px]][[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|24px]] [[Sketcher ConstrainTangent|Tangent]] constraint to them, or by combining a [[File:Sketcher_ConstrainPointOnObject.svg|24px]] [[Sketcher ConstrainPointOnObject|PointOnObject]] constraint and a [[File:Sketcher_ConstrainParallel.svg|24px]] [[Sketcher ConstrainParallel|Parallel]] constraint.
* Two edges can be made identical by using two [[File:Sketcher_ConstrainCoincident.svg|24px]] [[Sketcher ConstrainCoincident|Coincident]] constraints, one for each pair of extremities.
* Two circles can be made identical by using a [[File:Sketcher_ConstrainCoincident.svg|24px]] [[Sketcher ConstrainCoincident|Coincident]] constraint to merge the centers, and applying an [[File:Sketcher_ConstrainEqual.svg|24px]] [[Sketcher ConstrainEqual|Equal]] constraint to their edges. For arcs, this will ensure both arcs are part of the same circle, while allowing them to have different start and end points.

<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 and from the 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 49: Line 67:
* {{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.

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===

<div class="mw-translate-fuzzy">
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.
</div>
</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.
[[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 [[Scripting Sketcher constraints in Python]] 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">
<div class="mw-translate-fuzzy">

Revision as of 19:20, 23 January 2021

Coincidenza

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

Descrizione

Crea un vincolo di Coincidenza di punti sull'elemento selezionato

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.)

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

Come detto in precedenza, questo strumento richiede due argomenti e entrambi devono essere dei punti.

  1. 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).
  2. Per evidenziare un elemento del disegno, spostare il mouse sopra l'oggetto e fare clic con il pulsante sinistro del mouse.
  3. Un elemento selezionato assume il colore verde. Il colore è modificabile da Modifica → Preferenze → Visualizzazione → Colori → Selezione.
  4. Elementi successivi possono essere selezionati ripetendo la procedura precedente. NOTA: Non è necessario tenere premuto nessun tasto speciale, tipo Ctrl, per aggiungere elementi del disegno alla selezione multipla.
  5. Dopo aver evidenziato due punti, si può invocare il comando in uno di questi modi:
    • Cliccare sull'icona Coincidenza della barra degli strumenti.
    • Usare la scorciatoia da tastiera C.
    • Usare la voce Sketch → Vincoli → Coincidenza dal menu principale.

Risultato: il comando fa sì che i due punti diventino "coincidenti" e vengano sostituiti da un singolo punto.

NOTA: Per rendere due punti coincidenti, FreeCAD deve necessariamente spostare uno o entrambi i punti originali.

Alternatives to Coincident constraint

The two constrained items of a Coincident constraint must be start point or end point vertices, or center points of arcs, circles or ellipses. 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.
  • Two edges can be made identical by using two Coincident constraints, one for each pair of extremities.
  • Two circles can be made identical by using a Coincident constraint to merge the centers, and applying an Equal constraint to their edges. For arcs, this will ensure both arcs are part of the same circle, while allowing them to have different start and end points.

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 Scripting Sketcher constraints in Python 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.