Sketcher helper constraint/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "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. Ce...")
No edit summary
(25 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
== Vue d'ensemble ==
== Présentation ==
[[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).
[[Image:Sketcher helper constraint example1.png|thumb|500px|Exemple d'une contrainte d'aide (Contrainte5 - point sur le cercle) pour une contrainte de tangence (Contrainte6 ; en mode tangent-via-point). Une seule contrainte d'aide est utilisée dans ce cas, puisque le point de tangence est le point d'extrémité du diamètre principal de l'ellipse, qui se trouve par nature sur l'ellipse.]]


Une Aide pour contraindre est une contrainte de sketcher qui est nécessaire en tant que partie d'une contrainte plus complexe, mais qui est exposée dans l'interface utilisateur pour aider à gérer la redondance. Par exemple, pour la [[Sketcher ConstrainSnellsLaw/fr|Sketcher Contrainte de réfraction]], les deux lignes qui représentent les rayons lumineux doivent être connectées ([[Sketcher_ConstrainCoincident/fr|Sketcher Contrainte de coïncidence]]) et la jonction doit se trouver sur l'interface ([[Sketcher_ConstrainPointOnObject/fr|Sketcher Contrainte point sur objet]]).
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.]]


Les Aides pour contraindre 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é).
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 [[Constraint SnellsLaw | Snell's Law]], les deux lignes représentant les rayons lumineux doivent être connectées ([[Constraint PointOnPoint | contrainte coïncidente]]), et l'articulation doit se trouver sur l'interface ([[Contrainte PointOnObject | Point sur Objet Contrainte]]).


Si cela se produit (une Aide pour contraindre 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 défaillante peut être réparée en ajoutant manuellement la contrainte auxiliaire manquante.
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é).


Des Aides pour contraindre sont actuellement requises pour:
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.
* [[Sketcher_ConstrainTangent/fr|Sketcher Contrainte tangente]] (en mode tangent-via-point, deux contraintes point-sur-objet sont nécessaires)
* [[Sketcher_ConstrainPerpendicular/fr|Sketcher Contrainte perpendiculaire]] (en mode perpendiculaire-via-point, deux contraintes point-sur-objet sont nécessaires)
* [[Sketcher_ConstrainAngle/fr|Sketcher Contrainte angulaire]] (en mode angle-par-point, deux contraintes point-sur-objet sont nécessaires)
* [[Sketcher_ConstrainSnellsLaw/fr|Sketcher Contrainte de réfraction]] (contrainte coïncidente et contrainte point-sur-objet sont nécessaires)


== Scripting ==
Helper constraints are currently required for:
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:
* [[Constraint Tangent]] (in tangent-via-point mode; two point-on-object constraints are needed)
* [[Constraint Perpendicular]] (in perpendicular-via-point mode; two point-on-object constraints are needed)
* [[Constraint InternalAngle]] (in angle-via-point mode; two point-on-object constraints are needed)
* [[Constraint SnellsLaw]] (coincident constraint and point-on-object constraint are needed)

==Scripting==
When constraints requiring helpers are added from Python, no helper constraints are automatically added. One can replicate the automatic decision-making of the UI commands in a script by testing the following functions, specifically added for the purpose and used in the UI routines:
{{Code|code=
{{Code|code=
Sketch.isPointOnCurve(icurve,x,y)
Sketch.isPointOnCurve(icurve,x,y)
}}
}}
isPointOnCurve tests if a virtual point, given by sketch coordinates <tt>x,y</tt> (float values), happens to satisfy a virtual point-on-object constraint - i.e. lies on curve specified by curve index <tt>icurve</tt>. Returns True if the point is on curve, and False if it doesn't.
isPointOnCurve teste si un point virtuel, donné par les coordonnées d'esquisse <tt>x,y</tt> (valeurs flottantes), se trouve satisfaire une contrainte de point virtuel sur objet - c'est-à-dire se trouve sur la courbe spécifiée par l'indice de courbe <tt>icurve</tt>. Retourne True si le point se trouve sur la courbe, et False dans le cas contraire.


{{Code|code=
{{Code|code=
Sketch.calculateConstraintError(iconstr)
Sketch.calculateConstraintError(iconstr)
}}
}}
calculateConstraintError evaluates an error function of a constraint specified by its index <tt>iconstr</tt> in the sketch. If there is only one error function in the constraint, the return value is the signed return value of the error function. If there is more than one error function associated with the constraint (i.e. the constraint removes more than one degree of freedom), the return value is the RMS of all the error functions (always positive).
calculateConstraintError évalue une fonction d'erreur d'une contrainte spécifiée par son index <tt>iconstr</tt> 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 la valeur efficace de toutes les fonctions d'erreur (toujours positive).


==Version==
==Version==


Helper constraints were introduced in v0.15.4387
Les Aides pour contraindre ont été introduites en v0.15.4387


{{Sketcher Tools navi{{#translation:}}}}
[[Category:User Documentation/fr]]
{{Userdocnavi{{#translation:}}}}
{{clear}}
{{clear}}
<languages/>

Revision as of 21:15, 5 July 2021

Présentation

Exemple d'une contrainte d'aide (Contrainte5 - point sur le cercle) pour une contrainte de tangence (Contrainte6 ; en mode tangent-via-point). Une seule contrainte d'aide est utilisée dans ce cas, puisque le point de tangence est le point d'extrémité du diamètre principal de l'ellipse, qui se trouve par nature sur l'ellipse.

Une Aide pour contraindre est une contrainte de sketcher qui est nécessaire en tant que partie d'une contrainte plus complexe, mais qui est exposée dans l'interface utilisateur pour aider à gérer la redondance. Par exemple, pour la Sketcher Contrainte de réfraction, les deux lignes qui représentent les rayons lumineux doivent être connectées (Sketcher Contrainte de coïncidence) et la jonction doit se trouver sur l'interface (Sketcher Contrainte point sur objet).

Les Aides pour contraindre 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 Aide pour contraindre 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 défaillante peut être réparée en ajoutant manuellement la contrainte auxiliaire manquante.

Des Aides pour contraindre sont actuellement requises pour:

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:

Sketch.isPointOnCurve(icurve,x,y)

isPointOnCurve teste si un point virtuel, donné par les coordonnées d'esquisse x,y (valeurs flottantes), se trouve satisfaire une contrainte de point virtuel sur objet - c'est-à-dire se trouve sur la courbe spécifiée par l'indice de courbe icurve. Retourne True si le point se trouve sur la courbe, et False dans le cas contraire.

Sketch.calculateConstraintError(iconstr)

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. 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 la valeur efficace de toutes les fonctions d'erreur (toujours positive).

Version

Les Aides pour contraindre ont été introduites en v0.15.4387