Raum | |
Space | |
Local |
Item | SPF | XML | Change | Description | IFC2x3 to IFC4 4.0.0.0 |
---|---|---|---|---|
IfcSpace | ||||
OwnerHistory | MODIFIED | Instantiation changed to OPTIONAL. | ||
CompositionType | MODIFIED | Instantiation changed to OPTIONAL. | ||
PredefinedType | MODIFIED | Name changed from InteriorOrExteriorSpace to PredefinedType. Type changed from IfcInternalOrExternalEnum to IfcSpaceTypeEnum. Instantiation changed to OPTIONAL. | IFC4x2 Candidate 4.2.0.0 | |
IfcSpace | ||||
PositionedRelativeTo | ADDED | IFC4x2 to IFC4x3_RC1 | ||
IfcSpace | ||||
ReferencedInStructures | ADDED | IFC4x3_RC4 Update | ||
IfcSpace | ||||
IsInterferedByElements | ADDED | |||
InterferesElements | ADDED |
A space represents an area or volume bounded actually or theoretically. Spaces are areas or volumes that provide for certain functions within a building.
A space is associated to a building storey (or in case of exterior spaces to a site). A space may span over several connected spaces. Therefore a space group provides for a collection of spaces included in a storey. A space can also be decomposed in parts, where each part defines a partial space. This is defined by the CompositionType attribute of the supertype IfcSpatialStructureElement which is interpreted as follow:
NOTE View definitions and implementation agreements may restrict spaces with CompositionType=ELEMENT to be non-overlapping.
The IfcSpace is used to build the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together by using the objectified relationship IfcRelAggregates.
Figure 345 shows the IfcSpace as part of the spatial structure. It also serves as the spatial container for space related elements.
NOTE Detailed requirements on mandatory element containment and placement structure relationships are given in view definitions and implementer agreements.
Figure 345 — Space composition |
The following guidelines should apply for using the Name, Description, LongName and ObjectType attributes.
NOTE In cases of inconsistency between the geometric representation of the IfcSpace and the combined geometric representations of the surrounding IfcRelSpaceBoundary, the geometric representation of the space should take priority over the geometric representation of the surrounding space boundaries.
Figure 346 describes the heights and elevations of the IfcSpace.
Figure 346 — Space elevations |
HISTORY New entity in IFC1.0
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
10 | PredefinedType | IfcSpaceTypeEnum | ? |
Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type.
NOTE Previous use had been to indicates whether the IfcSpace is an interior space by value INTERNAL, or an exterior space by value EXTERNAL. This use is now deprecated, the property 'IsExternal' at 'Pset_SpaceCommon' should be used instead. IFC4 CHANGE The attribute has been renamed from ExteriorOrInteriorSpace with upward compatibility for file based exchange. | X |
11 | ElevationWithFlooring | IfcLengthMeasure | ? | Level of flooring of this space; the average shall be taken, if the space ground surface is sloping or if there are level differences within this space. | X |
HasCoverings | IfcRelCoversSpaces @RelatingSpace | S[0:?] | Reference to IfcCovering by virtue of the objectified relationship IfcRelCoversSpaces. It defines the concept of a space having coverings assigned. Those coverings may represent different flooring, or tiling areas.
NOTE Coverings are often managed by the space, and not by the building element, which they cover. IFC2x Edition3 CHANGE New inverse relationship. Upward compatibility for file based exchange is guaranteed. | X | |
BoundedBy | IfcRelSpaceBoundary @RelatingSpace | S[0:?] | Reference to a set of IfcRelSpaceBoundary's that defines the physical or virtual delimitation of that space against physical or virtual boundaries. | X |
Rule | Description |
---|---|
CorrectPredefinedType | Either the PredefinedType attribute is unset (e.g. because an IfcSpaceType is associated), or the inherited attribute ObjectType shall be provided, if the PredefinedType is set to USERDEFINED. |
CorrectTypeAssigned | Either there is no space type object associated, i.e. the IsTypedBy inverse relationship is not provided, or the associated type object has to be of type IfcSpaceType. |
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
IfcRoot | |||||
1 | GlobalId | IfcGloballyUniqueId | Assignment of a globally unique identifier within the entire software world. | X | |
2 | OwnerHistory | IfcOwnerHistory | ? |
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,
NOTE only the last modification in stored - either as addition, deletion or modification. IFC4 CHANGE The attribute has been changed to be OPTIONAL. | X |
3 | Name | IfcLabel | ? | 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. | X |
4 | Description | IfcText | ? | Optional description, provided for exchanging informative comments. | X |
IfcObjectDefinition | |||||
HasAssignments | IfcRelAssigns @RelatedObjects | S[0:?] | Reference to the relationship objects, that assign (by an association relationship) other subtypes of IfcObject to this object instance. Examples are the association to products, processes, controls, resources or groups. | X | |
Nests | IfcRelNests @RelatedObjects | S[0:1] | References to the decomposition relationship being a nesting. It determines that this object definition is a part within an ordered whole/part decomposition relationship. An object occurrence or type can only be part of a single decomposition (to allow hierarchical strutures only).
IFC4 CHANGE The inverse attribute datatype has been added and separated from Decomposes defined at IfcObjectDefinition. | X | |
IsNestedBy | IfcRelNests @RelatingObject | S[0:?] | References to the decomposition relationship being a nesting. It determines that this object definition is the whole within an ordered whole/part decomposition relationship. An object or object type can be nested by several other objects (occurrences or types).
IFC4 CHANGE The inverse attribute datatype has been added and separated from IsDecomposedBy defined at IfcObjectDefinition. | X | |
HasContext | IfcRelDeclares @RelatedDefinitions | S[0:1] | References to the context providing context information such as project unit or representation context. It should only be asserted for the uppermost non-spatial object.
IFC4 CHANGE The inverse attribute datatype has been added. | X | |
IsDecomposedBy | IfcRelAggregates @RelatingObject | S[0:?] | References to the decomposition relationship being an aggregation. It determines that this object definition is whole within an unordered whole/part decomposition relationship. An object definitions can be aggregated by several other objects (occurrences or parts).
IFC4 CHANGE The inverse attribute datatype has been changed from the supertype IfcRelDecomposes to subtype IfcRelAggregates. | X | |
Decomposes | IfcRelAggregates @RelatedObjects | S[0:1] | References to the decomposition relationship being an aggregation. It determines that this object definition is a part within an unordered whole/part decomposition relationship. An object definitions can only be part of a single decomposition (to allow hierarchical strutures only).
IFC4 CHANGE The inverse attribute datatype has been changed from the supertype IfcRelDecomposes to subtype IfcRelAggregates. | X | |
HasAssociations | IfcRelAssociates @RelatedObjects | S[0:?] | Reference to the relationship objects, that associates external references or other resource definitions to the object.. Examples are the association to library, documentation or classification. | X | |
IfcObject | |||||
5 | ObjectType | IfcLabel | ? | The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. | X |
IsDeclaredBy | IfcRelDefinesByObject @RelatedObjects | S[0:1] | Link to the relationship object pointing to the declaring object that provides the object definitions for this object occurrence. The declaring object has to be part of an object type decomposition. The associated IfcObject, or its subtypes, contains the specific information (as part of a type, or style, definition), that is common to all reflected instances of the declaring IfcObject, or its subtypes.
IFC4 CHANGE New inverse relationship, change made with upward compatibility for file based exchange. | X | |
Declares | IfcRelDefinesByObject @RelatingObject | S[0:?] | Link to the relationship object pointing to the reflected object(s) that receives the object definitions. The reflected object has to be part of an object occurrence decomposition. The associated IfcObject, or its subtypes, provides the specific information (as part of a type, or style, definition), that is common to all reflected instances of the declaring IfcObject, or its subtypes.
IFC4 CHANGE New inverse relationship, change made with upward compatibility for file based exchange. | X | |
IsTypedBy | IfcRelDefinesByType @RelatedObjects | S[0:1] | Set of relationships to the object type that provides the type definitions for this object occurrence. The then associated IfcTypeObject, or its subtypes, contains the specific information (or type, or style), that is common to all instances of IfcObject, or its subtypes, referring to the same type.
IFC4 CHANGE New inverse relationship, the link to IfcRelDefinesByType had previously be included in the inverse relationship IfcRelDefines. Change made with upward compatibility for file based exchange. | X | |
IsDefinedBy | IfcRelDefinesByProperties @RelatedObjects | S[0:?] | Set of relationships to property set definitions attached to this object. Those statically or dynamically defined properties contain alphanumeric information content that further defines the object.
IFC4 CHANGE The data type has been changed from IfcRelDefines to IfcRelDefinesByProperties with upward compatibility for file based exchange. | X | |
IfcProduct | |||||
6 | ObjectPlacement | IfcObjectPlacement | ? | Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. | X |
7 | Representation | IfcProductRepresentation | ? | Reference to the representations of the product, being either a representation (IfcProductRepresentation) or as a special case a shape representations (IfcProductDefinitionShape). The product definition shape provides for multiple geometric representations of the shape property of the object within the same object coordinate system, defined by the object placement. | X |
ReferencedBy | IfcRelAssignsToProduct @RelatingProduct | S[0:?] | Reference to the IfcRelAssignsToProduct relationship, by which other products, processes, controls, resources or actors (as subtypes of IfcObjectDefinition) can be related to this product. | X | |
PositionedRelativeTo | IfcRelPositions @RelatedProducts | S[0:?] | X | ||
ReferencedInStructures | IfcRelReferencedInSpatialStructure @RelatedElements | S[0:?] | X | ||
IfcSpatialElement | |||||
8 | LongName | IfcLabel | ? |
Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute.
NOTE In many scenarios the Name attribute refers to the short name or number of a spacial element, and the LongName refers to the full descriptive name. | X |
ContainsElements | IfcRelContainedInSpatialStructure @RelatingStructure | S[0:?] | Set of spatial containment relationships, that holds those elements, which are contained within this element of the project spatial structure.
NOTE The spatial containment relationship, established by IfcRelContainedInSpatialStructure, is required to be an hierarchical relationship, where each element can only be assigned to 0 or 1 spatial structure element. | X | |
ServicedBySystems | IfcRelServicesBuildings @RelatedBuildings | S[0:?] | Set of relationships to systems, that provides a certain service to the spatial element for which it is defined. The relationship is handled by the objectified relationship IfcRelServicesBuildings.
IFC4 CHANGE The inverse attribute has been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. | X | |
ReferencesElements | IfcRelReferencedInSpatialStructure @RelatingStructure | S[0:?] | Set of spatial reference relationships, that holds those elements, which are referenced, but not contained, within this element of the project spatial structure.
NOTE The spatial reference relationship, established by IfcRelReferencedInSpatialStructure, is not required to be an hierarchical relationship, i.e. each element can be assigned to 0, 1 or many spatial structure elements. EXAMPLE A curtain wall maybe contained in the ground floor, but maybe referenced in all floors, it reaches. IFC2x3 CHANGE The inverse attribute has been added with upward compatibility for file based exchange. Ø\X | X | |
IsInterferedByElements | IfcRelInterferesElements @RelatedElement | S[0:?] | Reference to the interference relationship to indicate the spatial element that is interfered. The relationship, if provided, indicates that this spatial element has an interference with one or many other spatial elements.
NOTE There is no indication of precedence between IsInterferedByElements and InterferesElements orientated interference is defined by IfcRelInterferesElements.ImpliedOrder or IfcRelInterferesElements.InterferenceType. IFC4x3 CHANGE New inverse relationship. | X | |
InterferesElements | IfcRelInterferesElements @RelatingElement | S[0:?] | Reference to the interference relationship to indicate the spatial element that interferes. The relationship, if provided, indicates that this spatial element has an interference with one or many other spatial elements.
NOTE There is no indication of precedence between IsInterferedByElements and InterferesElements. Orientated interference is defined by IfcRelInterferesElements.ImpliedOrder or IfcRelInterferesElements.InterferenceType. IFC4x3 CHANGE New inverse relationship. | X | |
IfcSpatialStructureElement | |||||
9 | CompositionType | IfcElementCompositionEnum | ? |
Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value ''ELEMENT'' applies.\X\0D
\X\0D
IFC4 CHANGE Attribute made optional. | X |
IfcSpace | |||||
10 | PredefinedType | IfcSpaceTypeEnum | ? |
Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type.
NOTE Previous use had been to indicates whether the IfcSpace is an interior space by value INTERNAL, or an exterior space by value EXTERNAL. This use is now deprecated, the property 'IsExternal' at 'Pset_SpaceCommon' should be used instead. IFC4 CHANGE The attribute has been renamed from ExteriorOrInteriorSpace with upward compatibility for file based exchange. | X |
11 | ElevationWithFlooring | IfcLengthMeasure | ? | Level of flooring of this space; the average shall be taken, if the space ground surface is sloping or if there are level differences within this space. | X |
HasCoverings | IfcRelCoversSpaces @RelatingSpace | S[0:?] | Reference to IfcCovering by virtue of the objectified relationship IfcRelCoversSpaces. It defines the concept of a space having coverings assigned. Those coverings may represent different flooring, or tiling areas.
NOTE Coverings are often managed by the space, and not by the building element, which they cover. IFC2x Edition3 CHANGE New inverse relationship. Upward compatibility for file based exchange is guaranteed. | X | |
BoundedBy | IfcRelSpaceBoundary @RelatingSpace | S[0:?] | Reference to a set of IfcRelSpaceBoundary's that defines the physical or virtual delimitation of that space against physical or virtual boundaries. | X |
Space Attributes
The Space Attributes concept applies to this entity.
Spatial Composition
The Spatial Composition concept applies to this entity.
By using the inverse relationship IfcSpace.IsDecomposedBy it references IfcSpace by IfcRelAggregates.RelatedObjects. If it refers to another instance of IfcSpace, the referenced IfcSpace needs to have a different and lower CompositionType, i.e. ELEMENT (if the other IfcSpace has COMPLEX), or PARTIAL (if the other IfcSpace has ELEMENT).
Spatial Decomposition
The Spatial Decomposition concept applies to this entity.
By using the inverse relationship IfcSpace.Decomposes it references IfcSite || IfcBuildingStorey || IfcSpace by IfcRelAggregates.RelatingObject. If it refers to another instance of IfcSpace, the referenced IfcSpace needs to have a different and higher CompositionType, i.e. COMPLEX (if the other IfcSpace has ELEMENT), or ELEMENT (if the other IfcSpace has PARTIAL).
Spatial Container
The Spatial Container concept applies to this entity.
If there are building elements and/or other elements directly related to the IfcSpace (like most furniture and distribution elements), they are associated with the IfcSpace by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcSpace references them by its inverse relationship:
Property Sets for Objects
The Property Sets for Objects concept template applies to this entity as shown in Table 133.
Quantity Sets
The Quantity Sets concept template applies to this entity as shown in Table 134.
| ||||
Table 134 — IfcSpace Quantity Sets |
Space Boundaries 1st Level
The Space Boundaries 1st Level concept applies to this entity.
Space Boundaries 2nd Level
The Space Boundaries 2nd Level concept applies to this entity.
Product Local Placement
The Product Local Placement concept applies to this entity.
The local placement for IfcSpace is defined at its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
FootPrint GeomSet Geometry
The FootPrint GeomSet Geometry concept template applies to this entity as shown in Table 135.
| ||||||||
Table 135 — IfcSpace FootPrint GeomSet Geometry |
The following constraints apply to the 2D representation:
EXAMPLE Figure 347 shows a two-dimensional bounded curve representing the foot print of IfcSpace. |
|
Figure 347 — Space footprint |
Body SweptSolid Geometry
The Body SweptSolid Geometry concept applies to this entity.
The following constraints apply to the standard representation:
Figure 348 shows an extrusion of an arbitrary profile definition with voids into the swept area solid of IfcSpace.
Figure 348 — Space body swept solid |
Body Clipping Geometry
The Body Clipping Geometry concept applies to this entity.
The following additional constraints apply to the advanced representation:
Figure 349 shows an extrusion of an arbitrary profile definition into the swept area solid. The solid and an half space solid are operands of the Boolean result of IfcSpace.
Figure 349 — Space body clipping |
Body Brep Geometry
The Body Brep Geometry concept applies to this entity.
The space can be represented by a brep geometry representation
<?xml version="1.0" encoding="utf-8"?>
<ConceptRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" uuid="0908a431-91f5-4a23-b53b-f6098628d17a" name="IfcSpace" applicableRootEntity="IfcSpace">
<Applicability>
<Template ref="cb416a7a-1c2e-4885-a1bc-a576614bce5b" />
<TemplateRules operator="and">
</TemplateRules>
</Applicability>
<Concepts>
<Concept uuid="d6239bb5-eddc-4027-a426-172a3b2c2e61" name="Space Attributes">
<Template ref="543a52a7-799c-4349-a0ba-04c3fc2914d3" />
</Concept>
<Concept uuid="ff9baddb-af39-40ee-a10c-663525809342" name="Spatial Composition">
<Template ref="8c0fd2f7-71bb-4e6e-8fdb-0c02b352f14a" />
</Concept>
<Concept uuid="153728cb-e52f-4863-9ecb-612e831e29c2" name="Spatial Decomposition">
<Template ref="667f8443-ecce-4a8d-a63f-931fab0453e0" />
</Concept>
<Concept uuid="b1a346d6-80fe-41d5-9093-d6db3b303405" name="Spatial Container">
<Template ref="61dd08ed-fd01-4955-9337-8afd284a0e6f" />
</Concept>
<Concept uuid="bbb87cca-1548-475b-9ea8-7ce38cfbcd5c" name="Property Sets for Objects">
<Template ref="f74255a6-0c0e-4f31-84ad-24981db62461" />
<TemplateRules operator="and">
<TemplateRule Parameters="PsetName[Value]='Pset_SpaceCommon'" />
<TemplateRule Parameters="PsetName[Value]='Pset_SpaceCoveringRequirements'" />
<TemplateRule Parameters="PsetName[Value]='Pset_SpaceFireSafetyRequirements'" />
<TemplateRule Parameters="PsetName[Value]='Pset_SpaceLightingRequirements'" />
<TemplateRule Parameters="PsetName[Value]='Pset_SpaceOccupancyRequirements'" />
<TemplateRule Parameters="PsetName[Value]='Pset_SpaceThermalRequirements'" />
<TemplateRule Parameters="PsetName[Value]='Pset_AirSideSystemInformation'" />
<TemplateRule Parameters="PsetName[Value]='Pset_SpaceThermalDesign'" />
<TemplateRule Parameters="PsetName[Value]='Pset_SpaceThermalLoad'" />
</TemplateRules>
</Concept>
<Concept uuid="62e97880-025f-49b0-9933-7b589f649760" name="Quantity Sets">
<Template ref="6652398e-6579-4460-8cb4-26295acfacc7" />
<TemplateRules operator="and">
<TemplateRule Parameters="QsetName[Value]='Qto_SpaceBaseQuantities'" />
</TemplateRules>
</Concept>
<Concept uuid="e765c045-9afc-4971-a74b-33ad2510896c" name="Space Boundaries 1st Level">
<Template ref="6ae2d514-e2bd-4a24-b984-9b11725fc7db" />
</Concept>
<Concept uuid="a9990334-4d0f-4e28-bf32-d6f288117da8" name="Space Boundaries 2nd Level">
<Template ref="c6047bf3-576d-4042-8e84-7f22a4cca95f" />
</Concept>
<Concept uuid="671cd388-9c8f-4b43-8b98-00c44cc7c10d" name="Product Local Placement">
<Template ref="cbe85b5f-7912-4a43-8bb7-1e63bf40b26d" />
</Concept>
<Concept uuid="4479fc6b-1c26-4cb4-8418-8290d497aa78" name="FootPrint GeomSet Geometry">
<Template ref="9456d6d6-a62a-48b4-baff-be2e38baac9c" />
<TemplateRules operator="and">
<TemplateRule Description="A single curve defining the outer boundary" Parameters="Identifier[Value]='FootPrint' AND Type[Value]='Curve2D' AND Items[Type]='IfcBoundedCurve'" />
</TemplateRules>
</Concept>
<Concept uuid="dbfe4f57-2de4-4e74-a1a1-406faad360c9" name="Body SweptSolid Geometry">
<Template ref="cb7c18fa-cf83-4db1-be1b-c013ba4ed672" />
</Concept>
<Concept uuid="bd69adee-801d-44bf-88e3-d3b3c2191ee7" name="Body Clipping Geometry">
<Template ref="2cdbc2f5-9b0c-43ea-9d2a-9d72d0147e00" />
</Concept>
<Concept uuid="2d2ec04e-6389-4b15-abdb-6a67db1f6202" name="Body Brep Geometry">
<Template ref="8fb923f5-b82d-48d2-ad29-d678ca473fda" />
</Concept>
</Concepts>
</ConceptRoot>
# | Concept | Template | Model View |
---|---|---|---|
IfcRoot | |||
Identity | Software Identity | General Usage | |
Revision Control | Revision Control | General Usage | |
IfcObjectDefinition | |||
Classification Association | Classification Association | General Usage | |
Assignment to Product | Assignment to Product | General Usage | |
IfcObject | |||
Object User Identity | Object User Identity | General Usage | |
Object Predefined Type | Object Predefined Type | General Usage | |
Object Typing | Object Typing | General Usage | |
Property Sets with Override | Property Sets with Override | General Usage | |
IfcProduct | |||
Product Placement | Product Placement | General Usage | |
Product Geometric Representation | Product Geometric Representation | General Usage | |
Relative Position | Product Relative Positioning | General Usage | |
Product Span Positioning | Product Span Positioning | General Usage | |
Product Geometry Colour | Product Geometry Colour | General Usage | |
Product Geometry Layer | Product Geometry Layer | General Usage | |
Product Relative Placement | Product Relative Placement | General Usage | |
IfcSpatialElement | |||
Group Spatial Connectivity | Group Spatial Connectivity | General Usage | |
Spatial Interference | Spatial Interference | General Usage | |
Spatial Interference with Zones | Spatial Interference With Zones | General Usage | |
IfcSpace | |||
Space Attributes | Space Attributes | General Usage | |
Spatial Composition | Spatial Composition | General Usage | |
Spatial Decomposition | Spatial Decomposition | General Usage | |
Spatial Container | Spatial Container | General Usage | |
Property Sets for Objects | Property Sets for Objects | General Usage | |
Quantity Sets | Quantity Sets | General Usage | |
Space Boundaries 1st Level | Space Boundaries 1st Level | General Usage | |
Space Boundaries 2nd Level | Space Boundaries 2nd Level | General Usage | |
Product Local Placement | Product Local Placement | General Usage | |
FootPrint GeomSet Geometry | FootPrint GeomSet Geometry | General Usage | |
Body SweptSolid Geometry | Body SweptSolid Geometry | General Usage | |
Body Clipping Geometry | Body Clipping Geometry | General Usage | |
Body Brep Geometry | Body Brep Geometry | General Usage |
<xs:element name="IfcSpace" type="ifc:IfcSpace" substitutionGroup="ifc:IfcSpatialStructureElement" nillable="true"/>
<xs:complexType name="IfcSpace">
<xs:complexContent>
<xs:extension base="ifc:IfcSpatialStructureElement">
<xs:attribute name="PredefinedType" type="ifc:IfcSpaceTypeEnum" use="optional"/>
<xs:attribute name="ElevationWithFlooring" type="ifc:IfcLengthMeasure" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcSpace
SUBTYPE OF (IfcSpatialStructureElement);
PredefinedType : OPTIONAL IfcSpaceTypeEnum;
ElevationWithFlooring : OPTIONAL IfcLengthMeasure;
INVERSE
HasCoverings : SET [0:?] OF IfcRelCoversSpaces FOR RelatingSpace;
BoundedBy : SET [0:?] OF IfcRelSpaceBoundary FOR RelatingSpace;
WHERE
CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
(PredefinedType <> IfcSpaceTypeEnum.USERDEFINED) OR
((PredefinedType = IfcSpaceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
('IFCPRODUCTEXTENSION.IfcSpaceType' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
END_ENTITY;
References: IfcSpaceBoundarySelect IfcRelCoversSpaces