buildingSMART / buildingSMART/validate
IfcCurveStyle WR11 check compares against 'bylayer' instead of 'by layer'
- Dominant language
- Python
- Stars
- 67
- Forks
- 20
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 13
Description
Schema: IFC2X3
Rule: IfcCurveStyle.WR11
Expected behaviour
Per the official EXPRESS specification, when CurveWidth is given as an IfcDescriptiveMeasure, it must equal the string 'by layer' (with a space):
WR11: ... (('IFCMEASURERESOURCE.IFCDESCRIPTIVEMEASURE' IN TYPEOF(CurveWidth)) AND (CurveWidth = 'by layer'))
Actual behaviour
The validation report shows the runtime check comparing against 'bylayer' (no space) instead:
IfcDescriptiveMeasure('by layer') == 'bylayer'
This produces a false Error on every instance where CurveWidth is correctly set to 'by layer' per the standard, since it's being compared to the wrong string.
Example
Instance from an IFC2X3 file:
#11695=IfcCurveStyle(,,
,,IfcDescriptiveMeasure('by layer'),$)
Six instances failed for this identical reason in the same file: #11695, #11595, #11495, #11395, #5794, #5729
Happy to share the full validation report if useful.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.