SWE002 Mirroring within IfcDerivedProfileDef shall not be used - v3
001 | @informal-proposition 002 | @SWE 003 | @version3 004 | Feature: SWE002 - Mirroring within IfcDerivedProfileDef shall not be used 005 | 006 | The rule verifies that the transformation defined in IfcDerivedProfileDef.Operator does not introduce mirroring. 007 | The subtype IfcMirroredProfileDef should be used for that. For the tapered sweeps, which tend to rely on 008 | IfcDerivedProfileDef, by expressing the tapering operation as a change in profile, mirroring should not be used 009 | altogether. 010 | 011 | Scenario: IfcDerivedProfileDef must not use mirroring as there is a dedicated subtype for that 012 | 013 | Given A model with Schema 'IFC4' or 'IFC4.3' 014 | 015 | Given An .IfcDerivedProfileDef. ^without subtypes^ 016 | Given Its attribute .Operator. 017 | Given The determinant of the placement matrix 018 | 019 | Then The resulting value must be ^greater than 0^ 020 | 021 | Scenario Outline: Tapered sweeps must not use mirroring altogether 022 | 023 | Given An .<entity>. 024 | Given Its attribute .<attribute>. 025 | Given [Its entity type] ^is^ 'IfcDerivedProfileDef' or 'IfcMirroredProfileDef' 026 | Given Its attribute .Operator. 027 | Given The determinant of the placement matrix 028 | 029 | Then The resulting value must be ^greater than 0^ 030 | 031 | Examples: 032 | | entity | attribute | 033 | | IfcExtrudedAreaSolidTapered | SweptArea | 034 | | IfcExtrudedAreaSolidTapered | EndSweptArea | 035 | | IfcRevolvedAreaSolidTapered | SweptArea | 036 | | IfcRevolvedAreaSolidTapered | EndSweptArea |
Version history
Version |
Tag |
Date |
Commit |
Rule link |
|---|---|---|---|---|
v1 |
2025-01-23 |
|||
v2 |
2025-10-28 |
|||
v3 |
2026-03-03 |