Sketcher ConstrainCoincident/fr

Description
Créer une contrainte de coïncidence entre les éléments sélectionnés.

Cet outil de contrainte prend deux points comme argument et sert à faire coïncider les deux points. (Dans le but de faire comme un seul point).

En pratique, cet outil est utile lorsqu'il y a une rupture dans un profil par exemple - où deux lignes se terminent  l'une près de l'autre et doivent être jointes - une contrainte coïncidente sur leurs points d'extrémité comblera l'écart.

Utilisation
Comme indiqué ci-dessus, cet outil prend deux arguments - les deux, sont des points.

la commande fera que les deux points deviendront coïncidents et seront remplacés par un seul point.
 * 1) Tout d'abord, il est nécessaire de sélectionner deux points distincts. ( cela ne fonctionnera pas si, par exemple, vous essayez de sélectionner le début et la fin de la même ligne).
 * 2) Sélectionnez un élément de dessin est réalisé en déplaçant la souris sur l'élément et en cliquant sur le bouton gauche de la souris.# Un élément en surbrillance changera sa couleur en vert. (Cette couleur peut être personnalisée dans )
 * 3) Les éléments suivants peuvent être mis en évidence en répétant les procédures ci-dessus.  il n'est pas nécessaire de maintenir enfoncée une touche spéciale telle que  pour effectuer une sélection d'éléments multiples dans un dessin.
 * 4) Une fois que vous avez mis en évidence deux points, vous pouvez appeler la commande à l'aide de plusieurs méthodes:
 * 5) * En appuyant sur le bouton de contrainte  dans la barre d'outils.
 * 6) * Utilisation du raccourci clavier.
 * 7) * Utilisation de l'entrée  dans le menu supérieur.

Pour que deux points coïncident, FreeCAD doit nécessairement déplacer un (ou les deux) des points d'origine.

Scriptage général
Les contraintes peuvent être créées à partir de macros et de la console python en utilisant la fonction suivante:

où :
 * est un objet d'esquisse
 * est le numéro de la ligne qui ne bougera pas en appliquant la contrainte
 * est le numéro du sommet de la ligne devant remplir la contrainte
 * est le numéro de la ligne qui se déplacera en appliquant la contrainte
 * est le numéro de la ligne qui doit remplir la contrainte

Le problème principal en utilisant cette fonction est d'identifier correctement le numéro de ligne et le nombre de vertex des lignes que vous voulez traiter.

Le paragraphe suivant vous expliquera comment identifier la numérotation d'une ligne et d'un sommet d'une ligne.

Identifier le numero de la line
J'ai dessiné trois lignes comme indiqué dans la figure suivante.



En déplaçant le curseur de la souris au-dessus de la ligne, vous pouvez voir le numéro de la ligne en bas à gauche des fenêtres FreeCAD, voir la figure suivante.



Malheureusement la numérotation affichée sur les fenêtres de FreeCAD commence à partir de 1 alors que la numérotation de la ligne utilisée pour le script commence à partir de 0: cela signifie que vous devez en récupérer une chaque fois que vous voulez faire référence à une ligne.

Identifier la numérotation des sommets d'une ligne
Les sommets d'une ligne ne peuvent avoir que la valeur 1 ou 2. (Notez que la numérotation des sommets ne commence pas à 0, car en ce qui concerne les contraintes 0= Edge (bord) donc pas un sommet, 1 = point de départ du sommet, 2 = point d'arrivée du sommet, 3 = point médian qui n'est pas un sommet) Les sommets sont numérotés selon leur ordre de création.Pour connaître l'ordre de leur création (Si vous avez beaucoup de lignes, vous ne pouvez pas vous souvenir du sommet que vous avez créé en premier), il vous suffit de déplacer le curseur de votre souris au-dessus des deux sommets d'une ligne.



Si vous lisez par exemple 4 et 5, cela signifie que le sommet 4 sera référencé en utilisant le numéro 1 dans la commande de script et le sommet 5 sera référencé en utilisant le numéro 2 dans la commande de script. Etc

Exemples
Prenons l'exemple précédent des trois lignes. La figure suivante indique la numérotation de chaque ligne et de leurs sommets selon la convention de script.



La commande donne le résultat suivant:



La commande donne le résultat suivant: