Defined in File Ifc2x3.h
IfcRampFlight: public Ifc2x3::IfcBuildingElement¶
A ramp is an inclined slab segment, normally providing a human circulation link between two landings, floors or slabs at different elevations. An IfcRampFlight is normally aggregated by an IfcRamp through the IfcRelAggregates relationship, the ramp flight is then included in the set of IfcRelAggregates.RelatedObjects. An IfcRampFlight normally connects the floor slab of zero to two different storeys (or partial storeys or landings) within a building. The connection relationship between the IfcRampFlight and the IfcSlab is expressed using the IfcRelConnectsElements relationship. HISTORY New Entity in IFC Release 2.0.
Type Use Definition IfcRampFlight defines the occurrence of any ramp flight, common information about ramp flight types (or styles) is handled by IfcRampFlightType. The IfcRampFlightType (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 IfcRampFlightType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute. Material Use Definition The material of the IfcRampFlight is defined by the IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Property Set Use Definition: The property sets relating to the IfcRampFlight 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 IfcRampFlight are part of this IFC release:
Pset_RampFlightCommon: common property set for all ramp flight occurrences
Quantity Use Definition The quantities relating to the IfcRampFlight 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. Quantities shall never be assigned to the IfcRampFlightType.
Qto_RampFlightBaseQuantities: base quantities for all ramp flight occurrences.
Containment Use Definition The IfcRampFlight, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first relationship is the hierachical spatial containment, the second relationship is the aggregation within anelement assembly.
The IfcRampFlight is placed 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 IfcRampFlight 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 IfcRamp 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 IfcRampFlight is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are: Local placement The local placement for IfcRampFlight 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 that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level. If the IfcRampFlight, however, is used by an IfcRamp, and this container class defines its own local placement, then the PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the IfcRamp.
Geometric Representations Currently, the ‘Axis’, ‘FootPrint’, ‘Body’, and ‘Box’ representations are supported. The ‘Box’ representation includes the representation type ‘BoundingBox’ and is explained at IfcBuildingElement.
Axis: A two-dimensional open curve IfcBoundedCurve defining the walking line for the ramp flight. FootPrint: A geometric curve set defining the footing print, including the boundary of the ramp flight. Body: A solid representation defining the 3D shape of the ramp flight
Axis Representation The walking line is represented by a two-dimensional open curve as the axis. The curve is directed into the upward direction (direction has to be interpreted as specified at the subtypes of IfcCurve). The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘Axis’ RepresentationType : ‘Curve2D’
Figure 112 illustrates the axis representation which has the following constraints:
In case of straight flights the curve shall be a single item of type IfcPolyline. In case of winding flights the curve shall be a single item of type IfcCompositeCurve. In case of a curved flight or a spiral flight the curve shall be a single item of type IfcTrimmedCurve.
Figure 112 — Ramp flight axis
FootPrint Representation The flight foot print, including the flight boundary is represented by a two-dimensional geometric curve set. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:
RepresentationIdentifier : ‘FootPrint’ RepresentationType : ‘GeometricCurveSet’
Figure 113 illustrates the footprint representation which has the following constraints:
In case of straight flights the curve set shall consist of a single item of type IfcPolyline. In case of winding flights or curved flights the curve set shall consists of a single item of type IfcCompositeCurve. In case of a spiral flight the curve set shall consists of a single item of type IfcConic or IfcPolyline.
Figure 113 — Ramp flight footprint
Body Representation The body representation of IfcRampFlight can be represented using the representation types ‘SweptSolid’, ‘SurfaceModel’, ‘Brep’, and ‘MappedRepresentation’. The general usage of representation is are explained at IfcBuildingElement. For further constraints on the ‘SweptSolid’ the representation types see below..
RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’, ‘SurfaceModel’, ‘Brep’, ‘MappedRepresentation’
SweptSolid Representation Type The ‘SweptSolid’ representation type is a valid body representation of IfcRampFlight is defined using the swept area geometry. 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 is required, Profile: IfcRectangleProfileDef and IfcArbitraryClosedProfileDef shall be supported. Extrusion: The profile shall be extruded in any direction relative to the XY plane of the position coordinate system of the IfcExtrudedAreaSolid. Therefore non-perpendicular sweep operation has to be supported. It might be further constrained to be in the direction of the global z-axis in implementers agreements.
Figure 114 illustrates the body representation.
Figure 114 — Ramp flight body
IfcRampFlight(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc2x3::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag)¶