From 38dc24336ef0a6532b2d53dd51416b4a51d09f65 Mon Sep 17 00:00:00 2001 From: Ryan Schultz Date: Sun, 17 May 2026 07:09:45 -0500 Subject: [PATCH] Add anchor gizmo dots, keymap click handler, and auto-sync for parametric dimensions - GizmoAnchorHandle + DimensionAnchorWidget: colored dot gizmos at each dimension curve vertex (green=anchored, orange=free); color changes to blue while SetDimensionAnchor is in PICK_FACE mode for that vertex - ClickNearestDimensionAnchor (LMB keymap): Python proximity operator that fires SetDimensionAnchor pre-targeted at the nearest anchor dot within 120px, returning PASS_THROUGH for misses so normal viewport clicks are unaffected - SetDimensionAnchor: added anchor_index prop to enter PICK_FACE directly; set_active_anchor called at all phase transitions (invoke, vertex-pick, face-pick, alt-click free, ESC/RMB) so gizmo color tracks state correctly - handler._sync_dimension_anchors_to_curve: proximity-based anchor sync when curve vertex count changes in Edit Mode (subdivide / delete) - depsgraph_update_post_handler: regenerates dimensions when referenced elements move; also handles annotation curve edits directly - Remove standalone Set Anchor button from annotation tool UI (replaced by clicking a gizmo dot) Co-Authored-By: Claude Sonnet 4.6 --- src/bonsai/bonsai/bim/module/drawing/workspace.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/bonsai/bonsai/bim/module/drawing/workspace.py b/src/bonsai/bonsai/bim/module/drawing/workspace.py index ee82a40184..78143348b8 100644 --- a/src/bonsai/bonsai/bim/module/drawing/workspace.py +++ b/src/bonsai/bonsai/bim/module/drawing/workspace.py @@ -262,7 +262,6 @@ class AnnotationToolUI: row.prop(ann_props, "line_position") cls.layout.separator() row = cls.layout.row(align=True) - row.operator("bim.set_dimension_anchor", icon="PIVOT_CURSOR") op = row.operator("bim.regenerate_dimensions", icon="FILE_REFRESH", text="Regenerate") op.active_only = True