Commands › Clash Manager / Solver › Clash Solver Offset Service Around Duct Bounding Box
Clash Solver Offset Service Around Duct Bounding Box
Coming soon
Before you run this
Active document; service + duct resolvable; both have BoundingBox; default 3D view.
After it runs
Zero or one ElementTransformUtils.MoveElement inside inner Transaction.
When to use this
- Big-thing-wins service offset when clashing with a duct.
Don't use this when
Non-duct obstructions — use OFFSET_SERVICE_TOWARD_SPACE variants.
Inputs
| Name | Kind | Type | Required | Default | Description |
|---|---|---|---|---|---|
PresetKind |
config | string |
no | "clash_tolerances" | Deterministic config preset |
Decision flow
1) Resolve service + duct (resolvers or two-element selection in order).
2) Read both BoundingBoxes; WireError if either missing.
3) Determine vertical relationship: if service centre Z ≤ duct centre Z → axis = -Z (offset below); else +Z (above). "auto" default.
4) step_ft = duct.Max.{axis} - duct.Min.{axis} (duct's extent on that axis) + envelope_mm/304.8.
5) Delegate TryDirectionalMoveOnService.ProbeAndMove(doc, service, axis, step_ft, threshold_ft, centreFallback=false).
6) Emit outcome + picked_axis + step_mm.
What you'll see in the chat
on start
Offsetting service around duct BB…
thinking
Reading both BBs…
Picking axis (above or below duct)…
Delegating to DirectionalMoveService…
Picking axis (above or below duct)…
Delegating to DirectionalMoveService…
on success
Offset around duct by {step_mm} mm on {picked_axis}.
on failure
Offset around duct 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_around_duct_bounding_box- Request body schema (from
[RestApiParam]) - Response schema (from
[RestApiResponse]) - curl / JS / Python code examples
Keywords & intent patterns
clashsolveroffsetservicearoundductboundingbox · offset around duct · pipe-under-duct offset
Related
| Pillar | Clash Manager / Solver |
|---|