How to Repair Broken IFC Files and Fix Duplicate GUIDs
Duplicate GUIDs, missing storey assignments, orphaned geometry, and corrupt entities — here is how to diagnose and fix an IFC file that refuses to cooperate.
You open an IFC file and the viewer reports errors. A clash tool refuses to load it. An IDS validator throws "duplicate GlobalId". A merge produces wrong element counts. The file is technically valid but practically broken. Here is how to diagnose and repair it without re-exporting from the original authoring tool.
The most common IFC problems
- Duplicate GUIDs. Two or more elements share the same GlobalId. IFC requires GUIDs to be globally unique; duplicates break comparison, validation, and downstream data pipelines.
- Missing storey assignments. Elements exist in the file but are not linked to any IfcBuildingStorey, so they never appear in floor-filtered views.
- Orphaned geometry. Shape representations that are not attached to any element. Invisible in most viewers but bloat file size.
- Broken relationships. IfcRelContainedInSpatialStructure or IfcRelDefinesByProperties pointing at entities that no longer exist.
- Invalid property sets. Psets with null or malformed values that some tools accept and others reject.
- Corrupt geometry. Degenerate solids with zero volume or self-intersecting faces.
Step 1: diagnose with Model Health Check
Always start here. The Model Health Check tool scans the entire file and produces a categorised report:
- Critical issues that will break most tools.
- Warnings that some tools tolerate but are worth fixing.
- Statistics about the model (element counts, schema version, unit system).
- Upload the IFC file.
- Open Model Health Check and run it.
- Read the report top to bottom. Each issue links to the affected element GUIDs and a recommended fix.
Step 2: fix duplicate GUIDs
Duplicate GlobalIds are the single most common IFC quality issue. They usually come from:
- Copy-paste in the authoring tool that duplicated elements without regenerating GUIDs.
- Exports from non-standard plugins that reuse internal IDs as GlobalIds.
- Manual edits to the IFC text with a script that forgot to regenerate IDs.
Repair GUIDs finds every duplicate and assigns a fresh, valid GlobalId to all but one of each duplicate set. Properties, geometry, and relationships are preserved; only the GlobalId string is changed.
- Upload the file.
- Open the Repair GUIDs tool.
- Click Run. The output is a new IFC file with unique GlobalIds throughout.
- Re-run Model Health Check to confirm zero duplicates.
Step 3: clean orphaned geometry
Run Clean Hidden IFC Leftovers. Orphans are shape representations, material definitions, and profile definitions that no element references anymore — usually debris left behind when an authoring tool deleted elements without cleaning up the geometry graph. They add file size and can confuse downstream processors.
Step 4: fix storey assignments
If the Health Check reports "elements without storey assignment," open Manage IFC Storeys. The tool lists every element not linked to a storey and lets you assign them by elevation, by proximity, or by explicit drag-and-drop.
Step 5: re-validate
Run Model Health Check one more time. A clean file should show zero critical issues and a much shorter warning list.
When to re-export instead of repair
Some problems cannot be fixed after the fact:
- Wrong units in the model (feet vs metres). Re-export from the authoring tool with correct unit settings.
- Missing geometry entirely. If the authoring tool exported a wall with no solid representation, no post-export tool can conjure one.
- Schema corruption. Files with malformed STEP syntax that will not parse at all. BIMCamel will reject these on upload.
For everything else, the repair pipeline above fixes 95% of real-world IFC quality issues in under a minute. A clean file reflects well on your team and saves hours of troubleshooting for everyone who opens it downstream.