Self-authored IFC review example
Three slabs and six illustrative rules. Agencies labelled Demo are fictional review groups. This static replay uses no official mapping rows and processes no visitor files. The final review is a scripted authored example, not independent human annotation or regulatory approval.
Current stage: Before · Review all findings ↓
| Stage | Passing property checks | Errors | Warnings | Unit unverified |
|---|---|---|---|---|
| Before | 3 / 18 | 11 | 5 | 1 |
| Derived | 12 / 18 | 2 | 5 | 1 |
| Authored review | 18 / 18 | 0 | 1 | 0 |
1. Locate a finding by GlobalId. 2. Inspect the original typed value, explicit unit and fill trace. 3. Resolve uncertain sources in the authoring model, then export and recheck. Unit-unverified pairs stay in the 18-check denominator and are not passed. Even the final example retains a georeference warning.
Input IFC Derived IFC Reviewed IFC Authored rules Fill log Hashes and verification
IFC review · Before
before.ifc · IFC4 · 3 elements
Model-level findings
| Rule | Severity | Message | Findings |
|---|---|---|---|
| georeference | warning | no IfcMapConversion: the model is not tied to SVY21 map coordinates | 1 |
Show all 1 model-level findings
| Rule | Severity | Message | GlobalId | Class | Name |
|---|---|---|---|---|---|
| georeference | warning | no IfcMapConversion: the model is not tied to SVY21 map coordinates |
Findings by agency
| Agency | Findings |
|---|---|
| Demo structures | 8 |
| Demo coordination | 7 |
| model | 1 |
Most common gaps
Counts are findings, not distinct elements. One element can fail several property rules.
| IFC class | Gap | Findings |
|---|---|---|
| IfcSlab | missing property set SGPset_Slab | 6 |
| IfcSlab | Demo_Review has no ReviewReference | 3 |
| IfcSlab | missing property set SGPset_SlabDimension | 2 |
| IfcSlab | SGPset_SlabDimension has no Mark | 2 |
| IfcSlab | SGPset_SlabDimension.Thickness is empty | 1 |
| IfcSlab | Demo_Review.Clearance unit unverified: generic scalar has no explicit physical unit; project length unit cannot be guessed | 1 |
Auto-filled from existing model data
Nothing could be derived.
Property-unit evidence
Unverified units do not count as passed. Label qualifiers retain their lexical values; these checks do not establish regulatory approval.
| GlobalId | Property | Raw value | IFC measure | Source unit | Target unit | Normalized | Status / reason |
|---|---|---|---|---|---|---|---|
| 0IotBT2fjNF97yb0Be3eao | SGPset_SlabDimension.Thickness | 250.0 | IfcLengthMeasure | MILLI METRE | m | 0.25 | verified |
| 0IotBT2fjNF97yb0Be3eao | Demo_Review.Clearance | 0.8 | IfcLengthMeasure | METRE | m | 0.8 | verified |
| 1gNND8DMLRnhwOonVDr7z8 | Demo_Review.Clearance | 0.8 | IfcLengthMeasure | METRE | m | 0.8 | verified |
| 2VBDEcUyTIt9tpVVDRMs_T | Demo_Review.Clearance | 0.8 | IfcReal | m | unverified: generic scalar has no explicit physical unit; project length unit cannot be guessed |
Elements with the most gaps (top 50)
| GlobalId | Class | Name | Gaps | First gaps |
|---|---|---|---|---|
| 2VBDEcUyTIt9tpVVDRMs_T | IfcSlab | S-deferred | 6 | SGPset_SlabDimension.Thickness is empty; SGPset_SlabDimension has no Mark; missing property set SGPset_Slab (needs ConstructionMethod) |
| 1gNND8DMLRnhwOonVDr7z8 | IfcSlab | S-derive | 5 | missing property set SGPset_SlabDimension (needs Thickness); missing property set SGPset_SlabDimension (needs Mark); missing property set SGPset_Slab (needs ConstructionMethod) |
| 0IotBT2fjNF97yb0Be3eao | IfcSlab | S-ready | 4 | SGPset_SlabDimension has no Mark; missing property set SGPset_Slab (needs ConstructionMethod); missing property set SGPset_Slab (needs LoadBearing) |
Designer review workbench
Locate the GlobalId in your authoring tool, inspect the full evidence, then correct or confirm the source and re-run the checker. Filters change the visible review records only. Summary counts above always describe the complete model; an auto-fill is evidence to review, not approval.
All findings
| Agency | Severity | Status | GlobalId | Property | Complete evidence |
|---|---|---|---|---|---|
| Model profile | warning | review-warning | georeference · · · no IfcMapConversion: the model is not tied to SVY21 map coordinates | ||
| Demo structures | error | needs-correction | 1gNND8DMLRnhwOonVDr7z8 | SGPset_SlabDimension.Thickness | DEMO-THICKNESS · IfcSlab · S-derive · missing property set SGPset_SlabDimension (needs Thickness) |
| Demo structures | error | needs-correction | 2VBDEcUyTIt9tpVVDRMs_T | SGPset_SlabDimension.Thickness | DEMO-THICKNESS · IfcSlab · S-deferred · SGPset_SlabDimension.Thickness is empty |
| Demo coordination | error | needs-correction | 0IotBT2fjNF97yb0Be3eao | SGPset_SlabDimension.Mark | DEMO-MARK · IfcSlab · S-ready · SGPset_SlabDimension has no Mark |
| Demo coordination | error | needs-correction | 1gNND8DMLRnhwOonVDr7z8 | SGPset_SlabDimension.Mark | DEMO-MARK · IfcSlab · S-derive · missing property set SGPset_SlabDimension (needs Mark) |
| Demo coordination | error | needs-correction | 2VBDEcUyTIt9tpVVDRMs_T | SGPset_SlabDimension.Mark | DEMO-MARK · IfcSlab · S-deferred · SGPset_SlabDimension has no Mark |
| Demo structures | error | needs-correction | 0IotBT2fjNF97yb0Be3eao | SGPset_Slab.ConstructionMethod | DEMO-METHOD · IfcSlab · S-ready · missing property set SGPset_Slab (needs ConstructionMethod) |
| Demo structures | error | needs-correction | 1gNND8DMLRnhwOonVDr7z8 | SGPset_Slab.ConstructionMethod | DEMO-METHOD · IfcSlab · S-derive · missing property set SGPset_Slab (needs ConstructionMethod) |
| Demo structures | error | needs-correction | 2VBDEcUyTIt9tpVVDRMs_T | SGPset_Slab.ConstructionMethod | DEMO-METHOD · IfcSlab · S-deferred · missing property set SGPset_Slab (needs ConstructionMethod) |
| Demo structures | error | needs-correction | 0IotBT2fjNF97yb0Be3eao | SGPset_Slab.LoadBearing | DEMO-LOAD · IfcSlab · S-ready · missing property set SGPset_Slab (needs LoadBearing) |
| Demo structures | error | needs-correction | 1gNND8DMLRnhwOonVDr7z8 | SGPset_Slab.LoadBearing | DEMO-LOAD · IfcSlab · S-derive · missing property set SGPset_Slab (needs LoadBearing) |
| Demo structures | error | needs-correction | 2VBDEcUyTIt9tpVVDRMs_T | SGPset_Slab.LoadBearing | DEMO-LOAD · IfcSlab · S-deferred · missing property set SGPset_Slab (needs LoadBearing) |
| Demo coordination | warning | review-warning | 0IotBT2fjNF97yb0Be3eao | Demo_Review.ReviewReference | DEMO-REFERENCE · IfcSlab · S-ready · Demo_Review has no ReviewReference |
| Demo coordination | warning | review-warning | 1gNND8DMLRnhwOonVDr7z8 | Demo_Review.ReviewReference | DEMO-REFERENCE · IfcSlab · S-derive · Demo_Review has no ReviewReference |
| Demo coordination | warning | review-warning | 2VBDEcUyTIt9tpVVDRMs_T | Demo_Review.ReviewReference | DEMO-REFERENCE · IfcSlab · S-deferred · Demo_Review has no ReviewReference |
| Demo coordination | warning | unit-unverified | 2VBDEcUyTIt9tpVVDRMs_T | Demo_Review.Clearance | DEMO-CLEARANCE · IfcSlab · S-deferred · Demo_Review.Clearance unit unverified: generic scalar has no explicit physical unit; project length unit cannot be guessed |
Typed property-unit evidence
| Agency | Severity | Status | GlobalId | Property | Complete evidence |
|---|---|---|---|---|---|
| Demo structures | evidence | verified | 0IotBT2fjNF97yb0Be3eao | SGPset_SlabDimension.Thickness | {"conversion_factor": 0.001, "dimensions": [1, 0, 0, 0, 0, 0, 0], "explicit_unit": true, "explicit_unit_definition": {"Name": "METRE", "Prefix": "MILLI", "UnitType": "LENGTHUNIT", "id": 39, "ifc_class": "IfcSIUnit"}, "guid": "0IotBT2fjNF97yb0Be3eao", "measure_type": "IfcLengthMeasure", "normalized_value": 0.25, "property": "Thickness", "property_id": 42, "property_origin": "instance", "pset": "SGPset_SlabDimension", "raw_value": 250.0, "rule": "DEMO-THICKNESS", "source_scale_si": 0.001, "source_unit": "MILLI METRE", "status": "verified", "target_scale_si": 1, "target_unit": "m", "unit_origin": "explicit_property"} |
| Demo coordination | evidence | verified | 0IotBT2fjNF97yb0Be3eao | Demo_Review.Clearance | {"conversion_factor": 1.0, "dimensions": [1, 0, 0, 0, 0, 0, 0], "explicit_unit": false, "guid": "0IotBT2fjNF97yb0Be3eao", "measure_type": "IfcLengthMeasure", "normalized_value": 0.8, "property": "Clearance", "property_id": 38, "property_origin": "instance", "pset": "Demo_Review", "raw_value": 0.8, "rule": "DEMO-CLEARANCE", "source_scale_si": 1.0, "source_unit": "METRE", "status": "verified", "target_scale_si": 1, "target_unit": "m", "unit_origin": "project"} |
| Demo coordination | evidence | verified | 1gNND8DMLRnhwOonVDr7z8 | Demo_Review.Clearance | {"conversion_factor": 1.0, "dimensions": [1, 0, 0, 0, 0, 0, 0], "explicit_unit": false, "guid": "1gNND8DMLRnhwOonVDr7z8", "measure_type": "IfcLengthMeasure", "normalized_value": 0.8, "property": "Clearance", "property_id": 64, "property_origin": "instance", "pset": "Demo_Review", "raw_value": 0.8, "rule": "DEMO-CLEARANCE", "source_scale_si": 1.0, "source_unit": "METRE", "status": "verified", "target_scale_si": 1, "target_unit": "m", "unit_origin": "project"} |
| Demo coordination | evidence | unit-unverified | 2VBDEcUyTIt9tpVVDRMs_T | Demo_Review.Clearance | {"explicit_unit": false, "guid": "2VBDEcUyTIt9tpVVDRMs_T", "measure_type": "IfcReal", "property": "Clearance", "property_id": 83, "property_origin": "instance", "pset": "Demo_Review", "raw_value": 0.8, "reason": "generic scalar has no explicit physical unit; project length unit cannot be guessed", "rule": "DEMO-CLEARANCE", "status": "unverified", "target_unit": "m"} |
Written values and derivation trace
| Agency | Severity | Status | GlobalId | Property | Complete evidence |
|---|
Derivations deferred for review
| Agency | Severity | Status | GlobalId | Property | Complete evidence |
|---|