Est-ce que ça alourdirait beaucoup si la cote est liée aux points de l'entité, de sorte qu'elle se déplace et j'ajuste en suivant ses deux points caractéristiques?
Hello,
J'ai ajouter les cotes associative sur les extrémités. Je te laisse tester. Voici un recap de ce qui implémenté.
Récap — Cote associative (DIMASSOC)
Principe
Une cote dim_linear / dim_aligned peut lier chacune de ses extrémités à un sommet d'une autre entité. Quand cet objet bouge ou change de taille, la cote se recale toute seule (position + valeur affichée).
Comment lier une cote (à la création)
Pose l'extrémité de la cote sur une accroche-sommet OSNAP de l'objet :
extrémité, milieu, centre, quadrant
Marche aussi en cliquant directement une ligne (touche Espace). Si l'accroche est un point calculé (intersection, perpendiculaire, tangente, proche) → pas d'association (le point n'appartient à aucun objet).
Quand la cote se recale automatiquement
ÉTIRER (stretch) — même si seul un coin de l'hôte bouge
Poignée (grip)
Déplacer / Échelle / Rotation
Propriétés — y compris le champ Longueur d'une ligne (c'était le cas manquant corrigé)
L'hôte bouge même sans que la cote soit sélectionnée
Comportements aux limites
Cas Comportement
Suppression de l'hôte Cote figée à sa dernière position, pas de plantage
Copie / Collage de l'objet + cote Lien remappé vers la copie
Miroir La copie miroir perd le lien (figée)
EXPLODE d'un rectangle hôte (→ polyligne) Lien rompu
Undo / Redo, export DXF OK — le lien fait partie du JSON, l'export sort les coordonnées résolues
Point d'attention UX
Une cote associative ne se déplace pas seule : un MOVE la recale sur l'hôte. Pour repositionner la ligne de cote, tire sa poignée d'offset (le lien reste collé à la géométrie — c'est le comportement associatif voulu).
Sous le capot
assocFeatures (liste des sommets) · assocResolve (descripteur→coordonnées) · makeAssocFeature (capture au clic) · recomputeAssocDim / refreshAssocDims (recalcul) · remapAssoc (copie). Le lien est stocké dans ent.assoc = { p1:{entId,k,i}, p2:{…} }.