feat: 完善 Face 一级关系编辑和稳定性校验

This commit is contained in:
2026-08-04 18:15:29 +08:00
parent 5799d5d813
commit a76282d7dd
28 changed files with 6872 additions and 270 deletions
+8
View File
@@ -46,6 +46,14 @@ def main() -> int:
if float(near_through.get("push_pull_inward_cut_ratio") or 0.0) < 0.85:
raise SystemExit(f"near-through cut should report a high inward cut ratio: {near_through}")
large_outward = model.push_pull_plan(face_id, 11.0)
_assert_plan("large outward push/pull", large_outward, "caution", "high")
large_message = str(large_outward.get("message") or large_outward.get("warnings") or "")
if "隔离子进程" not in large_message and "OCCT" not in large_message:
raise SystemExit(f"large outward push/pull warning should explain isolated high-risk execution: {large_outward}")
if float(large_outward.get("push_pull_distance_to_owning_axis_span_ratio") or 0.0) <= 1.0:
raise SystemExit(f"large outward push/pull should report the owning-axis span ratio: {large_outward}")
through = model.push_pull_plan(face_id, -10.0)
_assert_plan("through inward cut", through, "blocked", "blocked")
message = str(through.get("message") or through.get("blockers") or "")