Class Ifc4x3_rc1::IfcElementComponent

Nested Relationships

This class is a nested type of Struct Ifc4x3_rc1.

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Ifc4x3_rc1::IfcElementComponent : public Ifc4x3_rc1::IfcElement

An element component is a representation for minor items included in, added to or connecting to or between elements, which usually are not of interest from the overall building structure viewpoint. However, these small parts may have vital and load carrying functions within the construction. These items do not provide any actual space boundaries. Typical examples of IfcElementComponents include different kinds of fasteners and various accessories.

HISTORY New entity in IFC Release 2x2

It is often desirable to model a number of same-shaped element components by means of a single occurrence object, e.g. several bolts within a connection or a row of reinforcement elements. In this IFC release, this is possible by means of multiple mapped representation as documented below.

To express the multiplicity of element components also on a higher semantic level, an IfcElementQuantity should be provided via IfcRelDefinesByProperties. The quantity should contain an IfcQuantityCount named ‘Count’ with the number of components.

Geometry Use Definition

The geometric representation of IfcElementComponent is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are:

Local Placement The local placement for IfcElementComponent 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 local placement of the same IfcElement or IfcElementAssembly, which is used in the Decomposes inverse attribute, i.e. the local placement is defined relative to the local placement of the element or element assembly in which the component is contained. If the relative placement is not used, the absolute placement is defined within the world coordinate system.

Surface Model Representation

Any IfcElementComponent (if no further constraints are defined at the level of its subtypes) may be represented as a single or multiple surface models, based on either shell or face based models. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Body’ RepresentationType : ‘SurfaceModel’

Brep Representation

Any IfcElementComponent (if no further constraints are defined at the level of its subtypes) may be represented as a single or multiple Boundary Representation elements (which are restricted to faceted Brep with or without voids). The Brep representation allows for the representation of complex element shape. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Body’ RepresentationType : ‘Brep’

Mapped Representation

The mapped item, IfcMappedItem, should be used if appropriate as it allows for reusing the geometry definition of a type at occurrences of the same type. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Body’ RepresentationType : ‘MappedRepresentation’

Multiple Mapped Representation

A single instance of a subtype of IfcElementComponent can stand for several actual element components at once. In this case, the IfcShapeRepresentation contains as many mapped items as there are element components combined within this occurrence object:

Figure 151 illustrates multiple components modeled as a single occurrence object (here: IfcFastener)

Figure 151 — Element component mapped representation

Representation identifier and type are the same as in single mapped representation. The number of mapped items in the representation corresponds with the count of element components in the IfcElementQuantity.

Subclassed by Ifc4x3_rc1::IfcBuildingElementPart, Ifc4x3_rc1::IfcDiscreteAccessory, Ifc4x3_rc1::IfcFastener, Ifc4x3_rc1::IfcImpactProtectionDevice, Ifc4x3_rc1::IfcMechanicalFastener, Ifc4x3_rc1::IfcReinforcingElement, Ifc4x3_rc1::IfcSign, Ifc4x3_rc1::IfcVibrationDamper, Ifc4x3_rc1::IfcVibrationIsolator

Public Types

typedef IfcTemplatedEntityList<IfcElementComponent> list

Public Functions

const IfcParse::entity &declaration() const
IfcElementComponent(IfcEntityInstanceData *e)
IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)

Public Static Functions

const IfcParse::entity &Class()