# An Inspection of IFC Models from Practice
## 5 Results
### Modelling
#### 5.5.1 Grouping of IfcSite, IfcBuilding, IfcStoreys  
When looking at the grouping of objects, we can notice that the subclasses of _IfcSpatialStructureElement_ (i.e., _IfcSite_, _IfcBuilding_ and _IfcBuildingStorey_) in most cases were used similarly, probably due to the defaults export settings of software (mainly _Autodesk Revit_). It was a bit different for _IfcSpace_. However, their adoption was in all cases inaccurate: from the IFC specifications, they are not intended as a meronymic hierarchy (i.e., _IfcBuildingStorey_ is part of an _IfcBuilding_, which in turn is part of an _IfcSite_), as they were instead wrongly used for the storage of entities (see Section 2.1). _IfcSite_ ([[https://standards.buildingsmart.org/IFC/RELEASE/IFC2x/ADD1/HTML/ifcproducxtension/lexical/ifcsite.html](https://standards.buildingsmart.org/IFC/RELEASE/IFC2x/ADD1/HTML/ifcproducxtension/lexical/ifcsite.html)]([https://standards.buildingsmart.org/IFC/RELEASE/IFC2x/ADD1/HTML/ifcproducxtension/lexical/ifcsite.html](https://standards.buildingsmart.org/IFC/RELEASE/IFC2x/ADD1/HTML/ifcproducxtension/lexical/ifcsite.html)), accessed on 1 March 2021), in 45 cases out of 57, included all the objects in the model, whatever they represented. In another six cases they included everything and in addition they were the class identifying the terrain represented in the model. Finally, in the remaining four models, besides being the group including all the other objects, it was used to classify the elements representing the context of the construction, outside the building, such as poles, external installation boxes, and road signs. In version 4 of IFC the entity _IfcGeographicElement_ is introduced to represent such elements outside the building. However, in the models provided in IFC v.2x3 _IfcSite_ is used for such an aim. Annotations are identified as _IfcSite_ in one case. Moreover, in two cases, _JfcSites_ group parts of the building, which could correspond to apartments in some cases, without full consistency both in the grouping and in the chosen semantics. Looking at the use of _IfcBuilding_ ([[https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/schema/ifcproducxtension/lexical/ifcbuilding.htm](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/schema/ifcproducxtension/lexical/ifcbuilding.htm)]([https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/schema/ifcproducxtension/lexical/ifcbuilding.htm](https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/schema/ifcproducxtension/lexical/ifcbuilding.htm)), accessed on 1 March 2021), 39 out of 57 models used the _IfcBuilding_ class to group, correctly, all the elements belonging to one only building. However, _IfcBuilding_ was used, probably as a default setting of the software, to group all the entities even in the cases where a building was not in the model (i.e., in four models representing a roundabout). It is true, though, that the roundabout was a designed construction and in IFC v.2x3 there are no specific entities to classify it. In another case of a model representing the context of a designed building, many buildings were represented as their envelope, and they were in turn equally grouped as only one building. Finally, in the sample there was the case of a building provided both as one model in its whole representation, and as the single segments (probably, the apartments), in other models, similar to the complete one regarding content. In these cases, the two models of the whole buildings were segmented into parts (grouped as one building each). In addition, the single parts were provided as separated models (10 models), with each model labelled as one building In these cases, the grouping would be correct, although the attribute 'CompositionType' should have the value 'partial', instead of 'element', as actually was. In the inspection of the _IfcBuildingStoreys_ grouping we only considered the models representing buildings, since the ones of the roundabout did not present storeys to be represented.