Class Ifc4::IfcPlate

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class Ifc4::IfcPlate : public Ifc4::IfcBuildingElement

Definition from IAI: An IfcPlate is a planar and often flat part with constant thickness. A plate can be a structural part carrying loads between or beyond points of support, however it is not required to be load bearing.The location of the plate (being horizontal, vertical or sloped) is not relevant to its definition (in contrary to IfcWall and IfcSlab (as floor slab)). NOTE Plates arenormally made of steel, other metallic material, or by glass panels. However the definition of IfcPlate is material independent and specific material information shall be handled by using IfcAssociatesMaterial to assign a material specification to the IfcPlate.

NOTE Although not necessarily, plates are often add-on parts. This is represented by the IfcRelAggregates decomposition mechanism used to aggregate parts, such as IfcPlate, into a container element, e.g. IfcElementAssembly, or IfcCurtainWall.

NOTE The representation of a plate in a structural analysis model is provided by IfcStructuralSurfaceMember being part of an IfcStructuralAnalysisModel. An instance IfcPlate should preferably get its geometric representation and material assignment through the type definition by IfcPlateType assigned using the IfcRelDefinesByType relationship. This allows identical plates in a construction to be represented by the same instance of IfcPlateType. A plate may have openings, such as voids or recesses. They are defined by an IfcOpeningElement attached to the plate using the inverse relationship HasOpenings pointing to IfcRelVoidsElement. The position number of a plate as often used in steel construction is assigned through the attribute IfcElement.Tag The IFC specification provides two entities for plate occurrences:

IfcPlateStandardCase used for all occurrences of plates, that are prismatic and where the thickness parameter can be fully described by the IfcMaterialLayerSetUsage. These plates are always represented geometrically by a ‘SweptSolid’ geometry (or by a ‘Clipping’ geometry based on ‘SweptSolid’), if a 3D geometric representation is assigned. In addition they have to have a corresponding IfcMaterialLayerSetUsage assigned. IfcPlate used for all other occurrences of plates, particularly for plates with changing thickness, or plates with non planar surfaces, and plates having only ‘SurfaceModel’ or ‘Brep’ geometry.

HISTORY New entity in IFC Release 2x2 Type Use Definition The IfcPlate 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 IsTypedBy attribute. If no IfcPlateType is attached(i.e. if only occurrence information is given) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute. Material Use Definition The material of the IfcPlate is defined by IfcMaterialLayerSet, or IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. NOTE It is illegal to assign an IfcMaterialLayerSetUsage to an IfcPlate. Only the subtype IfcPlateStandardCase supports this concept. 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 IsTypedBy relationship pointing to IfcPlateType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial. Property Set Use Definition The property sets relating to the IfcPlate 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 IfcPlate are part of this IFC release:

Pset_PlateCommon: common property set for all plate occurrences

Quantity Use Definition The quantities relating to the IfcPlate and IfcPlateStandardCase 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. Quanties shall be never assigned to the IfcPlateType.

Qto_PlateBaseQuantities: base quantities for all plate occurrences.

Containment Use Definitions The IfcPlate, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second relationship is the aggregation within anelement assembly.

TheIfcPlate is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, referring to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes ofIfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container. TheIfcPlate may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, referring to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype. In this case, no additional relationship to the spatial hierarchy shall be given (i.e.SELF\IfcElement.ContainedInStructure = NIL), the relationship to the spatial container is handled by the element assembly.

Geometry Use Definition The geometric representation of IfcPlate is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are: Local Placement The local placement for IfcPlate 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 IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that.

If the IfcPlate is part of an assembly, the PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the container element, e.g. IfcElementAssembly,

If the relative placement is not used, the absolute placement is defined within the world coordinate system.

Geometric Representation Currently, the ‘Surface’, ‘FootPrint’, ‘Body’, and ‘Box’ representations are supported. The ‘Box’ representation includes the representation type ‘BoundingBox’ and is explained at IfcBuildingElement. Surface Representation The surfacic geometric representation of IfcPlate is defined using the ‘Surface’ representation.

RepresentationIdentifier : ‘Surface’ RepresentationType : ‘Surface3D’

NOTE The ‘Surface’ can be used to define a surfacic model of the building (e.g. for analytical purposes, or for reduced Level of Detail representation). Body Representation The body representation of IfcPlate can be represented using the representation types ‘SweptSolid’, ‘Clipping’, ‘MappedRepresentation’, ‘SurfaceModel’, and ‘Brep’. The representation types ‘SurfaceModel’ and ‘Brep’ are explained at IfcBuildingElement. SweptSolid Representation Type The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used: If a corresponding material definition using IfcMaterialLayerSetUsage can be assigned, the subtype IfcPlateStandardCase shall be used.

RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’

The following additional constraints apply to the swept solid representation:

Solid: IfcExtrudedAreaSolid is required, Profile: IfcArbitraryClosedProfileDef, IfcArbitraryProfileDefWithVoids, IfcRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef shall be supported. Extrusion: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile.

Clipping Representation Type The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Body’ RepresentationType : ‘Clipping’

MappedRepresentation Representation Type The ‘MappedRepresentation’ shall be supported as it allows for reusing the geometry definition of the member type at all occurrences of the same type. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Body’ RepresentationType : ‘MappedRepresentation’

The same constraints, as given for the ‘SweptSolid’, ‘Clipping’, ‘SurfaceModel’, and ‘Brep’ geometric representation, shall apply to the MappedRepresentation of the IfcRepresentationMap.

Subclassed by Ifc4::IfcPlateStandardCase

Public Types

typedef IfcTemplatedEntityList<IfcPlate> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcPlate.

::Ifc4::IfcPlateTypeEnum::Value PredefinedType() const

Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType.

IFC2x4 CHANGE The attribute has been added at the end of the entity definition.

void setPredefinedType(::Ifc4::IfcPlateTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcPlate(IfcEntityInstanceData *e)
IfcPlate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4::IfcPlateTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()