Commands  ›  Clash Manager / Solver  ›  Clash Solver Offset Service Toward Space By Bounding Box Edge

Clash Solver Offset Service Toward Space By Bounding Box Edge

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

Coming soon

Before you run this

Active document; one service resolvable with BoundingBox; default 3D view.

After it runs

Zero or one MoveElement inside inner Transaction.

When to use this

Don't use this when

Non-cardinal offsets — use Voxel routing.

Inputs

NameKindTypeRequiredDefaultDescription
PresetKind config string no "clash_tolerances" Deterministic config preset

Decision flow

1) Resolve element. 2) Read BoundingBox; compute edge lengths (X, Y, Z).
3) CastSixDirections capped at max edge*2.
4) Build axis table: each direction's step = its corresponding edge length + envelope; clearance from probe.
5) If prefer horizontal=true, filter out ±Z first; else consider all.
6) Pick the axis with largest clearance >= threshold + step (room for the offset + envelope).
7) If found, delegate to TryDirectionalMoveOnService.ProbeAndMove with (axis, step, threshold, centreFallback=false).
8) If not, emit { applied=false, reason=\"no_axis_over_threshold\" }.

What you'll see in the chat

on start
Picking best cardinal offset by BB edge + envelope…
thinking
Reading BB edges and six-direction clearances…
Picking best axis…
Delegating to DirectionalMoveService…
on success
Offset on {picked_axis} by {applied_delta_ft} ft.
on failure
BB-edge offset 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_offset_service_toward_space_by_bounding_box_edge
  • Request body schema (from [RestApiParam])
  • Response schema (from [RestApiResponse])
  • curl / JS / Python code examples

Keywords & intent patterns

clashsolveroffsetservicetowardspacebyboundingboxedge · offset best cardinal · solver bb-edge offset

PillarClash Manager / Solver