IfcValidator
This is a BIMserver plugin that checks Ifc2x3tc1 models for common requirements.
Note: This plugin needs BIMserver 1.5
The plugin generates Extended Data according to the following Validation Report format.
For now, this plugin only implements checks that can be done with only the IFC file, so it will not read external files for cross-checking data.
TODO
- Implement for IFC4 as well
Checks
A list of checks that have been identified by asking people from the building industry and reading Dutch "norm" documents that seem computer checkable.
| Check | Implemented | Part of | | ------------- | ------------- | ----- | ------ | | Exactly 1 IfcProject | | RVB_BIM_Norm 1.1 | | IfcProject has at least one representation where the TrueNorth attribute has been set | | RVB_BIM_Norm 1.1 | | IfcProject has a length unit set | | RVB_BIM_Norm 1.1 | | Length unit is either in Meters or Millimeters | | RVB_BIM_Norm 1.1 | | IfcProject has an area unit | | RVB_BIM_Norm 1.1 | | Area unit is in m2 | | RVB_BIM_Norm 1.1 | | IfcProject has a volume unit | | RVB_BIM_Norm 1.1 | | Volume unit is in m3 | | RVB_BIM_Norm 1.1 | | Exactly 1 IfcSite | | RVB_BIM_Norm1.1 | | [Dutch]Kadastrale aanduidingen | | RVB_BIM_Norm 1.1 2.2.7.2 | | IfcSite has lattitude | | RVB_BIM_Norm 1.1 | | IfcSite has longitude | | RVB_BIM_Norm 1.1 | | IfcSite has elevation | | RVB_BIM_Norm 1.1 | | Has at least one IfcBuilding | | RVB_BIM_Norm 1.1 | | Has at least one IfcBuildingStorey | | RVB_BIM_Norm 1.1 2.2.7.4 | | Building storeys naming according to RVB_BIM_Norm | | RVB_BIM_Norm 1.1 | | [link]Building storeys with increasing numbers have increased center | | RVB_BIM_Norm 1.1 | | All objects must be hierarchically structured to be in a building storey | | RVB_BIM_Norm 1.1 | | Use a special "cube" to identify the origin of the model | | | | Check whether the right Ifc entitities have been used based on geometric ratios | | | | No use of IfcProxy | | | Every object should have some kind of identification | | | No 2 objects can be modelled the same, be at the same place or represent the same thing | | | Clash detection | |
Further explanations
Geometric ratios
This check uses the geometry of an object to check whether the right IFC type has been used. For example, IfcSlab objects are usually flat surfaces that ware much wider then they are high. Columns are usually slender compared to their length etc...
To be able to do these kind of comparisons it would be very useful to have oriented bounding boxes available (those are not available in BImserver at the moment).
Eample
Screenshot from a validationreport generated by this plugins, shown in BIMvie.ws