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, and a virtual element is referenced.
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 virtual elements and openings) to define many such relationships 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.
The differences between the 1st and 2nd level space boundaries are identified by:
- 1st level: IfcRoot.Name = "1stLevel" IfcRoot.Description = NIL
- 2nd level: IfcRoot.Name = "2ndLevel" IfcRoot.Description = "2a", or "2b"
Differentiation between physical and virtual space boundary is illustrated in Figure 188.8.131.52.E and Figure 184.108.40.206.F.
As shown in Figure 220.127.116.11.E, 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.
As shown in Figure 18.104.22.168.F, 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 geometrically, or it may be omitted; in that case it describes a physical space boundary logically.
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.
The geometric representation (through the ConnectionGeometry attribute) is defined using either 2D curve geometry or 3D surface geometry for space boundaries.
- 1st level space boundary:
- 2nd level space boundary:
Surface connection geometry
The following constraints apply to the surface connection geometry representation:
- planar boundaries:
- curved boundaries
Curve connection geometry
The following constraints apply to the 2D curve representation:
Assignment of a globally unique identifier within the entire software world.
Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object,
Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule.
Optional description, provided for exchanging informative comments.
|Click to show 4 hidden inherited attributes Click to hide 4 inherited attributes|
Reference to one space that is delimited by this boundary.
Reference to the Element that defines the Space Boundaries.
Physical representation of the space boundary. Provided as a curve or surface given within the LCS of the space.
Defines whether the Space Boundary is PHYISICAL or VIRTUAL.
Defines whether the Space Boundary is INTERNAL, or EXTERNAL, i.e. adjacent to open space that can be a partially enclosed space, such as terrace.
If the space boundary is physical, it shall be provided by an element (i.e. excluding a virtual element). If the space boundary is virtual, it shall either have a virtual element or an opening providing the space boundary. If the space boundary PhysicalOrVirtualBoundary attribute is not defined, no restrictions are imposed.
Ownership, history, and merge state is captured using IfcOwnerHistory.
IfcRoot assigns the globally unique ID. In addition it may provide for a name and a description about the concept.
|Click to show 2 hidden inherited concepts Click to hide 2 inherited concepts|
ENTITY IfcRelSpaceBoundary SUPERTYPE OF (ONEOF (IfcRelSpaceBoundary1stLevel)) SUBTYPE OF (IfcRelConnects); RelatingSpace : IfcSpaceBoundarySelect; RelatedBuildingElement : IfcElement; ConnectionGeometry : OPTIONAL IfcConnectionGeometry; PhysicalOrVirtualBoundary : IfcPhysicalOrVirtualEnum; InternalOrExternalBoundary : IfcInternalOrExternalEnum; WHERE CorrectPhysOrVirt : ((PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.Physical) AND (NOT('IFC4X3_DEV_6fc976c.IFCVIRTUALELEMENT' IN TYPEOF(RelatedBuildingElement)))) OR ((PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.Virtual) AND (('IFC4X3_DEV_6fc976c.IFCVIRTUALELEMENT' IN TYPEOF(RelatedBuildingElement)) OR ('IFC4X3_DEV_6fc976c.IFCOPENINGELEMENT' IN TYPEOF(RelatedBuildingElement)))) OR (PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.NotDefined); END_ENTITY;