buildingSMART / buildingSMART/IFC4.x-development

Contradiction in the specification of IfcShapeRepresentation

Open
#1,068 8 comments 0 reactions 0 assignees View on GitHub
allocated-core ifc-update-out
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.