fix(doc): pieces of a body cut apart again get names of their own (#512)
When a body that was already cut into pieces is cut again, the new pieces are numbered past the names already taken ("Bar (2)"), instead of reusing "Bar (1)".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9f88537927
commit
f93577ad70
2 files changed
+23
-2
No files matched your search
@@ -96,6 +96,20 @@ fn join_extrude_from_a_chamfered_top_face() {
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn a_body_cut_in_pieces_twice_gets_pieces_of_their_own_names() {
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "solid.box", json!({"length": 40, "width": 5, "height": 5, "body_name": "Bar"}));
|
||||
for x in [10, 25] {
|
||||
run(&mut s, "solid.box", json!({"corner": [x, -1, -1], "length": 2, "width": 7, "height": 7, "body_name": "Gap"}));
|
||||
run(&mut s, "solid.combine", json!({"target": "Bar", "tools": ["Gap"], "operation": "cut"}));
|
||||
}
|
||||
let names: Vec<String> = s.model.state().bodies.iter().map(|b| b.name.clone()).collect();
|
||||
let unique: std::collections::BTreeSet<&String> = names.iter().collect();
|
||||
assert_eq!(unique.len(), 3, "{names:?}");
|
||||
assert!(names.contains(&"Bar (2)".to_string()), "{names:?}");
|
||||
}
|
||||
|
||||
/// A join that bridges two bodies makes them one body, not an overlap of the first and the second.
|
||||
#[test]
|
||||
fn join_bridging_two_bodies_merges_them() {
|
||||
|
||||
Reference in new issue
Block a user