ALB032 Alignment layouts reusing horizontal - v1

001 | @implementer-agreement
002 | @ALB
003 | @version1
004 | Feature: ALB032 - Alignment Layouts Reusing Horizontal
005 | The rule verifies that alignments are nested in accordance with Concept Template 4.1.4.4.1.2
006 | which represents the case of a horizontal layout being reused by vertical layouts.
007 | Alignment layouts are abbreviated as follows: horiz = IfcAlignmentHorizontal, vert = IfcAlignmentVertical,
008 | and cant = IfcAlignmentCant
009 |
010 | Background:
011 |     Given A model with Schema 'IFC4.3'
012 |     Given an .IfcAlignment.
013 |
014 | Scenario: Agreement on IfcAlignment layout nesting per 4.1.4.4.1.2 for "parent" alignment
015 |
016 |     Given a relationship .IfcRelAggregates. from .IfcAlignment. to .IfcAlignment.
017 |     Given a relationship .IfcRelNests. from .IfcAlignment. to .IfcObject.
018 |     Then the alignment layouts must include [1 horiz]
019 |
020 | Scenario: Agreement on IfcAlignment layout nesting per 4.1.4.4.1.2 for "child" alignment
021 |
022 |     Given a relationship .IfcRelAggregates. from .IfcAlignment. to .IfcAlignment. and following that
023 |     Given a relationship .IfcRelNests. from .IfcAlignment. to .IfcObject.
024 |     Then the alignment layouts must include [1 vert] or [1 vert and 1 cant]
025 |
026 | Scenario: Alignment aggregation does not go deeper than one level per 4.1.4.4.1.2
027 |
028 |   Given a relationship .IfcRelAggregates. from .IfcAlignment. to .IfcAlignment. and following that
029 |   Then a relationship .IfcRelAggregates. ^must not exist^ from .IfcAlignment. to .IfcAlignment.
030 |

Version history

Version

Tag

Date

Commit

Rule link

v1

v0.8.3

2025-09-09

47bed8ce

view