buildingSMART / buildingSMART/IDS
Test cases needed for IFCProject properties (and other non-IfcObjects) in IFC4+
- Dominant language
- C#
- Stars
- 318
- Forks
- 90
- PR merge metrics
- No merged PRs in 30d
Description
An interesting edge case we hit in xbim's IDS validation logic made me realise IDS may need a couple of extra test cases for the properties facet - particularly for any "early bound" IDS implementations. In xbim's implementation when checking properties we distinguish between _IfcObject_s and _IfcTypeObject_s due to the different Properties relationships, and the need to inherit /override Objects with Types. But it became apparent that properties on IFCProjects under IFC4 were not being identified (but fine under 2x3). Why:
In IFC2x3, _IfcProject_ is a subclass of IfcObject which is where it gets its properties from (via IsDefined relationship).
In IFC4, _IfcProject_ moved to a new abstract superclass of IfcContext, derived from IfcObjectDefinition. We'd missed _IfcContext_ as place where properties could be defined.
This probably is less of an issue for those implementations doing latebound / 'duck' typing. But raises the fact we may need some additional test cases. I created one https://github.com/xBimTeam/Xbim.IDS.Validator/blob/master/Xbim.IDS.Validator.Core.Tests/TestCases/xbim/pass-ifc4-projects-support_properties.ids
At the same time we may want to look at _IfcMaterialDefinition_ properties and test cases for those as well. Relates to #198
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.