Class Ifc4::IfcRamp

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcRamp : public Ifc4::IfcBuildingElement

Definition from ISO 6707-1:1989: Inclined way or floor joining two surfaces at different levels. A ramp is a vertical passageway which provides a human circulation link between one floor level and another floor level at a different elevation. It may include a landing as an intermediate floor slab. A ramp normally does not include steps (stepped ramps are out of scope for this IFC Release). The ramp is a container entity that aggregates all components of the ramp, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRamp with the related flights (IfcRampFlight) and landings (IfcSlab with type ‘Landing’). Railings belonging to the ramp may be included into the aggregation as IfcRailing.

HISTORY New Entity in IFC Release 2.0. IFC2x4 CHANGE Attribute ShapeType renamed to PredefinedType

Type Use Definition IfcRamp defines the occuurence of any ramp, common information about ramp types (or styles) is handled by IfcRampType. The IfcRampType (if present) may establish the commontype name, usage (or predefined) type, common material, common set of properties and common shape representations (using IfcRepresentationMap). The IfcRampType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute. NOTE Since the IfcRamp might be represented as an aggregate of parts, e.g. represented by IfcRampFlight, or IfcSlab, these individual parts may have type information attached (represented e.g. by IfcRampFlightType, or IfcSlabType). Material Use Definition The material of the IfcRamp is defined by the IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Material information can also be given at the IfcRampType, defining the common attribute data for all occurrences of the same type.It is then accessible by the inverse IsDefinedBy relationship pointing to IfcRampType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterial. If both are given, then the material directly assigned to IfcRamp overrides the material assigned to IfcRampType. Property Set Use Definition: The property sets relating to the IfcRamp 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 IfcRamp are part of this IFC release:

Pset_RampCommon: common property set for all ramp occurrences

Quantity Use Definition The quantities relating to the IfcRamp 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.MethodOfMeasurement = ‘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 IfcRampType. The individual quantities shall only be given at IfcRamp, it is not decomposed into the individual parts, IfcRampFlight and IfcSlab.

Qto_RampBaseQuantities: base quantities for all ramp occurrences.

Geometry Use Definitions: The geometric representation of IfcRamp is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Independent geometric representations should only be used when the IfcRamp is not defined as an aggregate. If defined as an aggregate, the geometric representation is the sum of the representation of the components within the aggregate. Local placement The local placement for IfcRamp 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 relative placement is not used, the absolute placement is defined within the world coordinate system.

If the LocalPlacement is given for the IfcRamp, then all components, which are aggregated to the ramp should use this placement as their relative placement. Geometric representations Geometric representation by own shape representation If the IfcRamp has no components defined (empty set of SELF\IfcProduct.IsDecomposedBy) then the IfcRamp may be represented by an own IfcShapeRepresentation with the following values:

RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’, ‘Clipping’, ‘SurfaceModel’, or ‘Brep’

The conventions to use these representations are provided at IfcBuildingElement. No further constraints or provisions on how to use the representation types are defined for IfcRamp. Geometric representation by aggregated elements If the IfcRamp has components (referenced by SELF\IfcProduct.IsDecomposedBy) then no independent geometric representation shall be defined for the IfcRamp. The IfcRamp is then geometrically represented by the geometric representation of its components. The components are accessed via SELF\IfcProduct.IsDecomposedBy[1].RelatedObjects.

Figure 111 illustrates IfcRamp defining the local placement for all components.

Figure 111 — Ramp placement

Public Types

typedef IfcTemplatedEntityList<IfcRamp> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcRamp.

::Ifc4::IfcRampTypeEnum::Value PredefinedType() const

Predefined shape types for a ramp that are specified in an enumeration.

NOTE The PredefinedType shall only be used, if no type object IfcRampType is assigned, providing its own IfcRampType.PredefinedType.

IFC2x4 CHANGE The attribute has been renamed from ShapeType and changed to be OPTIONAL with upward compatibility for file based exchange.

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

Public Static Functions

const IfcParse::entity &Class()