NextGen-IFC icon indicating copy to clipboard operation
NextGen-IFC copied to clipboard

IfcInteger vs INTEGER

Open pjanck opened this issue 4 years ago • 2 comments

Description of the proposal:

Moving from IFC4 to IFC4x1, EXPRESS::INTEGER (EXPRESS internal data type) was overall replaced with a defined type IfcInteger. However, this has apparently not been done for all instances - e.g. IfcDerivedUnitElement. I'm not sure if this is a design decision, or if this has been overlooked.

I propose to either use IfcInteger or INTEGER, but not both.

Describe how it contributes to the objectives (https://github.com/buildingSMART/NextGen-IFC/wiki/Towards-a-technology-independent-IFC): improves consistency.

Is this a proposal to 'add', 'remove' of 'change' entities in the schema (pick one): change.

What do we win: consistency.

What do we lose: chaos.

Schema impact: yes.

Instance model impact: none (I believe).

Backwards compatible: ?

Automatic migration possible: yes.

Additional implications: Perhaps an overhaul should be done for IfcDouble and the rest as well.

pjanck avatar Dec 29 '20 15:12 pjanck

Agree! See also the more general proposal on reusing already defined concepts, which includes reuse of primitive datatypes instead of defining them specifically for IFC : https://github.com/buildingSMART/NextGen-IFC/issues/53

jetgeo avatar Jan 04 '21 08:01 jetgeo

+1. This looks like a straightforward fix. Minimizing the content surface between IFC "base types" (like IfcInteger) and EXPRESS primitives by using IFC's type definitions everywhere we can directly supports the bSI's technical objectives.

devonsparks avatar May 08 '24 02:05 devonsparks