Class Ifc4::IfcMechanicalFastener

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcMechanicalFastener : public Ifc4::IfcElementComponent

Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails.

HISTORY New entity in IFC Release 2x2

IFC 2x4 change: Supertype changed from IfcFastener to IfcElementComponent. Attribute PredefinedType added. Attributes NominalDiameter and NominalLength moved to IfcMechanicalFastenerType.

Geometry Use Definition

See definitions at the supertype IfcElementComponent.

In addition, a symbolic representation is defined for a row of fasteners or several rows of fasteners within a single instance of IfcMechanicalFastener. Such rows or arrays may contain possibly large numbers of individual pieces. The product definition shape consists of an IfcShapeRepresentation with the attribute values

RepresentationIdentifier : ‘Row’ RepresentationType : ‘GeometricCurveSet’

and one or several curves as geometric items. The curves represent where the heads of the fasteners are located. The local placement of the IfcMechanicalFastener shall be located and oriented such that the local z axis is parallel with the axes of the fasteners (bolts, nails, staples or similar).

In case of such a symbolic ‘Row’ representation, an IfcElementQuantity should be attached to the IfcMechanicalFastener via IfcRelDefinesByProperties. The quantity should contain an IfcQuantityCount named ‘Count’ with the number of fasteners and an IfcQuantityLength named ‘Spacing’ which expresses the center-to-center distances of fasteners.

Public Types

typedef IfcTemplatedEntityList<IfcMechanicalFastener> list

Public Functions

bool hasNominalDiameter() const

Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastener.

double NominalDiameter() const
void setNominalDiameter(double v)
bool hasNominalLength() const

Whether the optional attribute NominalLength is defined for this IfcMechanicalFastener.

double NominalLength() const
void setNominalLength(double v)
bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcMechanicalFastener.

::Ifc4::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const

Subtype of mechanical fastener.

void setPredefinedType(::Ifc4::IfcMechanicalFastenerTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcMechanicalFastener(IfcEntityInstanceData *e)
IfcMechanicalFastener(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<double> v9_NominalDiameter, boost::optional<double> v10_NominalLength, boost::optional<::Ifc4::IfcMechanicalFastenerTypeEnum::Value> v11_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()