Class Ifc4x1::IfcBeam

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class Ifc4x1::IfcBeam : public Ifc4x1::IfcBuildingElement

Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so.

An IfcBeam is a horizontal, or nearly horizontal, structural member that is capable of withstanding load primarily by resisting bending. It represents such a member from an architectural point of view. It is not required to be load bearing.

NOTE The representation of a beam in a structural analysis model is provided by IfcStructuralCurveMember being part of an IfcStructuralAnalysisModel.

NOTE For any longitudial structural member, not constrained to be predominately horizontal nor vertical, or where this semantic information is irrelevant, the entity IfcMember should be used.

The IFC specification provides two entities for beam occurrences:

IfcBeamStandardCase used for all occurrences of beams, 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, for example, by excluding tapering from an IfcBeamStandardCase implementation.

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

HISTORY New entity in IFC Release 1.0

Type Use Definition IfcBeam defines the occuurence of any beam, common information about beam types (or styles) is handled by IfcBeamType. The IfcBeamType (if present) may establish the commontype name, usage (or predefined) type, common material layer set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcBeamType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. If no IfcBeamType 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 IfcBeam is defined by the IfcMaterialProfileSet or as fallback by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Note It is illegal to assign an IfcMaterialProfileSetUsage to an IfcBeam. Only the subtype IfcBeamStandardCase supports this concept. Material information can also be given at the IfcBeamType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsTypedBy relationship pointing to IfcBeamType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterialProfileSet or IfcMaterial. If both are given, then the material directly assigned to IfcBeam overrides the material assigned to IfcBeamType. Property Set Use Definition The property sets relating to the IfcBeam 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 IfcBeam are part of this IFC release:

Pset_BeamCommon: common property set for all beam occurrences

Property sets can also be given at the IfcBeamType, defining the common property data for all occurrences of the same type. It is then accessible by the inverse IsTypedBy relationship pointing to IfcBeamType.HasPropertySets. If both are given, then the properties directly assigned to IfcBeam overrides the properties assigned to IfcBeamType. Quantity Use Definition The quantities relating to the IfcBeam 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 MethodOfMeasurement. Quanties shall be never assigned to the IfcBeamType.

Qto_BeamBaseQuantities: base quantities for all beam occurrences.

Containment Use Definition The IfcBeam, 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 an element assembly.

The IfcBeam is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container. The IfcBeam 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 IfcBeam is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are: Local Placement The local placement for IfcBeam 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.

Exception: If the IfcBeam 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 ‘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 IfcBeam is defined using the ‘Axis’ representation.

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

The ‘Axis’ can be used to represent the system axis and length of a beam that may extent the body length. 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 type:

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

Figure 71 illustrates the ‘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 71 — Beam swept solid

Figure 72 illustrates the use of non-perpendicular extrusion to create the IfcExtrudedAreaSolid.

Figure 72 — Beam non-perpendicular extrusion

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 73 illustrates use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body.

Figure 73 — Beam 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 agreement can further constrain the allowed swept solid types.

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

MappedRepresentation Representation Type The ‘MappedRepresentation’ representation 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 ‘Brep’ geometric representation, shall apply to the MappedRepresentation of the IfcRepresentationMap.

Subclassed by Ifc4x1::IfcBeamStandardCase

Public Types

typedef IfcTemplatedEntityList<IfcBeam> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcBeam.

::Ifc4x1::IfcBeamTypeEnum::Value PredefinedType() const

Predefined generic type for a beam 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 IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType.

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

void setPredefinedType(::Ifc4x1::IfcBeamTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcBeam(IfcEntityInstanceData *e)
IfcBeam(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, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4x1::IfcBeamTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()