Class Ifc2x3::IfcMaterialLayer

Nested Relationships

This class is a nested type of Struct Ifc2x3.

Inheritance Relationships

Base Type

Class Documentation

class Ifc2x3::IfcMaterialLayer : public IfcUtil::IfcBaseEntity

IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase.

EXAMPLE A cavity wall with brick masonry used with an air gap in between would be modeled using three IfcMaterialLayer’s: [1] Brick, [2] Air gap, [3] Brick. The inner layer “Brick” would have a Name = “Brick”, an individual LayerThickness, and potentially a Category indicating it as “load bearing”, and a Priority that controls how this material layer interacts with other material layers in wall connections.

The IfcMaterialLayer may have a material layer name, that might be different to the IfcMaterial name referenced.

EXAMPLE The IfcMaterialLayer name of an insulation layer can be “Insulation”, whereas the IfcMaterial

name is “polystyrene insulating


HISTORY New entity in IFC 1.5

IFC2x4 CHANGE The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure.

Public Types

typedef IfcTemplatedEntityList<IfcMaterialLayer> list

Public Functions

bool hasMaterial() const

Whether the optional attribute Material is defined for this IfcMaterialLayer.

::Ifc2x3::IfcMaterial *Material() const

Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point.

void setMaterial(::Ifc2x3::IfcMaterial *v)
double LayerThickness() const

The thickness of the material layer. The dimension is measured along the positive MlsDirection as specified in IfcMaterialLayerSet (that is mapped to AXIS-2, as specified in IfcMaterialLayerSetUsage for element occurrences supporting IfcMaterialLayerSetUsage.

NOTE The attribute value can be 0. for material thicknesses very close to zero, such as for a membrane. Material layers with thickess 0. shall not be rendered in the geometric representation.

IFC2x4 CHANGE The attribute datatype has been changed to IfcNonNegativeLengthMeasure allowing for 0. as thickness.

void setLayerThickness(double v)
bool hasIsVentilated() const

Whether the optional attribute IsVentilated is defined for this IfcMaterialLayer.

bool IsVentilated() const

Indication of whether the material layer represents an air layer (or cavity).

set to TRUE if the material layer is an air gap and provides air exchange from the layer to the outside air. set to UNKNOWN if the material layer is an air gap and does not provide air exchange (or when this information about air exchange of the air gap is not available). set to FALSE if the material layer is a solid material layer (the default).

void setIsVentilated(bool v)
IfcTemplatedEntityList<IfcMaterialLayerSet>::ptr ToMaterialLayerSet() const
const IfcParse::entity &declaration() const
IfcMaterialLayer(IfcEntityInstanceData *e)
IfcMaterialLayer(::Ifc2x3::IfcMaterial *v1_Material, double v2_LayerThickness, boost::optional<bool> v3_IsVentilated)

Public Static Functions

const IfcParse::entity &Class()