fix(dimension): complete ordinate workflow

This commit is contained in:
Hakan Seven 2026-08-25 21:36:04 +03:00
commit 968ee3fda4
29 changed files with 504 additions and 112 deletions

View file

@ -1279,6 +1279,12 @@ impl OpenCADStudio {
.document
.header
.dimension_associativity;
let single_source_dimension = matches!(
&entity,
acadrust::EntityType::Dimension(
acadrust::entities::Dimension::Ordinate(_)
)
);
let pending = if association_mode == 0 {
let layer = self.tabs[i].active_layer.clone();
if layer != "0" || entity.as_entity().layer().is_empty() {
@ -1339,7 +1345,13 @@ impl OpenCADStudio {
.into_iter()
.collect()
},
|source| vec![Some(source), Some(source)],
|source| {
if single_source_dimension {
vec![Some(source)]
} else {
vec![Some(source), Some(source)]
}
},
);
self.tabs[i]
.scene
@ -3117,7 +3129,6 @@ impl OpenCADStudio {
stretched |= mv(&mut d.definition_point);
}
Dimension::Ordinate(d) => {
stretched |= mv(&mut d.definition_point);
stretched |= mv(&mut d.feature_location);
stretched |= mv(&mut d.leader_endpoint);
}