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: Derived · 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 · Derived
derived.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 coordination | 4 |
| Demo structures | 2 |
| model | 1 |
Most common gaps
Counts are findings, not distinct elements. One element can fail several property rules.
| IFC class | Gap | Findings |
|---|---|---|
| IfcSlab | Demo_Review has no ReviewReference | 3 |
| IfcSlab | SGPset_SlabDimension.Thickness is empty | 1 |
| IfcSlab | SGPset_Slab has no LoadBearing | 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
| Property set | Property | Source | Values |
|---|---|---|---|
| SGPset_SlabDimension | Mark | Tag | 3 |
| SGPset_Slab | ConstructionMethod | Pset_ConcreteElementGeneral.CastingMethod | 3 |
| SGPset_Slab | LoadBearing | Pset_SlabCommon.LoadBearing | 2 |
| SGPset_SlabDimension | Thickness | geometry: smallest extent | 1 |
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 |
| 1gNND8DMLRnhwOonVDr7z8 | SGPset_SlabDimension.Thickness | 0.25 | IfcLengthMeasure | 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 |
Derivations deferred for review
| GlobalId | Property | Reason |
|---|---|---|
| 2VBDEcUyTIt9tpVVDRMs_T | SGPset_SlabDimension.Thickness | context-dependent or unsupported IFC unit |
Elements with the most gaps (top 50)
| GlobalId | Class | Name | Gaps | First gaps |
|---|---|---|---|---|
| 2VBDEcUyTIt9tpVVDRMs_T | IfcSlab | S-deferred | 4 | SGPset_SlabDimension.Thickness is empty; SGPset_Slab has no LoadBearing; Demo_Review has no ReviewReference |
| 0IotBT2fjNF97yb0Be3eao | IfcSlab | S-ready | 1 | Demo_Review has no ReviewReference |
| 1gNND8DMLRnhwOonVDr7z8 | IfcSlab | S-derive | 1 | Demo_Review has no ReviewReference |
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 | 2VBDEcUyTIt9tpVVDRMs_T | SGPset_SlabDimension.Thickness | DEMO-THICKNESS · IfcSlab · S-deferred · SGPset_SlabDimension.Thickness is empty |
| Demo structures | error | needs-correction | 2VBDEcUyTIt9tpVVDRMs_T | SGPset_Slab.LoadBearing | DEMO-LOAD · IfcSlab · S-deferred · SGPset_Slab has no 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 structures | evidence | verified | 1gNND8DMLRnhwOonVDr7z8 | SGPset_SlabDimension.Thickness | {"conversion_factor": 1.0, "dimensions": [1, 0, 0, 0, 0, 0, 0], "explicit_unit": true, "explicit_unit_definition": {"Name": "METRE", "Prefix": null, "UnitType": "LENGTHUNIT", "id": 94, "ifc_class": "IfcSIUnit"}, "guid": "1gNND8DMLRnhwOonVDr7z8", "measure_type": "IfcLengthMeasure", "normalized_value": 0.25, "property": "Thickness", "property_id": 98, "property_origin": "instance", "pset": "SGPset_SlabDimension", "raw_value": 0.25, "rule": "DEMO-THICKNESS", "source_scale_si": 1.0, "source_unit": "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 |
|---|---|---|---|---|---|
| Demo coordination | evidence | auto-filled | 0IotBT2fjNF97yb0Be3eao | SGPset_SlabDimension.Mark | {"class": "IfcSlab", "conversion_factor": "", "geometry_project_unit": "", "guid": "0IotBT2fjNF97yb0Be3eao", "mapping_units": "", "measure_type": "", "name": "S-ready", "property": "Mark", "pset": "SGPset_SlabDimension", "source": "Tag", "source_unit": "", "source_value_si_m": "", "unit": "", "value": "S-ready"} |
| Demo structures | evidence | auto-filled | 0IotBT2fjNF97yb0Be3eao | SGPset_Slab.ConstructionMethod | {"class": "IfcSlab", "conversion_factor": "", "geometry_project_unit": "", "guid": "0IotBT2fjNF97yb0Be3eao", "mapping_units": "", "measure_type": "", "name": "S-ready", "property": "ConstructionMethod", "pset": "SGPset_Slab", "source": "Pset_ConcreteElementGeneral.CastingMethod", "source_unit": "", "source_value_si_m": "", "unit": "", "value": "CIS"} |
| Demo structures | evidence | auto-filled | 0IotBT2fjNF97yb0Be3eao | SGPset_Slab.LoadBearing | {"class": "IfcSlab", "conversion_factor": "", "geometry_project_unit": "", "guid": "0IotBT2fjNF97yb0Be3eao", "mapping_units": "", "measure_type": "", "name": "S-ready", "property": "LoadBearing", "pset": "SGPset_Slab", "source": "Pset_SlabCommon.LoadBearing", "source_unit": "", "source_value_si_m": "", "unit": "", "value": true} |
| Demo coordination | evidence | auto-filled | 1gNND8DMLRnhwOonVDr7z8 | SGPset_SlabDimension.Mark | {"class": "IfcSlab", "conversion_factor": "", "geometry_project_unit": "", "guid": "1gNND8DMLRnhwOonVDr7z8", "mapping_units": "", "measure_type": "", "name": "S-derive", "property": "Mark", "pset": "SGPset_SlabDimension", "source": "Tag", "source_unit": "", "source_value_si_m": "", "unit": "", "value": "S-derive"} |
| Demo structures | evidence | auto-filled | 1gNND8DMLRnhwOonVDr7z8 | SGPset_SlabDimension.Thickness | {"class": "IfcSlab", "conversion_factor": 1.0, "geometry_project_unit": "METRE", "guid": "1gNND8DMLRnhwOonVDr7z8", "mapping_units": "m", "measure_type": "IfcLengthMeasure", "name": "S-derive", "property": "Thickness", "pset": "SGPset_SlabDimension", "source": "geometry: smallest extent", "source_unit": "SI metre geometry", "source_value_si_m": 0.25, "unit": "m", "value": 0.25} |
| Demo structures | evidence | auto-filled | 1gNND8DMLRnhwOonVDr7z8 | SGPset_Slab.ConstructionMethod | {"class": "IfcSlab", "conversion_factor": "", "geometry_project_unit": "", "guid": "1gNND8DMLRnhwOonVDr7z8", "mapping_units": "", "measure_type": "", "name": "S-derive", "property": "ConstructionMethod", "pset": "SGPset_Slab", "source": "Pset_ConcreteElementGeneral.CastingMethod", "source_unit": "", "source_value_si_m": "", "unit": "", "value": "CIS"} |
| Demo structures | evidence | auto-filled | 1gNND8DMLRnhwOonVDr7z8 | SGPset_Slab.LoadBearing | {"class": "IfcSlab", "conversion_factor": "", "geometry_project_unit": "", "guid": "1gNND8DMLRnhwOonVDr7z8", "mapping_units": "", "measure_type": "", "name": "S-derive", "property": "LoadBearing", "pset": "SGPset_Slab", "source": "Pset_SlabCommon.LoadBearing", "source_unit": "", "source_value_si_m": "", "unit": "", "value": true} |
| Demo coordination | evidence | auto-filled | 2VBDEcUyTIt9tpVVDRMs_T | SGPset_SlabDimension.Mark | {"class": "IfcSlab", "conversion_factor": "", "geometry_project_unit": "", "guid": "2VBDEcUyTIt9tpVVDRMs_T", "mapping_units": "", "measure_type": "", "name": "S-deferred", "property": "Mark", "pset": "SGPset_SlabDimension", "source": "Tag", "source_unit": "", "source_value_si_m": "", "unit": "", "value": "S-deferred"} |
| Demo structures | evidence | auto-filled | 2VBDEcUyTIt9tpVVDRMs_T | SGPset_Slab.ConstructionMethod | {"class": "IfcSlab", "conversion_factor": "", "geometry_project_unit": "", "guid": "2VBDEcUyTIt9tpVVDRMs_T", "mapping_units": "", "measure_type": "", "name": "S-deferred", "property": "ConstructionMethod", "pset": "SGPset_Slab", "source": "Pset_ConcreteElementGeneral.CastingMethod", "source_unit": "", "source_value_si_m": "", "unit": "", "value": "CIS"} |
Derivations deferred for review
| Agency | Severity | Status | GlobalId | Property | Complete evidence |
|---|---|---|---|---|---|
| Demo structures | evidence | deferred | 2VBDEcUyTIt9tpVVDRMs_T | SGPset_SlabDimension.Thickness | {"guid": "2VBDEcUyTIt9tpVVDRMs_T", "property": "Thickness", "pset": "SGPset_SlabDimension", "reason": "context-dependent or unsupported IFC unit", "status": "unverified"} |