Class Ifc4x1::IfcCovering

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcCovering : public Ifc4x1::IfcBuildingElement

Definition from ISO 6707-1:1989: term used: Finishing - final coverings and treatments of surfaces and their intersections. A covering is an element which covers some part of another element and is fully dependent on that other element. The IfcCovering defines the occurrence of a covering type, that (if given) is expressed by the IfcCoveringType. Examples of coverings include wall claddings, floorings and suspended ceilings. Coverings are elements with relationships to the covered element and the space on the other side, they may contain openings, assigned by IfcRelVoidsElement, material information, assigned by IfcRelAssociatesMaterial, and others. NOTE A more basic information about claddings, floorings, and ceilings of a space can be attached to IfcSpace’s using the Pset_SpaceCommon properties. Then only a name can be provided and the covering quantities would be interpreted from the space quantities. Coverings can be assigned to

a space represented by IfcSpace

using the inverse relationship CoversSpaces pointing to IfcRelCoversSpaces. The space is then accessible via IfcRelCoversSpaces.RelatedSpace. It defines to which space a covering is facing towards.

NOTE The mere containment relationship between an IfcCovering and an IfcSpace is created by using IfcRelContainedInSpatialStructure

a space boundary represented by IfcRelSpaceBoundary

using the inverse relationship ProvidesBoundaries pointing to IfcRelSpaceBoundary. The space is then accessible via IfcRelSpaceBoundary.RelatingSpace.

a building element represented by IfcBuildingElement

using the inverse relationship Covers pointing to IfcRelCoversBldgElements. The building element is then accessible via IfcRelCoversBldgElements.RelatingBuildingElement.

The following guideline shall apply:

(default) if the space has coverings that may not have an own shape representation and no defined relationships to the building elements they cover, then the IfcCovering shall be assigned to IfcSpace using the IfcRelCoversSpaces relationship, if the space has coverings that have an own shape representation and the space has defined space boundaries, then the covering, which relates to that space, may be assigned to the space boundaries using the link toIfcRelSpaceBoundary, if the covering does not relate to a space, then the covering should be assigned to the building element or a distribution element using the IfcRelCoversBldgElements relationship.

HISTORY New entity in IFC Release 1.0. IFC2x CHANGE The attribute PredefinedType is now optional and should only be inserted when no type information, given by IfcCoveringType, is assigned to the IfcCovering occurrence by IfcRelDefinesByType. IFC2x4 CHANGE The IfcCovering is restricted to coverings of building elements by having RelatingBuildingElement pointing to IfcBuildingElement.

Type Use Definition The IfcCovering defines the occuurence of any covering, common information about covering types (or styles) is handled by IfcCoveringType. The IfcCoveringType (if present) may establish the commontype name, usage (or predefined) type, common set of properties, common material layer set, and common shape representations (using IfcRepresentationMap). The IfcCoveringType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute. As an additional use agreement for standard coverings (i.e. slabs with constant thickness along the extrusion direction), the IfcCoveringType should have a unique IfcMaterialLayerSet, that is referenced by theIfcMaterialLayerSetUsage assigned to all occurrences of this covering type.

Figure 91 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the covering type and the covering occurrence.

Figure 91 — Covering material usage

If an IfcCoveringType is assigned to the IfcCovering, the attribute PredefinedType shall not be assigned, or shall be identical to IfcCoveringType.PredefinedType. Property Set Use Definition: The property sets relating to the IfcCovering are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcCovering are part of this IFC release:

Pset_CoveringCommon: common property set for all covering occurrences

Pset_CoveringCeiling: specific property set for all occurrences of coverings with the PredefinedType: CEILING Pset_CoveringFlooring: specific property set for all occurrences of coverings with the PredefinedType: FLOORING

Quantity Use Definition: The quantities relating to the IfcCovering are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quantities shall never be assigned to the IfcCoveringType.

Qto_CoveringBaseQuantities: base quantities for all covering occurrences.

Containment Use Definition The IfcCovering has a containment relationship within the hierarchical spatial structure.

The IfcCovering is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, referring to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of IfcSpatialStructureElement are valid spatial containers, with IfcSpace being the default container.

Geometry Use Definitions The geometric representation of IfcCovering is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are: Local Placement The local placement for IfcCovering is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the same IfcSpatialStructureElement , which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that. If the IfcCovering, however, is assigned to an IfcBuildingElement, and this element defines its own local placement, than the PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the IfcBuildingElement. If the relative placement is not used, the absolute placement is defined within the world coordinate system.

Geometric Representations The geometric representation of the IfcCovering depends on two criteria:

Does it define an area or a volume? Is the base surface (either the IfcRelSpaceBoundary or the surface of the IfcBuildingElement it relates to) a planar surface or a cylindrical surface?

GeometricSet Representation The ‘GeometricSet’ geometric representation of IfcCovering supports area definitions as 3D surfaces.

RepresentationIdentifier : ‘Surface’ RepresentationType : ‘GeometricSet’

The following additional constraints apply to the ‘GeometricSet’ representation of IfcCovering:

for planar base surfaces - bounded surface representation for cylindrical base surfaces - swept surface representation

Figure 92 illustrates a planar surface representation where the area of IfcCovering is given by an IfcPolyLoop for planar base surfaces (here given by the IfcRelSpaceBoundary).

The implicit planar surface of the IfcPolyLoop shall be identical with the planar surface defined by the IfcRelSpaceBoundary.

Figure 92 — Covering surface planar

Figure 93 illustrates a cylindrical surface representation where the area of the IfcCovering is given by an IfcSurfaceOfLinearExtrusion for cylindrical base surfaces (here given by the IfcRelSpaceBoundary - such as caused by a round wall).

The geometry representation of the IfcCovering is given by the IfcTrimmedCurved (the Curve parameter of the IfcArbitraryOpenProfileDef - in cases of faceted representation also an IfcPolyline). It is extruded within the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion.

Figure 93 — Covering surface cylindrical

SweptSolid Representation The ‘SweptSolid’ geometric representation of IfcCovering supports volume definitions as 3D solids.

RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’

The following additional constraints apply to the ‘SweptSolid’ representation of IfcCovering:

for planar base surfaces - swept area representation for cylindrical base surfaces - swept area representation

Figure 94 illustrates a body representation where the volume of IfcCovering is given by an IfcExtrudedAreaSolid for planar base surfaces (here given by the IfcRelSpaceBoundary).

The extruded area (IfcArbitraryClosedProfileDef) shall be coplanar to the surface defined by the IfcRelSpaceBoundary.

Figure 94 — Covering body planar

Figure 95 illustrates a body representation where the volume of the IfcCovering is given by an IfcExtrudedAreaSolid for cylindrical base surfaces (here given by the IfcRelSpaceBoundary - such as caused by a round wall).

The geometry representation of the IfcCovering is given by the IfcCompositeCurve (the OuterCurve parameter of the IfcArbitraryClosedProfileDef - in cases of faceted representation also a closed IfcPolyline). It is extruded along the plane of the base surface using the Depth parameter of the IfcSurfaceOfLinearExtrusion.

Figure 95 — Covering body circular

Public Types

typedef IfcTemplatedEntityList<IfcCovering> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcCovering.

::Ifc4x1::IfcCoveringTypeEnum::Value PredefinedType() const

Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type.

void setPredefinedType(::Ifc4x1::IfcCoveringTypeEnum::Value v)
IfcTemplatedEntityList<IfcRelCoversSpaces>::ptr CoversSpaces() const
IfcTemplatedEntityList<IfcRelCoversBldgElements>::ptr CoversElements() const
const IfcParse::entity &declaration() const
IfcCovering(IfcEntityInstanceData *e)
IfcCovering(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4x1::IfcCoveringTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()