Class Ifc4x1::IfcStructuralCurveMember

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class Ifc4x1::IfcStructuralCurveMember : public Ifc4x1::IfcStructuralMember

Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved.

HISTORY: New entity in IFC 2x2.

IFC 2x4 change: Attribute Axis and WHERE rule added. Use definitions changed.

Coordinate Systems:

See definitions at IfcStructuralItem. The local coordinate system is established by the reference curve given by topology representation and by the attribute Axis. The local x axis is parallel with the tangent on the reference curve. The local z axis is located in the surface which is created by sweeping Axis along the reference curve and is directed according to Axis. The local y axis is directed such that x,y,z form a right-handed Cartesian coordinate system.

Material Use Definition

The material of direct instances IfcStructuralCurveMember (in contrast to instances of the subtype IfcStructuralCurveMemberVarying) is defined by IfcMaterialProfileSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Composite profile beams can be represented by refering to several IfcMaterialProfiles within the IfcMaterialProfileSet that is referenced from the IfcMaterialProfileSetUsage. In case of tapered members, the material profile usage subtype IfcMaterialProfileSetUsageDual is used which specifies IfcMaterialProfileSets separately at the start and the end of the tapered member.

The material (IfcMaterial) in each IfcMaterialProfile(Set) is specified minimally by a name which corresponds with an agreed upon standardized structural material designation. An external reference to the source which specifies the material designation should be provided. Alternatively, structural material properties may be provided by means of IfcMechanicalMaterialProperties and IfcExtendedMaterialProperties.

The profile (IfcProfileDef) in each IfcMaterialProfile(Set) is specified minimally by a name which corresponds with an agreed upon standardized structural profile designation. An external reference to the source which specifies the profile designation should be provided. Alternatively or additionally, explicit profile geometry should be provided by using respective subtypes of IfcProfileDef. Alternatively or additionally, structural profile properties may be provided by means of subtypes of IfcProfileProperties.

An IfcProfileDef is a two-dimensional geometric object with a xp,yp coordinate system. The profile is inserted into the curve member model thus that the origin of xp,yp is located at the member’s reference curve and that xp,yp are parallel with and directed like the local y,z.

NOTE Due to convention in structural mechanics, axis names of IfcStructuralCurveMember differ from axis names of building elements like IfcBeamStandardCase: The extrusion axis of IfcStructuralCurveMember is called x while the extrusion axis of IfcBeamStandardCase is called z. Hence x,y,z of IfcStructuralCurveMember correspond with z,x,y of IfcBeamStandardCase.

If the profile is meant to be inserted centrically in terms of structural section properties, it is necessary that the origin of xp,yp is identical with the geometric centroid of the profile (commonly also called centre of gravity). If subtypes of IfcParameterizedProfileDef are used which are only singly symmetric or are asymmetric, an explicit translation by IfcParameterizedProfileDef.Position.Location is required then.

If the profile is inserted at its geometric centroid, IfcMaterialProfileSetUsage.CardinalPoint shall be set to 10.

Otherwise, the profile is inserted eccentrically and a different cardinal point should be set accordingly.

NOTE Another eccentricity model is available independently of eccentric profile specification: The reference curve of the member may be located eccentrically relative to the reference points of the connected IfcStructuralPointConnections. The connection relationship is then established by IfcRelConnectsWithEccentricity. Whether one or the other or both eccentricity models may be used is subject to information requirements and local agreements.

Topology Use Definitions:

Direct instances of IfcStructuralCurveMember shall have a topology representation which consists of one instance of IfcEdge or a subtype, representing the reference curve of the curve member. See definitions at IfcStructuralItem for further specifications.

Informal propositions:

The reference curve must not be parallel with Axis at any point within the curve member’s domain.

Subclassed by Ifc4x1::IfcStructuralCurveMemberVarying

Public Functions

::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const

Type of member with respect to its load carrying behavior in this analysis idealization.

void setPredefinedType(::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v)
::Ifc4x1::IfcDirection *Axis() const

Direction which is used in the definition of the local z axis. Axis is specified relative to the so-called global coordinate system, i.e. the SELF\IfcProduct.ObjectPlacement.

NOTE It is desirable and usually possible that many instances of IfcStructuralCurveConnection and IfcStructuralCurveMember share a common instance of IfcDirection as their Axis attribute.

void setAxis(::Ifc4x1::IfcDirection *v)
const IfcParse::entity &declaration() const
IfcStructuralCurveMember(IfcEntityInstanceData *e)
IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation *v7_Representation, ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x1::IfcDirection *v9_Axis)

Public Static Functions

const IfcParse::entity &Class()