Class Ifc4x3_rc1::IfcMember

Nested Relationships

This class is a nested type of Struct Ifc4x3_rc1.

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class Ifc4x3_rc1::IfcMember : public Ifc4x3_rc1::IfcBuiltElement

An IfcMember is a structural member designed to carry loads between or beyond points of support. It is not required to be load bearing. The orientation of the member (being horizontal, vertical or sloped) is not relevant to its definition (in contrary to IfcBeam and IfcColumn). An IfcMember represents a linear structural element from an architectural or structural modeling point of view and shall be used if it cannot be expressed more specifically as either an IfcBeam or an IfcColumn. NOTE The representation of a member in a structural analysis model is provided by IfcStructuralCurveMember being part of an IfcStructuralAnalysisModel. The IFC specification provides two entities for member occurrences:

IfcMemberStandardCase used for all occurrences of members, that have a profile defined that is swept along a directrix. The profile might be changed uniformly by a taper definition along the directrix. The profile parameter and its cardinal point of insertion can be fully described by the IfcMaterialProfileSetUsage. These beams are always represented geometricly by an ‘Axis’ and a ‘SweptSolid’ or ‘AdvancedSweptSolid’ shape representation (or by a ‘Clipping’ geometry based on the swept solid), if a 3D geometric representation is assigned. In addition they have to have a corresponding IfcMaterialProfileSetUsage assigned. NOTE View definitions and implementer agreements may further constrain the applicable geometry types, e.g. by excluding tapering from an IfcMemberStandardCase implementation.

IfcMember used for all other occurrences of members, particularly for members with changing profile sizes along the extrusion, or members defined by non-linear extrusion, or members having only ‘Brep’, or ‘SurfaceModel’ geometry.

HISTORY New entity in IFC Release 2x2 Addendum. Type Use Definition IfcMember defines the occuurence of any member, common information about member types (or styles) is handled by IfcMemberType. The IfcMemberType (if present) may establish the commontype name, usage (or predefined) type, common material profile set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcMemberType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. If no IfcMemberType 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 IfcMember is defined by the IfcMaterialProfileSet or as fallback by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Material information can also be given at theIfcMemberType, defining the common attribute data for all occurrences of the same type.It is then accessible by the inverse <IsTypedBy relationship pointing to IfcMemberType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterialProfileSet or IfcMaterial. If both are given, then the material directly assigned to IfcMember overrides the material assigned toIfcMemberType. Property Set Use Definition The property sets relating to the IfcMember 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 IfcMember are part of this IFC release:

Pset_MemberCommon: common property set for all member occurrences

Quantity Use Definition The quantities relating to the IfcMember and IfcMemberStandardCase 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 IfcMemberType.

Qto_MemberBaseQuantities: base quantities for all member occurrences.

Containment Use Definition The IfcMember, 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 (optional) relationship is the aggregation within anelement assembly.

The IfcMember is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes ofIfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container. The IfcMember may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering 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 it should not be additionally contained in the project spatial hierarchy, i.e. SELF\IfcElement.ContainedInStructure should be NIL.

Geometry Use Definition The geometric representation of IfcMember is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are: Local Placement The local placement for IfcMember 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 relative placement is not used, the absolute placement is defined within the world coordinate system.

Geometric Representation Currently, the ‘Axis’, ‘Body’, and ‘Box’ representations are supported. The ‘Box’ representation includes the representation type ‘BoundingBox’ and is explained at IfcBuildingElement. Axis Representation The axis geometric representation of IfcMember is defined using the ‘Axis’ representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Axis’ RepresentationType : ‘Curve2D’, ‘Curve3D’

The axis representation can be used to represent the system length of a member that may extent the body length of the member. Body Representation The body representation of IfcBeam can be represented using the representation types ‘SweptSolid’, ‘Clipping’, ‘AdvancedSweptSolid’, ‘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:

RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’

The following additional constraints apply to the ‘SweptSolid’ representation:

Solid: IfcExtrudedAreaSolid, IfcRevolvedAreaSolid shall be supported Profile: all subtypes of IfcProfileDef (with exception of IfcArbitraryOpenProfileDef) Extrusion: All extrusion directions shall be supported.

Figure 99 illustrates a ‘SweptSolid’ geometric representation. There are no restrictions or conventions on how to use the local placement (black), solid of extrusion placement (red) and profile placement (green).

Figure 99 — Member swept solid

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

RepresentationIdentifier : ‘Body’ RepresentationType : ‘Clipping’

The following constraints apply to the advanced representation:

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

Figure 100 illustrates a ‘Clipping’ geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body.

Figure 100 — Member clipping

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

RepresentationIdentifier : ‘Body’ RepresentationType : ‘AdvancedSweptSolid’

The following additional constraints apply to the ‘AdvancedSweptSolid’ representation type:

Solid: IfcSurfaceCurveSweptAreaSolid, IfcFixedReferenceSweptAreaSolid, IfcExtrudedAreaSolidTapered, IfcRevolvedAreaSolidTapered shall be supported. NOTE View definitions and implementer agreements can further constrain the allowed swept solid types.

Profile: see ‘SweptSolid’ geometric representation Extrusion:not applicable

MappedRepresentation Representation Type The ‘MappedRepresentation’ representation type is supported as it allows for reusing the geometry definition of the beam 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’, ‘AdvancedSweptSolid’, ‘SurfaceModel’ and ‘Bre’ geometric representation, shall apply to the MappedRepresentation of the IfcRepresentationMap.

Subclassed by Ifc4x3_rc1::IfcMemberStandardCase

Public Types

typedef IfcTemplatedEntityList<IfcMember> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcMember.

::Ifc4x3_rc1::IfcMemberTypeEnum::Value PredefinedType() const

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

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

void setPredefinedType(::Ifc4x3_rc1::IfcMemberTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcMember(IfcEntityInstanceData *e)
IfcMember(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::IfcMemberTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()