Overview
Clash is BIMIO's clash detection tool. You define rules as pairs of categories (walls against ducts, structure against pipes, model against links...), run them, and every clash appears as a coloured sphere in the model, placed exactly at the centre of the interference and coloured by its severity.
Unlike a one-off check, Clash keeps track of each clash's lifecycle: it remembers which ones are new, which are still active, which have been resolved (they stay grey so you can see the progress) and which you have decided to accept and ignore. Each sphere internally stores all the clash data, so the information survives Revit restarts and synchronisations.
Spheres are created in the workset you choose and do synchronise with the central model: the rest of the team can see them and look them up in a normal Revit schedule even without BIMIO installed. You can also assign owners, urgency and dates to each clash, write that data to project parameters and export reports as HTML, CSV or BCF 2.1.
Who it's for
BIM coordinators and BIM managers who need to control clashes between disciplines without leaving Revit, and architects or modellers who want to check their own work before a coordination session. It requires neither Navisworks nor any programming knowledge.
Requirements
- Revit 2022 to 2026 with the BIMIO suite installed (the BIMIO tab must appear on the ribbon).
- An open project: if you click the button with no active document, the tool asks you to open a project first.
- To choose the workset for the spheres, the model must be workshared; if you choose none, the active workset is used. In non-workshared models the drop-down appears disabled (there are no worksets).
- To assign an owner, urgency, comment or dates you need text-type, instance, editable project parameters (for example applied to Generic Models, the spheres' category). Clash does not create them for you.
- Write permission on the model: creating, recolouring or deleting spheres modifies the document and synchronises with the central model.
Where to find it
The window is titled BIMIO · Clash and is modeless: you can keep working in Revit while it is open.
Only one Clash window can exist per session; if you click the button again, the existing window comes to the front.
Key concepts 11 terms
- Rule
- A saved check: which categories on side A are compared against which categories on side B, with which engine, with what tolerance and how severity is classified. Rules are saved inside the .rvt file itself and travel with it.
- Side A / Side B
- The two sets of elements pitted against each other. Each side points to the host model or to one or more links, and selects a list of categories present in that source.
- Comparison
- The scope of the rule: Model ↔ Model (host against host), Model ↔ Link (host against links) or Link ↔ Link (links against each other).
- Detection mode
- Fast (BBox) compares bounding boxes: extremely quick but conservative, it produces false positives. Precise computes the real boolean intersection of the solids: exact, at the cost of more CPU. The bounding box is always used as a pre-filter, so Precise only pays the expensive calculation on pairs that already touch.
- Clearance tolerance
- A margin in millimetres. At 0, only hard clashes (real contact) are detected. With a larger value, the rule also detects near-misses: elements that do not touch but are closer than that distance. Those warnings are classified as Clearance.
- Severity
- Four bands: Critical (red, deep penetration), Major (orange, clear clash), Minor (yellow, shallow overlap) and Clearance (green, no contact but within the clearance). It can be calculated automatically from the penetration or set the same for the whole rule, and you can always reclassify a specific clash by hand.
- Status (lifecycle)
- New: found for the first time in the latest run. Active: still exists in later runs. Reviewed: you have inspected it and confirmed it as a real pending clash (blue dot). Resolved: it no longer appears when re-running; its sphere stays translucent grey as a record. Ignored: you have accepted it; it is suppressed and never reappears, not even in future sessions.
- Marker sphere
- A DirectShape in the Generic Models category, with the severity colour baked into the solid (visible in any view), placed at the centre of the clash. It carries the full clash record in extensible storage and a readable summary in its Comments parameter, which can be looked up in schedules.
- Fingerprint
- The stable identity of each clash, built from the rule and the two elements involved. It is what allows a refresh to recognise which clashes already existed, which are new and which have disappeared, without duplicating spheres.
- Sphere workset
- The workset where all spheres are created, regardless of the active workset. It is chosen in Settings and remembered in the project. Because spheres synchronise to the central model, the whole team sees them.
- Quick Clash
- An express check with no saved rule: it takes the current Revit selection and clashes it against the whole model or only among the selected elements. Its results appear under an informational row called Quick Clash.
The interface
The main window is a table of rules with a toolbar at the top and a status bar with the colour legend at the bottom. On the right edge there is a blue vertical BROWSE tab that unfolds the clash browser: a side panel where you review clash by clash, filter by severity or status, navigate with the keyboard and assign owners.
When you edit or create a rule, a separate modal editor opens with collapsible cards: comparison, categories for each side, engine and tolerance, and severity. The gear icon on the toolbar opens a pop-up settings panel (sphere size and workset, and assignment parameters).

Step-by-step workflows 10 workflows
1Create a clash rule
8 steps
Goal. Define which categories are checked against each other, with which engine, tolerance and severity criterion.
- Click + Rule on the toolbar.The Edit clash rule modal editor opens with a new rule (Model ↔ Model comparison and Precise engine by default).
assets/shots/clash/fig-03.pngFreshly opened rule editor, with the Comparison, Categories, Engine & tolerance and Severity cards visible - Type a descriptive name in Rule name and, if you wish, click the colour swatch to choose the rule's identifying colour.The colour only identifies the rule in the list; it does not affect the colour of the spheres, which always follows severity.
- Under Comparison choose Model ↔ Model, Model ↔ Link or Link ↔ Link.The editor automatically adjusts the scope of each side: with Model ↔ Link, side A is set to the host and side B to links.
- In Side A tick the categories to check. Use the search box to filter, Select all to tick everything visible and Only selected to review what is ticked.The list only offers categories with elements actually modelled in the chosen source (host or links), so there is no noise from empty categories.
assets/shots/clash/fig-04.pngSide A panel with several categories ticked and the search box filtering - Repeat for Side B. If the side points to Links, tick the links to include under Links to include; if you tick none, all links are checked.
- Under Engine & tolerance choose Fast (BBox) or Precise, and set the clearance tolerance in mm (0 = hard clashes only).With a tolerance greater than 0 and Precise mode, the rule also detects near-misses within that margin, which are classified as Clearance.
- Under Severity choose Auto by penetration and adjust the thresholds (by default Critical ≥ 50 mm and Major ≥ 10 mm), or choose Fixed so all the rule's clashes get the same severity.The preview bar shows live how the Clearance / Minor / Major / Critical bands look with your thresholds.
assets/shots/clash/fig-05.pngSeverity card with the coloured band preview - Click Save rule.The rule appears in the list and is saved inside the project (it survives closing Revit).
- Double-clicking a rule in the list also opens the editor.
- Start with a few categories per rule: it is easier to review than one giant everything-against-everything rule.
2Run rules and read the results
4 steps
Goal. Detect the clashes and see the balance by severity.
- Tick the checkbox of the rules you want to run (the header checkbox ticks or unticks them all).The header subtitle shows how many are selected.
- Click Run selected. To run a single rule, click its play button in the Actions column.The run happens inside Revit; on large models with Precise mode it can take a while.
- Look at each rule's result chips: counts in red (Critical), orange (Major), yellow (Minor) and green (Clearance), plus the resolved note if there are any.The status bar summarises: rules run, new clashes, resolved and total spheres in the model.
assets/shots/clash/fig-06.pngRule list after a run, with severity count chips and the status bar showing the summary - Go to the model: each clash is now a coloured sphere at the exact point of the interference.The spheres are visible in any view and carry a summary in their Comments parameter, so you can set up a Generic Models schedule to list them.
assets/shots/clash/fig-07.pngRevit 3D view with several red, orange and yellow spheres marking clashes
- Re-running does not duplicate spheres: each clash has a unique fingerprint and the existing sphere is reused.
- When you reopen the window in another session, the counts reload by reading the spheres already in the model.
3Explore clashes with the browser
6 steps
Goal. Review clash by clash, navigating the model with automatic zoom and isolation.
- Click the vertical BROWSE tab on the right edge of the window.The window widens and the navigation panel appears with the clashes of the highlighted rule (or the first one in the list).
assets/shots/clash/fig-08.pngWindow with the browser open on the right showing the grouped clash list - Click another rule in the list to switch the browser's content to its clashes.
- Filter with the chips (All, Critical, Major, Minor, Reviewed, Resolved, Ignored) or type in the search box to filter by element id, category, family or type.
- Click a clash: Revit selects the elements, zooms to them and, if the Isolate toggle is on, temporarily isolates them together with their sphere.When you turn Isolate off or close the browser, the view is restored automatically.
assets/shots/clash/fig-09.pngRevit with the two clashing elements isolated and the coloured sphere between them - Move forwards and backwards with the ‹ › buttons or with the Down/Up keys (also J/K).Navigation walks through the clashes visible under the current filters and wraps around when it reaches the end.
- Use By: A / By: B to group by the element on one side or the other, and Group/Flatten to switch between the grouped and flat lists.Groups are sorted from most to fewest clashes; each group header shows the grouping element and its counts by severity, and folds or unfolds with a click.
- Grouping by side A or B is very useful for finding the main culprit: the beam or duct that racks up dozens of clashes.
- If both elements of a clash are in links (they cannot be selected from the host), Clash frames the marker sphere, which sits exactly at the centre of the clash.
4Classify clashes: severity and lifecycle
5 steps
Goal. Mark each clash as reviewed or accepted and correct its severity by hand.
- In the browser, click a clash to select it and unfold its action row.
assets/shots/clash/fig-10.pngSelected clash row with the four severity dots and the Review and Ignore buttons visible - To reclassify the severity, click one of the four coloured dots (red Critical, orange Major, yellow Minor, green Clearance).The sphere is recoloured instantly and that manual classification is respected in future runs: the automatic calculation no longer overwrites it.
- Click Review to mark it as reviewed and confirmed (blue dot): it remains a live clash pending action.You can undo it with Un-review.
- Click Ignore to accept the clash (for example, an overlap that is by design).It is suppressed: it does not count in the chips and will not reappear on refresh, not even in future sessions, because the status is saved in the sphere inside the model.
- To recover an ignored clash, filter by the Ignored chip and click Restore.
- Ignored clashes are excluded from the BCF (they are accepted decisions, not issues) but do appear in the CSV with their status, for traceability.
5Update results with Refresh
4 steps
Goal. After fixing the model, find out which clashes have been resolved and which persist or are new.
- Fix the model in Revit with the Clash window open (it is modeless).
- Click Refresh.The ticked rules are re-run; if none are ticked, all enabled rules run. The category and link index is also rebuilt so the editor reflects the current modelling.
- Check the result: clashes that no longer exist move to Resolved and their sphere turns translucent grey; new ones appear with a coloured sphere; persisting ones remain (keeping your manual severity and the Reviewed status).If an element moved, its sphere is repositioned at the clash's new centre.
assets/shots/clash/fig-11.pngModel with a mix of grey (resolved) and coloured (active) spheres after a Refresh - When the grey spheres no longer add value, click Clear spheres to delete all spheres from the model and start from scratch on the next run.Clear spheres deletes all spheres, including resolved and ignored ones, without asking for confirmation. Because the Ignored status lives in the spheres, those clashes may reappear when running in a future session; while the current window remains open, ignored clashes are remembered in memory and do not come back.
- Refresh regularly (for example, before each coordination meeting): every run adds a point to the report's burn-down curve.
6Express check with Quick Clash
4 steps
Goal. Check the current selection without creating any rule.
- In Revit, select the elements you want to check (at least 1 to check against the model, at least 2 to check among themselves).If the selection does not reach that minimum, the check ends without doing anything (no error is shown).
- Click Quick Clash on the toolbar.
- In the dialog, choose Vs whole model (the selection against the entire model) or Among selection (only among the selected elements).The check always runs in Precise mode, with no clearance.
assets/shots/clash/fig-12.pngQuick Clash dialog with the two buttons Vs whole model and Among selection - Review the results: spheres appear in the model and an informational Quick Clash row appears in the list with its counts.Quick Clash results are browsed, classified and cleared just like those of any rule.
- It is ideal for self-checking before synchronising: select what you have just modelled and run it against the model.
7Assign clashes to owners
5 steps
Goal. Distribute the clashes across the team with an owner, urgency, comment and deadline.
- First configure the assignment parameters: open Settings (gear), in the Parameters section choose which project parameter corresponds to Assignee, Urgency, Comment, Detected and Due date, and click Save parameter choices.The drop-downs offer the project's text-type, instance, editable parameters. They must exist in the project and apply to the spheres (Generic Models); Clash does not create them.
assets/shots/clash/fig-13.pngSettings panel open with the seven parameter drop-downs - In the browser, highlight the clashes to assign: click for one, Ctrl+click to add or remove, Shift+click for a range.When you highlight rows, the blue assignment bar appears with the title Assign N clashes.
assets/shots/clash/fig-14.pngBrowser with several rows highlighted and the assignment bar unfolded - Fill in whichever fields you want: Assignee (with suggestions from the current user and owners already recorded), Urgency (Critical, High, Medium or Low), Comment and Due date (for example 2026-07-15).Fields you leave empty are not touched on the spheres: you can change only the urgency without overwriting the owner.
- Click Apply to selection.The values are written to the parameters of the selected spheres and the status bar confirms how many were updated. If none of the chosen parameters exist on the spheres, a warning tells you so you can configure them.
- Synchronise with the central model so the team can see the assignments.Anyone can look them up in a Generic Models schedule filtered by those parameters, with no need for BIMIO.
- The Detected parameter is filled in automatically with the detection date the first time the sphere is created, if you have configured it.
- Use Clear selection to undo the highlighting without applying anything.
8Write clash data to model parameters (Write params)
4 steps
Goal. Stamp onto the elements themselves which ids clash with them and how many clashes they accumulate, for filters and schedules.
- In Settings (gear), choose the Clash IDs and/or Clash count parameters and save.You need at least one of the two configured; if not, Write params will remind you.
- Click Write params on the toolbar.
- Confirm the warning.The operation writes to the model's elements and those changes synchronise with the central model; that is why it asks for confirmation.
- Check the result: every host element involved in active clashes receives the list of ids it clashes with and its clash count; each sphere also receives its own data.The write is reconciling: elements that no longer clash but kept an old count are cleaned up (count set to 0 and ids emptied), so no stale data remains.
assets/shots/clash/fig-15.pngProperties palette of an element with the clash parameters filled in (ids and count)
- Only host model elements are written: link elements are read-only from the current project.
9Export reports: HTML, CSV or BCF 2.1
4 steps
Goal. Share the coordination status with people who do not open Revit, or take the clashes into another tool.
- Run at least one rule (with no recorded clashes there is nothing to export).
- Click the HTML button on the toolbar.
- In the save dialog, choose the format in the type drop-down: HTML report (.html), CSV for Excel / Power BI (.csv) or BCF 2.1 for coordination (.bcfzip), and click Save.
assets/shots/clash/fig-16.pngSave dialog with the three formats available in the type drop-down - Review the result. HTML: a self-contained report with KPIs, a coordination health score, a severity donut, a burn-down curve across runs, a per-rule ranking, a discipline matrix, the most conflicting elements and a filterable table of all clashes; it works offline and has light/dark mode. CSV: one row per clash with rule, severity, status, both elements with category, family and type, penetration, coordinates and dates; it opens in Excel with accents displayed correctly. BCF: one topic per clash with a viewpoint on the clash centre and the two elements referenced by their IFC GUID, ready for BIMcollab, Solibri, Navisworks or Revizto.The HTML and CSV open automatically when finished; the BCF is shown selected in File Explorer.
assets/shots/clash/fig-17.pngClash HTML report open in the browser with the severity donut and the burn-down curve
- When you re-export the BCF, each clash keeps the same topic GUID, so the coordination tool can track it across versions.
- The BCF excludes ignored clashes; the CSV includes them with their status.
10Share rules between projects (export and import JSON)
4 steps
Goal. Reuse the practice's check matrix in any project.
- Click the export button (up arrow) and save the clash-rules.json file.The file includes a self-explanatory _README block with the format of each field, designed so a person (or an AI) can edit or create rules directly in the JSON.
- In the other project, open Clash and click the import button (down arrow); choose the .json.
- Confirm the message with the number of imported rules.Imported rules are added to the existing ones with new ids and numbers, so they never collide with the ones you already had.
- Review any imported rules that point to links: links are referenced by the source project's identifier, so in the destination project you should open each rule and tick the links again (with none ticked, all links are checked).
- Importing always adds, never replaces or deletes: if you import the same file twice you will end up with duplicate rules.
Options reference 24 options
| Option | What it does |
|---|---|
| Run selected | Runs the rules whose checkbox is ticked. If none are ticked, it warns you to tick at least one. |
| Refresh | Re-runs the ticked rules (or all enabled ones if none are ticked), marks disappeared clashes as Resolved and rebuilds the editor's category and link index. |
| Quick Clash | Express check of the current Revit selection: against the whole model or only among the selection. Always in Precise mode and with no clearance. |
| Clear spheres | Deletes all marker spheres from the model (active, resolved and ignored) and resets the counts to zero. |
| Import rules (.json) | Adds the rules from an exported file to the project, giving them new ids and numbers. |
| Export rules (.json) | Saves all the rules to a JSON with a self-explanatory _README block so they can be edited outside Revit. |
| HTML (report) | Exports the clash status as a self-contained HTML report, CSV for Excel/Power BI or BCF 2.1 for coordination tools. |
| Write params | Stamps onto host elements the ids they clash with and their clash count, and onto each sphere its own data; cleans up stale values on elements that no longer clash. |
| Settings → Sphere size | Radius of the spheres in mm (between 10 and 5000; 300 by default). On apply, it immediately rescales all existing spheres and is saved in the project. |
| Settings → Sphere workset | The workset where spheres are created, regardless of the active workset. Only available in workshared models; it is remembered in the project. |
| Settings → Parameters | Which project parameters Clash uses for Clash IDs, Clash count, Assignee, Urgency, Comment, Detected and Due date. It only offers text-type, instance, editable parameters. By default it looks for FJV_ClashIDs, FJV_ClashCount, FJV_ClashAssignee, FJV_ClashUrgency, FJV_ClashComment, FJV_ClashDetected and FJV_ClashDue. Save parameter choices persists them with the project. |
| + Rule | Creates a new rule and opens its editor. |
| Editor → Comparison | The rule's scope: Model ↔ Model, Model ↔ Link or Link ↔ Link. It automatically adjusts each side's source. |
| Editor → side scope (Host model / Links) | Where the side's elements come from: the host model or the links. With Links, you can tick specific links; with none ticked, all are used. |
| Editor → Only selected | Filters the side's category list to show only the ticked ones. |
| Editor → Detection mode | Fast (BBox): bounding-box overlap, quick and conservative. Precise: real boolean intersection of solids, exact. |
| Editor → Clearance tolerance | Clearance in mm. 0 = hard clashes only; greater than 0 also detects near-misses within that margin (Clearance band). |
| Editor → Severity (Auto / Fixed) | Auto by penetration classifies each clash by its penetration against the Critical and Major thresholds (in mm). Fixed assigns the same severity to all the rule's clashes. |
| Editor → rule colour | A free colour swatch to identify the rule in the list; independent of the spheres' severity colours. |
| Browser → filter chips | All, Critical, Major, Minor, Reviewed, Resolved and Ignored filter the displayed clash list. |
| Browser → search box | Filters the clashes by element id, document, category, family or type, with deferred searching while you type. |
| Browser → Isolate | With the toggle on, clicking a clash temporarily isolates its elements and its sphere in the view. When you turn it off or close the panel, the view is restored. |
| Browser → By: A / By: B | Chooses which side of the clash the rows are grouped by when the list is grouped. |
| Browser → Group / Flatten | Switches between the list grouped by element (groups sorted from most to fewest clashes) and the flat list. |
What you get out
- Marker spheres in the model (Generic Models DirectShapes), coloured by severity, with the full clash record in extensible storage and a readable summary in their Comments parameter; they synchronise with the central model.
- A self-contained HTML report (KPIs, health score, severity donut, burn-down curve, per-rule ranking, discipline matrix, most conflicting elements and a filterable table), functional offline.
- A CSV with one row per clash (rule, severity, status, elements A and B with category/family/type, penetration in mm, volume, centre coordinates and detection dates), with a UTF-8 BOM for Excel.
- A BCF 2.1 file (.bcfzip) with one topic per clash, a viewpoint on the clash centre and components referenced by IFC GUID, compatible with BIMcollab, Solibri, Navisworks and Revizto.
- Values written to project parameters: clash ids and count on the affected elements, and owner, urgency, comment, detection date and deadline on the spheres.
- A JSON rules file exportable and importable between projects, with a self-explanatory _README block.
- A run history stored in the project (up to 400 snapshots) that feeds the report's trend curve.