IFC Geometry Health Check
Scan every element's geometry for integrity problems — degenerate solids, failed Boolean operations, and empty or missing shape representations. Run it on its own, or stack it with other checks in the Validation Center.
Scan an IFC model's geometry for the problems that make it slow, heavy or partly invisible. Upload the model and find the elements with no shape at all, the representations holding nothing, and the boundary representations whose face counts will make every viewer struggle.
Geometry defects rarely announce themselves as errors. A model opens, most of it looks right, and the problems present as symptoms instead: a viewer that takes a minute to load, an export that comes out far larger than it should, an element that's in the schedule but not in the picture. Each of those has a cause that's visible in the file's representation data, without triangulating anything.
When to reach for it: Before sharing, exporting, or clash-checking a model — degenerate solids, failed Booleans, and empty representations are the usual reason an element fails to render or a converter chokes. Run this to isolate the broken geometry without reading a full health report.
What you get: A findings list of every element with a geometry-integrity problem (degenerate solid, failed Boolean, empty or missing representation), ready to drill into in the 3D viewer or export to BCF / HTML / CSV.
Example: Find the handful of elements with broken geometry that make a model fail to render or export, without wading through a full health report.
A static scan, and why that's the right default
The check reads the model's representation structures directly rather than tessellating them. It needs no geometry service, so it's fast and it can't fail because an external dependency is down — on a large model it finishes while a mesh-based check would still be converting. That trade is deliberate: the four most common geometry defects are all detectable from the representations themselves, and paying for tessellation to find them would make the check something people skip.
- Products with no representation at all — MEDIUM. The element exists in the data and in schedules, and has no shape, so it is absent from every visual and every export.
- Representations with an empty Items collection — LOW. A shape container holding nothing: pure bloat, no visual consequence.
- Faceted BReps with extreme face counts — LOW. Legal geometry that punishes every viewer and every export downstream. Usually an imported mesh or an over-tessellated import that came in from another format.
- Products carrying both a Body and a non-Body representation in 3D — INFO. Legitimate, and worth knowing when the count is high, since it can mean duplicate geometry is being rendered twice.
Deep mode: what tessellation adds
When mesh data is available for the model, the check layers on three findings that need real triangles to detect: zero-volume elements (present, shaped, and enclosing nothing — usually a degenerate extrusion), duplicate meshes identified by hash (the same geometry modelled twice, which inflates size and double-counts quantities), and triangle-count outliers (the specific elements responsible for a model's weight).
That last one is the practical one. Knowing that a model has four million triangles isn't actionable; knowing that six imported furniture components account for half of them is.
What to do with the findings
Reduce IFC File Size strips the geometry nothing displays, Bounding Box Simplification replaces heavy detail with boxes where detail doesn't matter, and Delete IFC Elements removes whole classes that don't need to travel. For a model whose weight is concentrated in a handful of elements, the outlier list tells you exactly which ones to target.
Pair this with the IFC Performance Check, which approaches the same question from the file's side — entity counts and size proxies rather than representation shape — and stack both with the rest of the atomic checks in the Validation Center.
How to check IFC geometry health
- Upload your IFC file
- Click Run — no configuration needed
- Review the flagged elements in the findings panel
- 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
Why is an element in my schedule but not visible in the model?
Most likely it has no geometric representation. This check reports those elements at Medium severity — they exist in the data and in schedules, but have no shape, so they're absent from every view and every export.
Does this check need to tessellate the model?
No. It reads the model's representation structures directly, so it's fast and can't fail because a geometry service is unavailable. When mesh data happens to be available it adds zero-volume elements, duplicate meshes and triangle-count outliers on top.
What makes a BRep 'extreme'?
A faceted boundary representation with a very high face count. It's legal geometry, so it's Low severity — but it punishes every viewer and every export downstream, and it usually means a mesh was imported from another format rather than modelled.
How do I find which elements make my model heavy?
The triangle-count outlier finding names them specifically. That's the actionable form: a total triangle count tells you nothing, whereas "these six imported components are half the model" tells you exactly what to simplify with Bounding Box Simplification or remove with Delete IFC Elements.
What are duplicate meshes?
The same geometry modelled twice, identified by hashing the mesh. Duplicates inflate file size and double-count quantities. Clash detection's Duplicates mode finds the same problem from the coordination side, with configurable centroid and volume tolerances.
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 Geometry Health Check free?
Yes. IFC Geometry Health 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
- How to Reduce IFC File Size Without Losing What Matters
- The BIM Model Health Check Checklist Every Coordinator Should Run