Fix face Extrude Join targets in assemblies (#1375)

A new face-based Extrude Join (and outward Press Pull) joins the picked face's body by default and stores that scope, so an edge-touching neighbour is no longer tried first or absorbed. Explicit targets and participants still win. Related to #226.
This commit is contained in:
Karl Von Richter authored and GitHub committed 2026-10-15 08:33:48 -04:00
1 parent 4674f0a61c
commit 8a6332be83
10 files changed
+258 -19

No files matched your search

+4 -2
View File
@@ -3395,8 +3395,10 @@ fn dialog_commands(app: &SolveApp, d: &Dialog) -> Result<Vec<(String, Value)>, S
out.push(("solid.extrude".to_string(), with(json!({"sketch": sketch, "profiles": idx}))));
}
// Each planar body face extrudes on its own.
for p in face_points(0) {
out.push(("solid.extrude".to_string(), with(json!({ "face": p }))));
for pick in sels(d, 0) {
if let Sel::Face { body, point, .. } = pick {
out.push(("solid.extrude".to_string(), with(json!({"face": pt(*point), "face_body": body}))));
}
}
return Ok(out);
}