Honor design units in sketch dimensions and measurements (#241)
* Honor design units in sketch dimensions and measurements
* fix: apply document units to specialized length controls
* Accept explicit units in length fields; document design-unit dimension values
Length fields in a design-unit control now evaluate what is typed as a
length expression: a bare number stays in the design's units, while an
explicit unit ("10 mm", "0.5 in", "1 in + 5 mm") is converted.
Document that a bare numeric sketch.dimension value from scripts, the
control channel or MCP is read in the design's units.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RjGw4gA5ZvKrU8MQP6sBgT
---------
Co-authored-by: bherbruck <brennen.herbruck@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
23 files changed
+285
-71
No files matched your search
@@ -591,7 +591,7 @@ pub fn rows(app: &mut SolveApp, ui: &mut egui::Ui, k: &mut Asm, inputs: &mut [Se
|
||||
}
|
||||
ui.end_row();
|
||||
if let Some(r) = result.as_ref() {
|
||||
interference_rows(ui, r);
|
||||
interference_rows(app, ui, r);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -623,7 +623,7 @@ fn interference(app: &mut SolveApp, picked: &[Sel]) -> (Value, Vec<Mesh>) {
|
||||
(r, meshes)
|
||||
}
|
||||
|
||||
fn interference_rows(ui: &mut egui::Ui, r: &Value) {
|
||||
fn interference_rows(app: &SolveApp, ui: &mut egui::Ui, r: &Value) {
|
||||
let t = Tokens::get();
|
||||
if let Some(e) = r.get("error").and_then(Value::as_str) {
|
||||
row_label(ui, "");
|
||||
@@ -646,7 +646,7 @@ fn interference_rows(ui: &mut egui::Ui, r: &Value) {
|
||||
ui.end_row();
|
||||
for h in hits {
|
||||
row_label(ui, &format!("{} · {}", h["a"].as_str().unwrap_or(""), h["b"].as_str().unwrap_or("")));
|
||||
ui.label(RichText::new(format!("{:.3} mm³", h["volume_mm3"].as_f64().unwrap_or(0.0))).color(t.error));
|
||||
ui.label(RichText::new(crate::prefs::show_mm(app, h["volume_mm3"].as_f64().unwrap_or(0.0), 3)).color(t.error));
|
||||
ui.end_row();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user