forked from 1b-agent/opencadstudio-upstream
Dynamic dimensions: constant screen size, transform keeps the second constraint point
Every dynamic dimension gets a DIMSCALE override for 12 px text, refreshed per zoom band, at creation and after load. A SCALE/ROTATE of an entity whose own end points a driving dimension measures now pins its second constraint point so the dimension moves the first end, as the reference does. Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
1 parent
971abe64a4
commit
0b5c686371
6 files changed
+75
-4
No files matched your search
@@ -3688,6 +3688,7 @@ impl OpenCADStudio {
|
||||
);
|
||||
// DYNCONSTRAINTDISPLAY 0 also keeps a new dynamic dimension off screen.
|
||||
self.tabs[i].scene.refresh_hidden_dynamic_dimensions();
|
||||
self.tabs[i].scene.refresh_dynamic_dimension_scales(true);
|
||||
self.tabs[i].dirty = true;
|
||||
self.tabs[i].active_cmd = None;
|
||||
self.tabs[i].snap_result = None;
|
||||
|
||||
@@ -785,6 +785,8 @@ impl OpenCADStudio {
|
||||
pub(super) fn on_tick(&mut self, t: Instant) -> Task<Message> {
|
||||
let i = self.active_tab;
|
||||
self.tabs[i].scene.update(t - self.start);
|
||||
// Dynamic dimensions keep their screen size across zoom bands.
|
||||
self.tabs[i].scene.refresh_dynamic_dimension_scales(false);
|
||||
|
||||
// If the camera moved since we last synced, write it back to
|
||||
// the document and mark the file dirty.
|
||||
|
||||
Reference in new issue
Block a user