A roof is the covering of the top part of a building, it protects the building against the effects of wheather.
NOTE Definition according to ISO 6707-1:
construction enclosing the building from above.
The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof).
The geometric representation of IfcRoof is given by the
IfcProductDefinitionShape, allowing multiple geometric
representations. Independent 'Body' geometric representations should
only be used when the IfcRoof is not defined as an
aggregate. If defined as an aggregate, the 'Body' geometric
representation is the sum of the representation of the components
within the aggregate.
NOTE View definitions and implementer
agreements may restrict the IfcRoof to not have an
independent geometry, but to always require aggregated elements
to represent the shape of the roof.
NOTE If the IfcRoof has aggregated elements to
represent the shape of the roof, then only those elements shall
have openings, not the IfcRoof
HISTORY New entity in IFC2.0.
IFC4 CHANGE Attribute ShapeType renamed to PredefinedType.
Common Use Definitions
The following concepts are inherited at supertypes:
- IfcRoot: Identity, Revision Control
- IfcElement: Box Geometry, FootPrint Geometry, Body SurfaceOrSolidModel Geometry, Body SurfaceModel Geometry, Body Tessellation Geometry, Body Brep Geometry, Body AdvancedBrep Geometry, Body CSG Geometry, Mapped Geometry
- IfcBuildingElement: Product Assignment, Surface 3D Geometry
The Object Typing concept applies to this entity as shown in Table 155.
Table 155 — IfcRoof Object Typing
Property Sets for Objects
The Property Sets for Objects concept applies to this entity as shown in Table 156.
Table 156 — IfcRoof Property Sets for Objects
The Quantity Sets concept applies to this entity as shown in Table 157.
Table 157 — IfcRoof Quantity Sets
The Spatial Containment concept applies to this entity as shown in Table 158.
|IfcBuildingStorey||Default spatial container |
|IfcBuilding||Spatial container for the element if it cannot be assigned to a building storey|
|IfcSite||Spatial container for the element in case that it is placed on site (outside of building)|
Table 158 — IfcRoof Spatial Containment
The Element Decomposition concept applies to this entity as shown in Table 159.
|IfcSlab||A roof may be aggregated into slabs for each face.|
Table 159 — IfcRoof Element Decomposition
Geometric representation by aggregated elements
If the IfcRoof has components (referenced by
SELF\IfcObject.IsDecomposedBy) then no independent
geometric representation shall defined for the IfcRoof.
The IfcRoof is then geometrically represented by the
geometric representation of its components. The components are
geometric representations that are supported for the aggregated
elements are defined with each element. See geometric use
definition for IfcSlab, IfcBeam, IfcColumn,
IfcBuildingElementPart and other subtypes of
Figure 207 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements.
Figure 207 — Roof placement
The Product Placement concept applies to this entity as shown in Table 160.
Table 160 — IfcRoof Product Placement
The following restriction may be imposed by view definitions or implementer agreements:
- If the IfcRoof establishes an aggregate, then
all contained elements shall be placed relative to the
XSD Specification: <xs:element name="IfcRoof" type="ifc:IfcRoof" substitutionGroup="ifc:IfcBuildingElement" nillable="true"/>
<xs:attribute name="PredefinedType" type="ifc:IfcRoofTypeEnum" use="optional"/>
|CorrectShapeDecomposition|| : ||(HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 0)
((HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 1)
(SIZEOF(QUERY( temp <* SELF\IfcProduct.Representation.Representations |
temp.RepresentationIdentifier = 'Body')) = 0
|CorrectPredefinedType|| : ||NOT(EXISTS(PredefinedType)) OR
(PredefinedType <> IfcRoofTypeEnum.USERDEFINED) OR
((PredefinedType = IfcRoofTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));|
|CorrectTypeAssigned|| : ||(SIZEOF(IsTypedBy) = 0) OR
('IFCSHAREDBLDGELEMENTS.IFCROOFTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy.RelatingType));|
|PredefinedType|| : ||
Predefined generic types for a roof that are specified in an enumeration. There may be a property set given for the predefined types.
NOTE The PredefinedType shall only be used, if no IfcRoofType is assigned, providing its own IfcRoofType.PredefinedType.
IFC4 CHANGE The attribute has been renamed from ShapeType and changed to be OPTIONAL with upward compatibility for file based exchange.
|CorrectShapeDecomposition|| : ||
Either the IfcRoof is not decomposed into its roof slabs and supporting construction elements, then the IfcRoof may have independent geometry. Or the IfcRoof is decomposed into parts, then the IfcRoof shall not have an own geometric shape representation of RepresentationType = 'Body'.
|CorrectPredefinedType|| : ||
Either the PredefinedType attribute is unset (e.g. because an IfcRoofType is associated), or the inherited attribute ObjectType shall be provided, if the PredefinedType is set to USERDEFINED.
|CorrectTypeAssigned|| : ||
Either there is no roof type object associated, i.e. the IsTypedBy inverse relationship is not provided, or the associated type object has to be of type IfcRoofType.
Link to this page