ClashControl

Your IFC, scored 0–100. For free.

Paid quality checkers sell you a number on the front of a PDF. ClashControl gives you the same number, in your browser, computed from rules you can read.

82/100
Quality Score · grade B Data quality + Accessibility  |  12 checks
Open ClashControl & load a model →

What goes into the score

The Quality Score is a weighted aggregate of two families of checks. Each check has a severity (error / warn / info), and each failing element costs proportionally.

CategorySample checksSeverity
Data qualityGlobalId collisions, missing GlobalIderror
IfcBuildingElementProxy (unclassified), generic names, no material, no storey, zero-thickness layers, unhosted openingswarn
No property sets, no descriptioninfo
AccessibilityDoor clear width (Bbl 0.85 m), threshold height (0.02 m), corridor minor dimensionmajor
Ramp slope (1:12), sanitary-space turning clearance (1.50 m)major

The math: score = 100 × (1 − ∑(fail_pct × weight) ÷ ∑(weight)). Open-source: the engines live in addons/data-quality.js and addons/accessibility.js.

Why this beats the paid tools

FAQ

How is this different from Solibri or Nokah?
The math is similar. ClashControl is free, runs in your browser, and the rules are open-source — you can read every check definition. Paid tools rarely publish their rule sets.
Where is my IFC processed?
Entirely in your browser via WebAssembly. Your file never leaves your device.
Can I add my own rules?
Yes — the engines are JavaScript and MIT-licensed. Fork and edit, or use the IDS (Information Delivery Specification) import for shareable specs.
Will the score change if a new check is added?
Yes — the score is computed from whatever checks are currently active. Adding a new severity-weighted check shifts the math proportionally. Old scores are saved per-project so you can see drift over time.