``SPS007`` Spatial containment - v6 ======================================================================================================================================================================================================== .. parsed-literal:: 001 | \@implementer-agreement 002 | \@SPS 003 | \@version6 004 | 005 | Feature: SPS007 - Spatial Containment 006 | The rule verifies that spatial containment via IfcRelContainedInSpatialStructure is utilised in accordance with Concept Template for Spatial Containment 007 | 008 | 009 | Scenario: Instances of IfcGrid must be contained within a spatial structure 010 | 011 | :doc:`Given an .IfcGrid. ` 012 | :doc:`Then a relationship .IfcRelContainedInSpatialStructure. ^must exist^ to .IfcGrid. from .IfcSpatialStructureElement. ` 013 | 014 | 015 | Scenario: Instances of IfcAnnotation must be contained within a spatial structure, except when the annotation is nested under another annotation 016 | 017 | :doc:`Given an .IfcAnnotation. ` 018 | :doc:`Given A relationship .IfcRelNests. ^does not exist^ to .IfcAnnotation. from .IfcAnnotation. ` 019 | 020 | :doc:`Then a relationship .IfcRelContainedInSpatialStructure. ^must exist^ to .IfcAnnotation. from .IfcSpatialStructureElement. ` 021 | 022 | 023 | Scenario: Instances of IfcElement must be part of a spatial structure, with certain exceptions 024 | 025 | :doc:`Given an .IfcElement. ` 026 | :doc:`Given [Its Type] ^is not^ 'IfcFeatureElement' ^including subtypes^ ` 027 | :doc:`Given .Decomposes. ^is^ empty ` 028 | 029 | :doc:`Then a *required* relationship .IfcRelContainedInSpatialStructure. to .IfcElement. from .IfcSpatialStructureElement. ` 030 | 031 | 032 | Scenario: Entities that are an aggregated part of another element must not also be part of a spatial structure 033 | :doc:`Given an .IfcElement. ` 034 | :doc:`Given a relationship .IfcRelAggregates. to .IfcElement. from .IfcElement. ` 035 | 036 | :doc:`Then .ContainedInStructure. ^is^ empty ` 037 | 038 | 039 | Scenario: All other IFC entities must not be contained within a spatial structure 040 | :doc:`Given An .IfcProduct. ` 041 | :doc:`Given [Its Type] ^is not^ 'IfcElement' ^including subtypes^ ` 042 | :doc:`Given [Its Type] ^is not^ 'IfcGrid' ` 043 | :doc:`Given [Its Type] ^is not^ 'IfcAnnotation' ` 044 | 045 | :doc:`Then .ContainedInStructure. ^is^ empty ` .. rubric:: Version history .. list-table:: :header-rows: 1 * - Version - Tag - Date - Commit - Rule link * - v1 - :tag:`v0.6.6` - 2024-06-07 - :commit:`c51e52d5fbee0aea5d3641562faf76dfb58fb314` - `view `_ * - v2 - :tag:`v0.6.6` - 2024-06-12 - :commit:`0c778ff7156bbc6631a8a947aa86a7745021c365` - `view `_ * - v3 - :tag:`v0.6.8` - 2024-10-23 - :commit:`eeaf1ecba4041969673b749659f4efd00dac7b66` - `view `_ * - v4 - :tag:`v0.7.1` - 2025-03-11 - :commit:`c750a4788f183777aff9eb4611ca6ce584768947` - `view `_ * - v5 - :tag:`v0.7.3` - 2025-03-21 - :commit:`93e51d68cccb9d5bf4cb2e1c0608bd3669578614` - `view `_ * - v6 - :tag:`v0.7.9` - 2025-08-17 - :commit:`197ffba5582bf1bd1de4f93bd6096745e2fdc099` - `view `_