DCDIAMETER/DCRADIUS: the reference flow with a real radial dimension

The commands ask for the circle or arc themselves, report the measured
size, take a dimension line location and then the value or name and
value, creating a radius or diameter dimension as the constraint's
dynamic dimension with a radN/diaN parameter, refusing a second radial
constraint on the same object and any non-positive value.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
ramox81andClaude Opus 5 committed 2026-09-22 15:21:11 +03:00
1 parent 64c020293a
commit 19204d1b2c
8 files changed
+531 -24

No files matched your search

+16
View File
@@ -1635,6 +1635,22 @@ pub enum CmdResult {
renamed: bool,
label: &'static str,
},
/// Adds a radius or diameter constraint with its dynamic radial
/// dimension and the `radN`/`diaN` parameter that drives it.
AddRadialConstraint {
circle: crate::scene::parametric_constraints::ParametricRef,
center: DVec3,
radius: f64,
/// Where the dimension line was picked; its direction from the
/// centre places the dimension.
location: DVec3,
diameter: bool,
name: String,
expression: String,
/// The user named the parameter (`name=expression`); an existing
/// name is then refused.
renamed: bool,
},
/// Adds an angular constraint with its dynamic angular dimension and
/// the `angN` parameter that drives it. Two lines: `refs` =
/// `[first_line, second_line]`, `points` = both lines' ends; three