IFC
The Industry Foundation Classes (IFC-schema) uses a spatial hierarchy to organize and position physical entities within a construction and infrastructure project.
This hierarchy gives you the ability to link specific objects, such as elements of roads, railroads, drains, and light poles, with a named section of the infrastructure for improved asset management and project organization.
- Spatial Breakdown Structure: All physical objects must be contained in the spatial breakdown structure with the relation type IfcRelContainedInSpatialStructure. This is the main “backbone” of an IFC data model.
- Functional Breakdown Structure: This is a breakdown based on the functionality of the physical objects, like drainage system, fresh water system, and so on.
-
Physical Component Breakdown Structure: Physical objects are often represented in different composition hierarchies. For example, a manhole could be an aggregation of bottom plate, cone, extension ring, and top lid.
This illustration shows their relations.
When using the IFC 4.3 object type catalog, you can define the spatial breakdown structure, groups, and systems in the model and associate the objects in the model to these structures with the correct relation types.
The illustration below shows the different spatial breakdown entities available in the IFC-schema.
- Road
- Bridge (structures)
- Railway
- Marine Facilities
- Buildings.
If you are working with a domain that is not represented by one of these predefined domains, then you can use IfcFacility, IfcFacilityPart, and IfcFacilityPartCommon to model the spatial breakdown structure in the domain of interest.
The illustration below shows the principal spatial breakdown structure
hierarchy. Each organization, responsible for one or several BIM-projects, must define
the detailed spatial breakdown structure to be used in their projects.
- IfcRelContainedInSpatialStructure: All physical objects must be connected to the spatial breakdown structure once -and only once - by this relation type.
- IfcRelReferencedInSpatialStructure: Physical objects can be connected to the spatial breakdown structure many times by this relation type.
Between the spatial breakdown entities the relation type IfcRelAggregates is used.
A specific example of a spatial breakdown structure is shown below containing a
suggested spatial breakdown structure for a road.
- PT: The attribute Predefined Type (explained in the next section)
- OT: The attribute Object Type (explained in the next section)
- CISS: The association IfcRelContainedInSpatialStructure
Sub-typing the IFC Entities Using the PredefinedType and ObjectType Attributes
One of the main benefits of the IFC-schema is that it allows a strict structure to be applied to data sets that help with model interoperability. To fit into the IFC 4.3-schema, all objects imported into an IFC 4.3 object type catalog model must have the proper attribution applied to them.
Most entities (object types are called entities in the IFC-schema) have an attribute named PredefinedType with specific enumerated values for the given entity. Every enumerated value specifies another (sub) object type.
- ARMOUR
- BALLASTBED
- FILTER
- PAVEMENT
- and so on.
The PredefinedType attribute essentially provides another level of object typing without the need for additional “subentity” definitions in the schema.
PredefinedType values are not just informational; various rules apply, such as applicable property sets for the different enumerated values given for the PredefinedType attribute.
If a custom value is needed because you don’t find an enumerated PredefinedType in the schema that covers your modeling requirements, use the free text attribute ObjectType to define such a custom type. In this case the PredefinedType is set to USERDEFINED.
- PredefinedType: Holds the entity-specific enumeration of predefined type values to further classify the entity.
- ObjectType: Allows for a custom value, if no applicable PredefinedType enumerator can be found. The BIM-manual used in the project must define allowed values for the ObjectType attributes for all the entities used in the project.