Clash Matrix for IFC and Navisworks — plan, export and run clash tests

Build a clash matrix in the browser, then export Navisworks clash tests or Excel, or run the hard-clash tests on an IFC model.

A clash matrix is the grid that says which groups of elements get tested against which. Disciplines or systems run down the side and across the top, and a tick in a cell means that pair is tested. Build one here in the browser, free, with no model to upload first. Then export it as Navisworks clash tests or an Excel workbook, or link it to an IFC model and run the tests in BIMCamel (the Navisworks files are not yet checked against a real Navisworks).

Defining which groups are tested against which is a separate step from running the tests. A matrix written down as a grid shows what is tested, what is not, and which pairs were ruled out.

When to reach for it: When you are planning clash coordination and want the scope written down as one grid before any test is run, or when you need clash tests for Navisworks or Excel without typing them one by one. Running in BIMCamel tests hard clashes only, on one IFC model.

What you get: A saved clash matrix, and optionally a Navisworks clash-test XML file (not yet checked against a real Navisworks), an Excel workbook, a matrix file (.json), or clash counts per cell from a run on an IFC model.

Example: Decide that Structure is tested against MEP but not against itself, then export the tests.

What a clash matrix is for

A federated model holds architecture, structure, mechanical, electrical, plumbing, fire protection and often more. Testing every element against every other element produces a result nobody can review. A matrix cuts that down to the pairs that matter: structure against ducts, ducts against pipes, pipes against cable trays, and so on.

It is also the agreement between disciplines. When the structural engineer and the mechanical engineer can both see that their pair is in the grid, the scope of the first clash report is known in advance, and a pair that was never set up shows as an empty cell.

Reading the grid: rows, columns, the diagonal and the mirror

Each row is one group and each column is one group, usually the same list on both axes. Click the cell at row A, column B and group A is tested against group B. A matrix holds up to 300 rows and 300 columns and up to 20,000 ticked cells. You can type the names, paste a column of them from Excel, or try the built-in example of eight building disciplines.

Testing A against B is the same job as testing B against A. When a row and a column are the same group, ticking one cell ticks its mirror, so you decide each pair once. The cells on the diagonal compare a group with itself. They are off by default and only become tests when you allow them. That matters when a group holds parts that can collide with each other, for example a pipe network modelled in several files.

Hard clashes, tolerance and what is not run

A hard clash is two elements occupying the same space. Every test you tick in this tool is a hard-clash test, and running in BIMCamel tests hard clashes only. A clearance test, which flags elements that come closer than a set distance, is not something you can add or run here. If an imported file contains clearance or duplicate tests, they stay in the matrix with their own type and are written back out unchanged; a run lists them first, and you either leave them out or run them as hard clashes.

Tolerance is set in millimetres, a new tick uses 10 mm, and an export accepts 0 to 1,000 mm. It decides how much overlap counts. A few millimetres keeps modelling noise, such as a pipe resting on a hanger, out of the result. Set it too loose and real clashes disappear. Set it to zero and even contact between surfaces can be reported. The optional Test settings panel lets one matrix carry several tolerances, each with its own mark and colour.

Import and export: Excel, Navisworks XML and the matrix file

You can start from a file. Import reads an Excel workbook (up to 5 MB), Navisworks search sets (XML, up to 10 MB), Navisworks clash tests (XML, up to 10 MB) or a matrix file (.json, up to 2 MB). A workbook is read as a grid or as a list of tests, and a dialog lets you correct which sheet, row and column hold the names. The marks H, HC, C and D mean hard, hard conservative (a hard clash tested on triangles: slower, catches more), clearance and duplicate, and a number after the letter is millimetres. A bare letter is 10 mm. Imports do not count against your daily operations.

Export writes Navisworks clash-test XML, an Excel workbook or a matrix file (.json). The Navisworks export can add the search sets as a second file in one zip. A clash test finds its two groups by the name of a set in the Navisworks file; a selection set or a search set both work. The Excel workbook carries the coloured grid, a legend, a list of tests, a Results sheet when a run is current, and a BIMCamel data sheet that lets you import the workbook back without losing anything. The Navisworks files have not been checked against a real Navisworks yet, so import one test first, look at it, and only then bring in the rest.

Each export counts as one operation against your daily limit, and exporting the same unchanged matrix again within 10 minutes is free. Building, editing and saving never count.

Run the tests in BIMCamel

Step 2 links the matrix to an IFC model. Each group takes its elements from IFC classes (an exact match, so IfcWall does not include IfcWallStandardCase), a saved search, a Navisworks search set converted to rules, or the elements you select in the viewer. The tool shows how many elements each group matches and flags groups that match nothing before you run. The model is one you uploaded to your workspace, the one already open from another tool, or the sample building. Signed-out users can use the model open in their session or the sample.

A run tests the ticked pairs as hard clashes and puts the clash count in each cell. It counts as one operation, even if it fails. One run holds up to 100 tests as a guest, 300 with a free account and 5,000 on a paid plan. A run cannot be cancelled, and the results are written into the matrix by the page that started it, so keep the page open. Schemas are IFC2x3 and IFC4; clash detection is not yet verified on IFC4x3.

A combined model is one file, so BIMCamel cannot run one model against another, and selections need a single model. There are no level, zone, system or predefined-type filters; use a saved search or a selection instead. Counts are not expected to equal Navisworks counts, because the tolerance is measured differently and BIMCamel tests the parts of a composite object individually.

Saving, and where this fits with the other clash tools

Signed in, a matrix is saved to your account, up to 256 KB each. As a guest it is saved in this browser only, up to 1 MB, so clearing site data deletes it and it does not follow you to another device. After you sign in you can keep it in your account.

Clash Detection runs one test between two sets of elements in an IFC model. In that tool, Open as matrix turns its tests into a matrix, keeping them in this browser. Selections made there are not carried over, because they belong to one file. Clearance Check is a separate tool for clearance tests.

How clash matrix for ifc and navisworks works

  1. Open Clash Matrix from the tools list. No upload is needed to start
  2. List the groups of elements on the rows and columns: type them, paste names from Excel, or import an Excel file or Navisworks XML
  3. Click the cells for the pairs you want tested. Each tick is a hard-clash test at 10 mm unless you change the tolerance
  4. Export Navisworks clash-test XML, Excel or a matrix file (.json), or link the matrix to an IFC model and run the tests in BIMCamel

Under the hood

BIMCamel parses IFC files in the browser using the open-source web-ifc engine and renders models with @thatopen/components + three.js. Heavy operations (clean / optimise / validate / convert) run on disposable server-side workers using the same web-ifc stack plus our own .NET pipeline; results stream back to your browser as soon as they're ready. Uploads sit on our servers only as long as your tier's retention window allows and are never used to train AI.

Frequently asked questions

What is a clash matrix?

A grid of element groups, one set down the rows and one across the columns, where each ticked cell means that pair of groups is tested for clashes. It records the scope of a coordination process in one place.

Why is a clash matrix usually symmetric?

Testing group A against group B is the same check as testing B against A, so the two halves of the grid mirror each other. Deciding each pair once is enough.

What is the diagonal of the matrix?

The cells where a group meets itself. They are off by default. Allow them only when the parts inside a group can collide with each other.

Does it run hard clashes, clearance or both?

Hard clashes only. Every test you tick is a hard-clash test, and a run tests hard clashes only. Clearance and duplicate tests that arrive in an import are kept and exported with their own type, but a run leaves them out unless you choose to run them as hard clashes.

What tolerance should I use?

Tolerance is in millimetres and a new test uses 10 mm. A few millimetres removes modelling noise from hard-clash results. Larger values suit pairs where small overlaps are acceptable. There is no single correct number, so agree it per pair.

Do I need to upload an IFC to build a clash matrix?

No. Building, editing, importing and exporting a matrix need no model. You only need one to run the tests in BIMCamel: a model from your workspace, the one open from another tool, or the sample building.

Can I use the export in Navisworks?

The tool writes a Navisworks clash-test XML file, with the search sets as a second file in a zip if you ask for them. It has not been checked against a real Navisworks yet. Import one test, check it, then import the rest. If Navisworks rejects the file, export again without folders.

What are the size limits?

A matrix holds up to 300 rows, 300 columns and 20,000 ticked cells, and a saved matrix is up to 256 KB in your account. Imports are limited to 10 MB for XML, 5 MB for Excel and 2 MB for the matrix file. One run holds 100 tests as a guest, 300 with a free account and 5,000 on a paid plan.

Why do the counts differ from Navisworks?

BIMCamel measures the overlap of bounding boxes against the tolerance, where Navisworks uses penetration depth, and it tests the parts of a composite object individually. Expect different numbers for the same pair.

Can I run one model against another?

No. A combined model runs as one file, so a run cannot test one model against another, and selections made in the viewer need a single model. Link each group with an IFC class or a saved search instead. Level, zone, system and predefined-type filters are not available.

Where is my matrix saved?

In your account when you are signed in, up to 256 KB per matrix. As a guest it is saved in this browser, so clearing site data or switching device loses it. Export the matrix file (.json) if you want a copy; that export counts as one operation.

Is Clash Matrix free?

Yes. Building, editing, saving and importing are free and are not counted. Each export and each run counts as one operation against your daily limit: 3 a day as a guest and 10 with a free account. A paid plan raises that limit. Exporting the same unchanged matrix again within 10 minutes does not count.

Guides from the Learn library

Related tools