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
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.
| Category | Sample checks | Severity |
|---|---|---|
| Data quality | GlobalId collisions, missing GlobalId | error |
| IfcBuildingElementProxy (unclassified), generic names, no material, no storey, zero-thickness layers, unhosted openings | warn | |
| No property sets, no description | info | |
| Accessibility | Door clear width (Bbl 0.85 m), threshold height (0.02 m), corridor minor dimension | major |
| 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
- Free — not a trial, not a freemium tier, not a quota.
- Auditable — you can read every rule. Paid checkers rarely publish theirs.
- Browser-side — your IFC never leaves your device. See Security & Privacy.
- Extensible — fork the rule files, add your own checks. Or use IDS for shareable specs.
- Bundled — clash detection, BCF export, viewer, accessibility checks, and quality score in one app.
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.