GEM011 Curve segments consistency - v2

001 | @implementer-agreement
002 | @GEM
003 | @version2
004 |
005 | Feature: GEM011 - Curve segments consistency
006 |
007 |   The rule verifies that the same entity type is used for all segments
008 |   and that IfcCurveSegment is used with IfcSegmentedReferenceCurve and IfcGradientCurve
009 |   The rule is identical to ALS011, except that it does not require the presence of an IfcAlignment.
010 |
011 |
012 | Background:
013 |   Given a model with Schema 'IFC4.3'
014 |   Given an .IfcProduct.
015 |   Given [its entity type] ^is not^ '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
022 |
023 |   Given [its entity type] ^is^ '<entity>'
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: IfcCurveSegment used for IfcSegmentedReferenceCurve and IfcGradientCurve
037 |
038 |   Given [its entity type] ^is^ '<entity>'
039 |   Given its attribute .Segments.
040 |   Given its entity type
041 |
042 |   Then The value must be 'IfcCurveSegment'
043 |
044 |   Examples:
045 |     | entity            |
046 |     | IfcGradientCurve  |
047 |     | IfcSegmentedReferenceCurve |

Version history

Version

Tag

Date

Commit

Rule link

v1

v0.6.6

2024-06-21

1cd01e0f

n/a

v2

v0.8.3

2025-12-04

d7fcd850

view