Sketcher helper constraint/fr

Vue d'ensemble
[[Image: Sketcher helper constraint example1.png | thumb | 500px | Exemple de contrainte d'aide (Constraint5 - point sur cercle) pour une contrainte tangente (Constraint6; en mode tangente-par-point).

Une seule contrainte d'aide est utilisée dans ce cas, puisque le point de tangence est l'extrémité du diamètre majeur de l'ellipse, qui repose intrinsèquement sur l'ellipse.]]

La contrainte Helper est une contrainte d'esquisse régulière nécessaire dans le cadre d'une contrainte plus complexe, mais exposée dans l'interface utilisateur pour faciliter la redondance. Par exemple, pour la contrainte Snell's Law, les deux lignes représentant les rayons lumineux doivent être connectées ( contrainte coïncidente), et l'articulation doit se trouver sur l'interface ( Point sur Objet Contrainte).

Les contraintes d'aide sont ajoutées automatiquement lorsqu'elles sont nécessaires. La décision de savoir si elles sont nécessaires est actuellement prise en évaluant l'erreur de contrainte de l'assistant pour l'état actuel de la géométrie (cela peut changer dans les futures versions). Si l'erreur est suffisamment petite, la contrainte est considérée comme inutile et n'est pas ajoutée. Dans certains cas, cette logique peut entraîner des erreurs (la contrainte peut être satisfaite par accident, ce qui peut facilement se produire lorsque l'accrochage à la grille de Sketcher est activé).

Si cela se produit (une contrainte d'assistance est manquante et les conditions requises ne sont pas satisfaites dans le cas contraire), la contrainte complexe sera rompue. Cela fera quelque chose, mais le comportement réel n'est pas défini. Une telle contrainte brisée peut être réparée en ajoutant manuellement la contrainte auxiliaire manquante.

Des contraintes d'aide sont actuellement requises pour
 * Sketcher ConstrainTangent (en mode tangent-via-point, deux contraintes point-sur-objet sont nécessaires)
 * Sketcher ConstrainPerpendicular (en mode perpendiculaire-via-point, deux contraintes point-sur-objet sont nécessaires)
 * Sketcher ConstrainAngle (en mode angle-par-point, deux contraintes point-sur-objet sont nécessaires)
 * Sketcher ConstrainSnellsLaw (contrainte coïncidente et contrainte point-sur-objet)

Scripting
Lorsque des contraintes nécessitant des aides sont ajoutées à partir de Python, aucune contrainte d'aide n'est automatiquement ajoutée. On peut répliquer la prise de décision automatique des commandes de l'interface utilisateur dans un script en testant les fonctions suivantes, spécifiquement ajoutées dans le but et utilisées dans les routines de l'interface utilisateur:

isPointOnCurve teste si un point virtuel, donné par les coordonnées d'esquisse  x, y  (valeurs flottantes), satisfait une contrainte point-sur-objet virtuelle - ie se trouve sur la courbe spécifiée par l'index de courbe icurve. Renvoie True si le point est sur la courbe et False si ce n'est pas le cas.

calculateConstraintError évalue une fonction d'erreur d'une contrainte spécifiée par son index  iconstr  dans l'esquisse.

S'il n'y a qu'une seule fonction d'erreur dans la contrainte, la valeur de retour est la valeur de retour signée de la fonction d'erreur. ndex  iconstr  dans l'esquisse.

S'il n'y a qu'une seule fonction d'erreur dans la contrainte, la valeur de retour est la valeur de retour signée de la fonction d'erreur.

S'il y a plus d'une fonction d'erreur associée à la contrainte (c'est-à-dire que la contrainte supprime plus d'un degré de liberté), la valeur de retour est le RMS de toutes les fonctions d'erreur (toujours positif).

Version
Les contraintes d'aide ont été introduites dans v0.15.4387