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

Data types

Open berlotti opened this issue 5 years ago • 2 comments

From the Rail project, suggested by @BenzclyZhang

Description of the proposal:

There are seven simple data types in EXPRESS as listed.

  • NUMBER
  • REAL
  • INTEGER
  • LOGICAL
  • BOOLEAN
  • STRING
  • BINARY

All Simple data types defined in EXPRESS are converted to defined UML Primitive data types with the same names.

Remarks:

  • Perhaps should consider to map them to predefined standard UML Primitive data types. However, BINARY, NUMBER and LOGICAL do not have equivalents.
  • As suggested by ISO 10303-25, LOGICAL can be mapped to a UML Enumeration data type with three Enumeration Items: false, true and unknown.
  • NUMBER can be mapped to Real, same as Real in EXPRESS. But do we really need to use NUMBER in IFC? NUMBER is the underlying data type of two Defined data types: TYPE IfcCountMeasure = NUMBER; END_TYPE; TYPE IfcNumericMeasure = NUMBER; END_TYPE;

Can REAL be used in these two places instead?

Describe how it contributes to the objectives set in https://github.com/buildingSMART/NextGen-IFC/wiki/Towards-a-technology-independent-IFC: It makes IFC more generic usable in UML and other languages without having strange hacks.

What do we win: Faster adoption of IFC

What do we loose:

Schema impact: Change data types

Instance model impact:

Backwards compatible: no

Automatic migration possible: yes

Additional implications: ?

berlotti avatar Mar 13 '20 07:03 berlotti

Strong consensus and agreement

berlotti avatar Mar 13 '20 10:03 berlotti

In most cases LOGICAL can be mapped to OPTIONAL BOOLEAN yielding the same ternary structure.

aothms avatar Mar 13 '20 12:03 aothms