Commands  ›  Clash Manager / Solver  ›  Clash Solver Check Angle90 Through Wall Close Issue

Clash Solver Check Angle90 Through Wall Close Issue

Clash Manager / Solver writes to model Public API · not yet exposed

Coming soon

Before you run this

Active document; clash id resolves in staging DB; pair still in the model.

After it runs

No model geometry mutation; clashes table row may transition to state='ignored'.

When to use this

Don't use this when

Non-wall clashes — the helper will emit reason='not_wall_service_pair'.

Inputs

NameKindTypeRequiredDefaultDescription
PresetKind config string no "clash_tolerances" Deterministic config preset

Decision flow

1) clash id required; load ClashRecord; WireError if missing.
2) Resolve UidA + UidB in doc; WireError if either missing.
3) Call KeepAngleSteppedRouteOptions.Classify(a, b, angle_tolerance_deg).
4) If verdict.IsPerpendicular && verdict.FullyThroughWall →
     repo.TransitionState(clashId, 'ignored', "angle_90_through_wall: angle={angle_deg} deg, penetration={pen_ft} ft.").
   Else: no transition; emit diagnostic.
5) Tracker outputs + TaskDialog on Human path.
6) Never throws on a reason-based no-op; only WireFault on exception.

What you'll see in the chat

on start
Classifying clash as perpendicular-through-wall…
thinking
Loading clash row + pair elements…
Delegating to KeepAngleSteppedRouteOptions…
on success
qualifies={qualifies} reason={reason}
on failure
Angle-90 classification failed: {error}

REST API

Not yet exposed

This command does not carry a [RestApi] attribute today. Once tagged, this section will auto-populate with:

  • POST /api/v1/commands/clash_solver_check_angle90_through_wall_close_issue
  • Request body schema (from [RestApiParam])
  • Response schema (from [RestApiResponse])
  • curl / JS / Python code examples

Keywords & intent patterns

clashsolvercheckangle90throughwallcloseissue · close 90 through wall · auto-close perpendicular penetration

PillarClash Manager / Solver