Class Ifc4::IfcRelAssociatesMaterial

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcRelAssociatesMaterial : public Ifc4::IfcRelAssociates

Definition from IAI: Objectified relationship between a material definition and elements or element types to which this material definition applies. The material definition can be:

assigned to an element occurrence as a specific usage of a layer set or profile set assigned to an element occurrence or element type as a layer set, profile set, constituent set or a single material

Materials can be arranged by layers and applied to layered elements. Typical elements are walls and slabs.

An IfcMaterialLayerSet, for layered elements with an indication of the layering direction and individual layer thicknesses An IfcMaterialLayerSetUsage, i.e. a material layer set with positioning information along the reference axis or surface of the element. NOTE As a material layer set usage is an occurrence based information, that applies to each individual element, it cannot be assigned to an element type.

Material can be applied to profiles. Typical elements using profile material are beam, column, member

An IfcMaterialProfileSet, i.e. a set of material assigned to a set of profiles, with a single material assigned to a single profile as the default. An IfcMaterialProfileSetUsage, i.e. a material profile set with positioning information relative to the element axis, also refered to as cardinal point. NOTE As a material profile set usage is an occurrence based information, that applies to each individual element, it cannot be assigned to an element type.

Materials can be arranged by identified parts of a component based element. Typical elements are dorrs/windows (with components such as lining, framing and glazing), or distribution elements.

An IfcMaterialConstituentSet, for component based elements with an indication of the component by keyword to which the material consituent applies. NOTE See the material use definitions at each applicable subtype of IfcElement or IfcElementType for a provision of these keywords.

As a fallback, or in cases where only a single material information is needed, material information can be directly associated

A single IfcMaterial for any element where the material use definition does not prohibits its direct association An IfcMaterialList, e.g. for composite elements, without an information, how the different materials are arranged. NOTE The use of IfcMaterialList is deprecated in IFC2x4 onwards. Use IfcMaterialConstituentSet instead.

The IfcRelAssociatesMaterial relationship is a special type of the IfcRelAssociates relationship. It can be applied to subtypes of IfcElement and subtypes of IfcElementType.

The IfcElement has an inverse relation to its material definition by the HasAssociations attribute, inherited from IfcObject. The IfcElementType has an inverse relation to its material definition by the HasAssociations attribute, inherited from IfcPropertyDefinition.

If both, the element occurrence (by an instance of IfcElement) and the element type (by an instance of IfcElementType, connected through IfcRelDefinesByType) have an associated material, then the material associated to the element occurrence overrides the material associated to the element type.

HISTORY New entity in IFC Release 2.x.

Informal proposition

An IfcMaterialLayerSetUsage shall not be associated with a subtype of IfcElementType, it should only be associated with individual occurrences An IfcMaterialProfileSetUsage shall not be associated with a subtype of IfcElementType, it should only be associated with individual occurrences

Public Functions

::Ifc4::IfcMaterialSelect *RelatingMaterial() const

Material definition assigned to the elements or element types.

void setRelatingMaterial(::Ifc4::IfcMaterialSelect *v)
const IfcParse::entity &declaration() const
IfcRelAssociatesMaterial(IfcEntityInstanceData *e)
IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, IfcEntityList::ptr v5_RelatedObjects, ::Ifc4::IfcMaterialSelect *v6_RelatingMaterial)

Public Static Functions

const IfcParse::entity &Class()