ALS011 Alignment segment entity type consistency - v3
001 | @implementer-agreement 002 | @ALS 003 | @version3 004 | 005 | 006 | Feature: ALS011 - Alignment segment entity type consistency 007 | 008 | The rule verifies that the same entity type is used for all segments 009 | and that IfcCurveSegment is used with IfcSegmentedReferenceCurve and IfcGradientCurve 010 | The rule is similar to GEM011, except that it requires the presence of an IfcAlignment. 011 | 012 | 013 | Background: 014 | Given a model with Schema 'IFC4.3' 015 | Given an .IfcAlignment. 016 | Given its attribute .Representation. 017 | Given its attribute .Representations. 018 | Given its attribute .Items. 019 | 020 | 021 | Scenario Outline: Consistent entity types used - direct representation 022 | 023 | Given [its entity type] ^is^ '<entity>' ^excluding subtypes^ 024 | Given its attribute .Segments. 025 | Given its entity type 026 | 027 | Then The values must be identical at depth 3 028 | 029 | Examples: 030 | | entity | 031 | | IfcCompositeCurve | 032 | | IfcGradientCurve | 033 | | IfcSegmentedReferenceCurve | 034 | 035 | 036 | Scenario Outline: Consistent entity types used - capture parent curve in case it is not a direct representation 037 | 038 | Given [its entity type] ^is^ '<entity>' 039 | Given its attribute .BaseCurve. 040 | Given [its entity type] ^is^ '<entity_parent>' ^excluding subtypes^ 041 | Given its attribute .Segments. 042 | Given its entity type 043 | 044 | Then The values must be identical at depth 3 045 | 046 | Examples: 047 | | entity | entity_parent | 048 | | IfcGradientCurve | IfcCompositeCurve | 049 | | IfcSegmentedReferenceCurve | IfcCompositeCurve | 050 | 051 | 052 | Scenario Outline: IfcCurveSegment used for IfcSegmentedReferenceCurve and IfcGradientCurve 053 | 054 | Given [its entity type] ^is^ '<entity>' 055 | Given its attribute .Segments. 056 | Given its entity type 057 | 058 | Then The value must be 'IfcCurveSegment' 059 | 060 | Examples: 061 | | entity | 062 | | IfcGradientCurve | 063 | | IfcSegmentedReferenceCurve |
Version history
Version |
Tag |
Date |
Commit |
Rule link |
|---|---|---|---|---|
v1 |
2024-06-21 |
|||
v2 |
2025-06-25 |
|||
v3 |
2025-12-04 |