Class Ifc4x3_rc1::IfcRelSpaceBoundary

Nested Relationships

This class is a nested type of Struct Ifc4x3_rc1.

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class Ifc4x3_rc1::IfcRelSpaceBoundary : public Ifc4x3_rc1::IfcRelConnects

The space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary to the surrounding elements.

In the case of a physical space boundary, the placement and shape of the boundary may be given, and the building element, providing the boundary, is referenced, In the case of a virtual space boundary, the placement and shape of the boundary may be given, but no building element is referenced and a virtual element is referenced instead.

The IfcRelSpaceBoundary is defined as an objectified relationship that handles the element to space relationship by objectifying the relationship between an element and the space it bounds. It is given as a one-to-one relationship, but allows each element (including virutal elements and openings) to define many such relationship and each space to be defined by many such relationships. Space boundaries are always defined as seen from the space. In general two basic types of space boundaries are distinguished:

1st level space boundary: defined as boundaries of the space, not taking into account any change in building element or spaces on the other side. 2nd level space boundary: defined as boundary taking any change in building element or spaces on the other side into account. It can be further distinguished into

2nd level type A: There is a space on the other side. 2nd level type B: There is a building element on the other side.

The exact definition of how space boundaries are broken down depends on the view definition, more detailed conventions on how space boundaries are decomposed can only be given at the domain or application type level.

In an architectural or FM related view, a space boundary is defined totally from inside the space. This is a 1st level space boundary. In a thermal view, the decomposition of the space boundary depends on the material of the providing building element and the adjacent spaces behind. This is a 2nd level space boundary.

Figure 42 — Space boundary at first level Figure 43 — Space boundary at second level

Figure 44 — Space boundary at second level type A Figure 45 — Space boundary at second level type B

HISTORY New entity in IFC Release 1.5, the entity has been modified in IFC Release 2x. IFC2x CHANGE The data type of the attributeRelatedBuildingElement has been changed from IfcBuildingElement to its supertype IfcElement. The data type of the attribute ConnectionGeometry has been changed from IfcConnectionSurfaceGeometry to its supertype IfcConnectionGeometry. IFC2x4 CHANGE The attribute RelatedBuildingElement has been made mandatory. For virtual boundaries the reference to IfcVirtualElement is now mandatory.

Attribute Use Definitions The differences between the 1st and 2nd level space boundaries is identified by:

1st level: SELF\IfcRoot.Name = “1stLevel” SELF\IfcRootDescription = NIL 2nd level: SELF\IfcRoot.Name = “2ndLevel” SELF\IfcRootDescription = “2a”, or “2b”

Differentiation between physical and virtual space boundary is illustrated in Figure 46 and Figure 47.

As shown in Figure 46, if the IfcRelSpaceBoundary is used to express a virtual boundary, the attribute PhysicalOrVirtualBoundary has to be set to VIRTUAL. The attribute RelatedBuildingElement shall point to an instance of IfcVirtualElement. If the correct location is of interest, the attribute ConnectionGeometry is required. NOTE The connection geometry, either by a 2D curve or a 3D surface, is used to describe the portion of the “virtual wall” that separates the two spaces. All instances of IfcRelSpaceBoundary given at the adjacent spaces share the same instance of IfcVirtualElement. Each instance of IfcRelSpaceBoundary provides in addition the ConnectionGeometry given within the local placement of each space.

Figure 46 — Space boundary of virtual element

As shown in Figure 47, if the IfcRelSpaceBoundary is used to express a physical boundary between two spaces, the attribute PhysicalOrVirtualBoundary has to be set to PHYSICAL. The attribute RelatedBuildingElement has to be given and points to the element providing the space boundary. The attribute ConnectionGeometry may be inserted, in this case it describes the physical space boundary geometically, or it may be omited, in that case it describes a physical space boundary logically.

Figure 47 — Space boundary of physical element

Geometry Use Definitions The IfcRelSpaceBoundary may have geometry attached. If geometry is not attached, the relationship between space and building element is handled only on a logical level. If geometry is attached, it is given within the local coordinate systems of the space. NOTE: The attributes CurveOnRelatingElement at IfcConnectionCurveGeometry or SurfaceOnRelatingElement at IfcConnectionSurfaceGeometry provide the geometry within the local coordinate system of the IfcSpace, whereas the attributes CurveOnRelatedElement at IfcConnectionCurveGeometry or SurfaceOnRelatedElement at IfcConnectionSurfaceGeometry provide the geometry within the local coordinate system of the subtype of IfcElement. NOTE In most view definitions the connection geometry for the related IfcElement is not provided. The geometric representation (through the ConnectionGeometry attribute) is defined using either 2D curve geometry or 3D surface geometry for space boundaries. In most view definitions the 3D connection surface geometry is required.

1st level space boundary:

only connection geometry for related space shall be provided only surface connection geometry shall be provided only the following surface representations are supported:

IfcSurfaceOfLinearExtrusion IfcCurveBoundedPlane IfcCurveBoundedSurface IfcFaceBasedSurfaceModel

2nd level space boundary:

only connection geometry for related space shall be provided only surface connection geometry shall be provided only the following surface representations are supported:

IfcCurveBoundedPlane with restrictions to have polygonal boundaries only IfcFaceBasedSurfaceModel

Surface connection geometry The following constraints apply to the surface connection geometry representation:

planar boundaries:

IfcSurfaceOfLinearExtrusion defined by a SweptCurve being an IfcArbitraryOpenProfileDef with straight segements, or IfcCurveBoundedPlane

curved boundaries

IfcSurfaceOfLinearExtrusion defined by a SweptCurve being an IfcArbitraryOpenProfileDef with curves segements, or IfcCurveBoundedSurface with a BasisSurface being a non planar surface, such as IfcCylindricalSurface, or IfcFaceBasedSurfaceModel if already faceted.

Curve connection geometry The following constraints apply to the 2D curve representation:

Curve: IfcPolyline, IfcTrimmedCurve or IfcCompositeCurve

Subclassed by Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel

Public Types

typedef IfcTemplatedEntityList<IfcRelSpaceBoundary> list

Public Functions

::Ifc4x3_rc1::IfcSpaceBoundarySelect *RelatingSpace() const

Reference to one spaces that is delimited by this boundary.

void setRelatingSpace(::Ifc4x3_rc1::IfcSpaceBoundarySelect *v)
::Ifc4x3_rc1::IfcElement *RelatedBuildingElement() const

Reference to Building Element, that defines the Space Boundaries.

IFC2x PLATFORM CHANGE The data type has been changed from IfcBuildingElement to IfcElement with upward compatibility for file based exchange.

IFC2x4 CHANGE The attribute has been changed to be mandatory.

void setRelatedBuildingElement(::Ifc4x3_rc1::IfcElement *v)
bool hasConnectionGeometry() const

Whether the optional attribute ConnectionGeometry is defined for this IfcRelSpaceBoundary.

::Ifc4x3_rc1::IfcConnectionGeometry *ConnectionGeometry() const

Physical representation of the space boundary. Provided as a curve or surface given within the LCS of the space.

IFC2x PLATFORM CHANGE The data type has been changed from IfcConnectionSurfaceGeometry to IfcConnectionGeometry with upward compatibility for file based exchange.

void setConnectionGeometry(::Ifc4x3_rc1::IfcConnectionGeometry *v)
::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value PhysicalOrVirtualBoundary() const

Defines, whether the Space Boundary is physical (Physical) or virtual (Virtual).

void setPhysicalOrVirtualBoundary(::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v)
::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value InternalOrExternalBoundary() const

Defines, whether the Space Boundary is internal (Internal), or external, i.e. adjacent to open space (that can be an partially enclosed space, such as terrace (External).

void setInternalOrExternalBoundary(::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v)
const IfcParse::entity &declaration() const
IfcRelSpaceBoundary(IfcEntityInstanceData *e)
IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect *v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement *v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry *v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary)

Public Static Functions

const IfcParse::entity &Class()