buildingSMART / buildingSMART/IFC4.x-development
Contradiction in the specification of IfcShapeRepresentation
- Dominant language
- Python
- Stars
- 234
- Forks
- 123
- Avg merge
- 15h 4m
- Merged PRs (30d)
- 5
Description
Original topic [here](https://forums.buildingsmart.org/t/contradiction-in-the-specification-of-ifcshaperepresentation/3247)
This issue is present both in version 4.3 RC2 and 2x3 TC1, so I’m guessing all version inbetween are affected too.
Both specifications have a table listing the possible values for RepresentationType, in which SolidModel is described as
including swept solid, Boolean results and Brep bodies; more specific types are:
One of the more specific types is CSG, which includes Boolean results.
However, in WR24 (from IFC 2x3, which corresponds to CorrectItemsForType in IFC 4.3), function IfcShapeRepresentationTypes is referenced, which only counts instances of entities that are subtypes of IfcSolidModel when RepType = 'SolidModel'. This excludes instances of IfcBooleanResult.
EDIT: In theory, in IFC 2x3 Boolean results could be wrapped in an IfcCsgSolid in order to be used with RepType = 'SolidModel', the problem is that IfcCsgSolid is not included in CoodinationView 2.0 so it can’t be done in practice. I don’t know if this is the case for newer versions of the specification.
Contributor guide
Research direction
Start by comparing the RepresentationType table for IfcShapeRepresentation with WR24 and the IfcShapeRepresentationTypes function referenced by CorrectItemsForType across IFC 2x3 and IFC 4.3. Check how IfcBooleanResult, IfcSolidModel, IfcCsgSolid, and Coordination View 2.0 are treated. Done means the contradiction is resolved consistently in the affected specifications.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100