diff --git a/docs/screenshots/dimension-placement/after-dimaligned.png b/docs/screenshots/dimension-placement/after-dimaligned.png new file mode 100644 index 000000000..3e5feabea Binary files /dev/null and b/docs/screenshots/dimension-placement/after-dimaligned.png differ diff --git a/docs/screenshots/dimension-placement/after-dimlinear.png b/docs/screenshots/dimension-placement/after-dimlinear.png new file mode 100644 index 000000000..12d15a7be Binary files /dev/null and b/docs/screenshots/dimension-placement/after-dimlinear.png differ diff --git a/docs/screenshots/dimension-placement/before-dimaligned.png b/docs/screenshots/dimension-placement/before-dimaligned.png new file mode 100644 index 000000000..72bb73263 Binary files /dev/null and b/docs/screenshots/dimension-placement/before-dimaligned.png differ diff --git a/docs/screenshots/dimension-placement/before-dimlinear.png b/docs/screenshots/dimension-placement/before-dimlinear.png new file mode 100644 index 000000000..ff44fdb0a Binary files /dev/null and b/docs/screenshots/dimension-placement/before-dimlinear.png differ diff --git a/src/modules/annotate/aligned_dim.rs b/src/modules/annotate/aligned_dim.rs index 2e2f3f133..ed7940633 100644 --- a/src/modules/annotate/aligned_dim.rs +++ b/src/modules/annotate/aligned_dim.rs @@ -351,6 +351,18 @@ impl CadCommand for AlignedDimensionCommand { fill_tris_low: Vec::new(), }) } + + fn dyn_spec(&self) -> Option { + if !matches!(self.step, Step::DimLine { .. }) || self.awaiting_text || self.awaiting_angle { + return None; + } + Some(crate::command::DynSpec { + anchor: crate::command::DynAnchor::LastPoint, + fields: Vec::new(), + guide: crate::command::DynGuide::None, + ref_point: None, + }) + } } fn v3(p: DVec3) -> Vector3 { diff --git a/src/modules/annotate/linear_dim.rs b/src/modules/annotate/linear_dim.rs index 7e92b0c6b..0e48e1915 100644 --- a/src/modules/annotate/linear_dim.rs +++ b/src/modules/annotate/linear_dim.rs @@ -386,6 +386,22 @@ impl CadCommand for LinearDimensionCommand { } } } + + fn dyn_spec(&self) -> Option { + if !matches!(self.step, Step::DimensionLine { .. }) + || self.awaiting_text + || self.awaiting_angle + || self.awaiting_rotation + { + return None; + } + Some(crate::command::DynSpec { + anchor: crate::command::DynAnchor::LastPoint, + fields: Vec::new(), + guide: crate::command::DynGuide::None, + ref_point: None, + }) + } } fn v3(pt: DVec3) -> Vector3 {