Class Ifc4x3_rc1::IfcPlateStandardCase

Nested Relationships

This class is a nested type of Struct Ifc4x3_rc1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x3_rc1::IfcPlateStandardCase : public Ifc4x3_rc1::IfcPlate

The standard plate, IfcPlateStandardCase, defines a plate with certain constraints for the provision of material usage, parameters and with certain constraints for the geometric representation. The IfcPlateStandardCase handles all cases of plates, that:

have a reference to the IfcMaterialLayerSetUsage defining the material layers of the plate with thicknesses are based on an extrusion of a planar surface as defined by the plate profile have a constant thickness along the extrusion direction are consistent in using the correct material layer set offset to the base planar surface in regard to the shape representation are extruded perpendicular to the plane surface

The definitions of plate openings and niches are the same as given at the supertype IfcPlate. The same agreements to the special types of plates, as defined in the PredefinedType attribute apply as well. HISTORY New entity in IFC2x Edition 4. Type Use Definition The IfcPlateStandardCase defines the occuurence of any plate, common information about plate types (or styles) is handled by IfcPlateType. The IfcPlateType (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 IfcPlateType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute. The IfcPlateStandardCase defines in addition that the IfcPlateType should have a unique IfcMaterialLayerSet, that is referenced by theIfcMaterialLayerSetUsage assigned to all occurrences of this plate type.

Figure 107 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the IfcPlateStandardCase as the plate occurrence and to the IfcPlateType. The same IfcMaterialLayerSet shall be shared by many occurrences of IfcMaterialLayerSetUsage. This relationship shall be consistent to the relationship between the IfcPlateType and the IfcPlateStandardCase.

Figure 107 — Plate type definition

Material Use Definition The material of the IfcPlateStandardCase is defined by IfcMaterialLayerSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Multi-layer plates can be represented by refering to several IfcMaterialLayer’s within the IfcMaterialLayerSet that is referenced from the IfcMaterialLayerSetUsage. Material information can also be given at the IfcPlateType, defining the common attribute data for all occurrences of the same type.It is then accessible by the inverse IsDefinedBy relationship pointing to IfcPlateType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial. See Type Use Definition for additional agreements for standard plates.

As shown in Figure 108, the following conventions shall be met:

The reference coordinate system is the coordinate system established by the IfcExtrudedAreaSolid.Position. The reference plane is the plane defined by the extruded profile of IfcExtrudedAreaSolid.SweptSolid. The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is given as a distance from this plane. The IfcMaterialLayerSetUsage.DirectionSense defines how the IfcMaterialLayer’s are assigned to the reference plane. POSITIVE means in direction to the positive z-axis of the reference coordinate system. The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is the distance parallel to the reference plane and always perpendicular to the base (XY) plane of the reference coordinate system. This is independent of a potential non-perpendicular extrusion given by IfcExtrudedAreaSolid.ExtrudedDirection <> 0.,0.,1. A positive value of IfcMaterialLayerSetUsage.OffsetFromReferenceLine would then point into the positive z-axis of the reference coordinate system. The Thickness of each IfcMaterialLayer shall be the parallel distance (measured perpendicular to the base plane). The TotalThickness of the IfcMaterialLayerSet is the sum of all layer thicknesses and in case of a perpendicular extrusion identical with IfcExtrudedAreaSolid.Depth The IfcMaterialLayerSetUsage.LayerSetDirection i always AXIS3.

Figure 108 — Plate material layers

Property Set Use Definition: The property sets relating to the IfcPlateStandardCase are defined at the supertype IfcPlate. Quantity Use Definition The quantities relating to the IfcPlateStandardCase are defined at the supertype IfcPlate. Containment Use Definition The containment use definitions relating to the IfcPlateStandardCase are defined at the supertype IfcPlate. Geometry Use Definitions The geometric representation of IfcPlateStandardCase is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are: Local Placement The use of local placement is defined at the supertype IfcPlate. Geometric Representations Currently, the use of ‘SweptSolid’ and ‘Clipping’ representations is supported. In addition the general representation type ‘BoundingBox’ is allowed. The geometry use definitions for ‘BoundingBox’, is explained at IfcBuildingElement. SweptSolid Representation The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used for the ‘SweptSolid’ representation:

RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’

The following additional constraints apply to the swept solid representation:

Solid: IfcExtrudedAreaSolid is required, Profile: IfcArbitraryClosedProfileDef, IfcRectangleProfileDef, IfcRoundedRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef shall be supported. Extrusion: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile. Material: The definition of the IfcMaterialLayerSetUsage, particularly of the OffsetFromReferenceLine and the ForLayerSet.TotalThickness, has to be consistent to the ‘SweptSolid’ representation.

Figure 109 illustrates a ‘SweptSolid’ geometric representation. NOTE The following interpretation of dimension parameter applies for polygonal plates (in ground floor view):

IfcArbitraryClosedProfileDef.OuterCurve: closed bounded curve interpreted as area (or foot print) of the plate.

Figure 109 — Plate body extrusion

Clipping representation The ‘Clipping’ geometric representation of IfcSlabStandardCase is defined using the swept area geometry with additional clippings applied. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Body’ RepresentationType : ‘Clipping’

The following constraints apply to the ‘Clipping’ representation:

Solid: see ‘SweptSolid’ shape representation, Profile:see ‘SweptSolid’ shape representation, Extrusion:see ‘SweptSolid’ shape representation, Material:see ‘SweptSolid’ shape representation, Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid.

Figure 110 illustrates a ‘Clipping’ geometric representation with definition of a plate using advanced geometric representation. The profile is extruded non-perpendicular and the plate body is clipped at the eave.

Figure 110 — Plate body clipping

Public Types

typedef IfcTemplatedEntityList<IfcPlateStandardCase> list

Public Functions

const IfcParse::entity &declaration() const
IfcPlateStandardCase(IfcEntityInstanceData *e)
IfcPlateStandardCase(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, boost::optional<::Ifc4x3_rc1::IfcPlateTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()