IFC Fire Compartmentation Check

Audits the designed fire envelope: flags non-fire-rated doors and windows filling openings in fire-rated walls (the 'fire door in a fire wall' rule) and unprotected penetrations with no fill. Purely data-driven from IFC opening/fill relationships. Run it on its own, or stack it with other checks in the Validation Center.

Check the integrity of an IFC model's designed fire envelope. Upload the model and find the openings cut into fire-rated walls that are filled by a door or window with no fire rating — and the openings that have nothing filling them at all.

Fire compartmentation fails at its openings. The walls are usually specified correctly; the problem is the door somebody swapped for an unrated type, the window scheduled into a compartment line, or the penetration left in the model with nothing in it. Each of those is a hole in a barrier the design depends on, each is invisible in a 3D view, and each is recorded in the IFC clearly enough to be found automatically.

When to reach for it: During a life-safety review, to catch breaches in the designed fire envelope: a non-fire-rated door or window filling an opening in a fire-rated wall, or an unprotected penetration with no fill.

What you get: A findings list flagging non-fire-rated doors and windows filling openings in fire-rated walls (the 'fire door in a fire wall' rule) and unprotected penetrations — exportable to BCF, HTML, or CSV.

Example: Catch breaches in fire-rated construction — unprotected openings and non-rated fire doors — during a life-safety review.

How it reads the fire envelope

A wall counts as a fire-compartment boundary when it carries a non-empty FireRating property — on the instance or on its type, since exporters differ about where it lands. Values that mean "no rating" (none, n/a, 0) are correctly treated as absent rather than as a rating.

For every opening voided into one of those walls, the check follows the fill relationship and reaches one of two conclusions.

  • The opening is filled by a door or window that has NO fire rating — HIGH. This is the "fire door in a fire wall" rule: a rated barrier with an unrated element in it is breached, and the drawing set will still show a fire wall.
  • The opening has no filling element at all — MEDIUM. An unprotected penetration: a hole in the fire envelope, which may be a service penetration awaiting a firestop or may be an artefact, and either way needs a decision.

No geometry, and no magnitude comparison

The check is entirely data-driven — it reads IFC's opening and fill relationships rather than computing anything from geometry. That makes it fast, deterministic and independent of mesh quality: the answer depends on how the model is put together, which is exactly what a compartmentation audit is asking about.

It deliberately does NOT compare rating magnitude. It will not tell you that an EI30 door in an EI60 wall is under-rated, because those values are free text and inconsistently formatted across exporters — EI60, EI 60, 60min, F60 and R60 all occur — and a checker that parsed them would produce confident nonsense. Presence versus absence is the signal that can be trusted, so that is the signal it reports. Reading the magnitudes is a job for a human with the fire strategy in front of them, and the exported report gives them the list to read.

Make sure it can see the ratings

The check can only test what the model records. A wall with no FireRating property isn't treated as a compartment boundary at all, so a model that never exported fire ratings produces a clean pass that means nothing. Run the Data Completeness Check to see whether the model carries property data, and use the IDS Checker to REQUIRE FireRating on the relevant classes — that turns "we hope it's there" into a validated condition, and an IDS spec is something you can agree with the client and re-run on every revision.

If the ratings are missing and you have them elsewhere, Excel to IFC pushes them in from a spreadsheet, matched per element by GlobalId. Findings export as HTML, CSV or BCF, so a breach in a consultant's model can be raised as an issue rather than described in an email — and the Fire Egress Check covers the other half of life safety, the escape routes.

How to check fire compartmentation in an IFC model

  1. Upload your IFC file
  2. Click Run — no configuration needed
  3. Review non-rated fills in fire-rated walls and unprotected penetrations
  4. Export to BCF, HTML, or CSV, or open the findings in the 3D viewer

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

How do I find unrated doors in fire-rated walls?

Run this check. For every opening voided into a wall carrying a FireRating, it follows the fill relationship and reports the openings filled by a door or window with no fire rating as High findings — the "fire door in a fire wall" rule.

Does it check that the rating is high enough — EI30 in an EI60 wall?

No, deliberately. Rating values are free text and formatted inconsistently across exporters (EI60, EI 60, 60min, F60, R60), so a checker that parsed and compared them would produce confident nonsense. Presence versus absence is the reliable signal. The exported report gives you the list to read against the fire strategy.

What does an unprotected penetration mean?

An opening cut into a fire-rated wall with no element filling it — a hole in the fire envelope. It's Medium severity because it may be a service penetration awaiting a firestop rather than an error, but either way it needs a decision.

Why did it report nothing on my model?

Possibly because no wall in the model carries a FireRating property, in which case nothing was treated as a compartment boundary and nothing was tested. Run the Data Completeness Check to see whether the model carries property data, and use the IDS Checker to require FireRating where it belongs.

Does it need to process geometry?

No — it reads IFC's opening and fill relationships, so it's fast, deterministic and unaffected by mesh quality. What it audits is how the model is put together, which is what a compartmentation audit is about.

What's the maximum IFC file size?

Up to 25 MB as a guest, 100 MB with a free account, 500 MB on Pro, and 1 GB on Team. The caps are on upload size only — every tool itself is available on every tier.

What happens to my file after processing?

Your file is uploaded over HTTPS and processed on our servers. Guest uploads are stream-only — the working files are deleted as soon as your download finishes. Free accounts keep results for 7 days; Pro keeps them 90 days and Team 180 days. Files are never shared with third parties or used to train AI.

Is IFC Fire Compartmentation Check free?

Yes. IFC Fire Compartmentation Check is free to use — guests get 3 runs a day with 25 MB uploads, and a free account raises that to 10 runs a day with 100 MB uploads. No trial clock, no watermarks.

Guides from the Learn library

Related tools