Three rules that are not negotiable
- The AI never outputs coordinates. It picks a strategy from a fixed list plus parameters (millimetres, degrees, a direction) and explains why. Deterministic code turns that into geometry.
- Nothing is committed without your confirmation. Every fix runs inside a Revit transaction group: preview, verify, then commit on Keep or roll back on Reject. Reject restores the model exactly.
- Linked models and other trades' elements are read-only obstacles. ClashFree never edits them; when the right fix is theirs, it flags the clash for a person.
What the AI actually returns
A proposal is a small, checkable object, not a drawing. For the pipe through a beam on the home page it says, in effect: move the pipe, strategy offset_vertical, direction down, distance 300 mm, angle 45°, and why down beats up or sideways here.
The strategies come from a fixed list. Adding one means adding it to the contract, the schema, the code that executes it and the evaluation cases, never only to the prompt.
| Strategy | What the code does | Typical use |
|---|---|---|
offset_vertical | Split either side of the obstacle, raise or lower the middle segment, fittings at the given angle, reconnect. | A pipe or duct under or over a beam |
offset_horizontal | The same, sideways (east, west, north or south on a riser). | Conduit or tray beside a column or another service |
move_whole_run | Shift a short straight segment without fittings, when its ends allow. | Small moves where the connections permit |
flag_for_human | No change: the reason and a suggestion are recorded for a person. | No valid route, another trade's element, a design decision |
reroute, drag, shift_stretch, slide_tee, tilt_tee | A router over the run, a drag of a straight with its fittings, a move out to a dead end, a tee slid or turned on its main. | A fitting too close for an offset, a run dragged into the clash |
What happens between the AI and your model
- Options are listed and scored by code. ClashFree lists every feasible fix with its score and the rules it passed; the AI picks one by id and explains it, or proposes its own with a stated reason, which is shown to you.
- A validator enforces the hard rules for every proposal, the AI's own included: clearances, the ceiling line, falls, hands-off systems such as gravity drainage, slabs on risers, the free space in each direction.
- Code builds the geometry. It splits the run, offsets it, places fittings the run's routing preferences allow and reconnects. The AI and the logic work in millimetres; conversion to Revit's internal units happens once, at the boundary.
- Revit verifies the preview. The clash must be gone and no new clash may appear against the host and linked models. A failed check goes back to the AI with the reason, then to you.
- You decide. Keep commits one undo step; Reject rolls the whole transaction group back.
Why it matters for your model
A model that guesses geometry can be confidently wrong in ways that are hard to see: a segment a few millimetres off, a fitting that does not connect, a run that drifts into the next clash. Splitting the work keeps each part where it is reliable: the AI weighs the situation and explains its choice, code is repeatable and tested, Revit checks the result, and a person signs it off.
It also makes the AI's judgement readable. Every proposal names the option it chose, the runners-up and their scores, and what the change affects, so you can disagree with a reason, not a hunch.
How ClashFree handles it
These rules shape the whole product: the pane, the AI queue that prepares proposals ahead, and Claude over MCP all go through the same validator, preview and verification, and none of them can press Keep. See the complete workflow and working from Claude.