Design Options + Units + Color

  1. Does IFC4 support Design Options?

  2. Also, IfcColourRgb is based on 3 channels, Red, Green, Blue, in the range of 0.0 ... 1.0, so does it support some 4 channels technologies like WebGL?

Also, does a range of 0.0 ... 1.0 support advanced colors? With correct implementation? As long as I know correction of color change most of the times cause chaos

  1. Is it possible to add/improve Units and Unit Conversion in IFD/IFC schema? I think for PDM - PDT this is crucial

About question 2: IfcColourRgb is only the colour part. Transparency is described in another data type (IfcNormalisedRatioMeasure). They can both be assigned as part of e.g. IfcSurfaceStyleShading

https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/link/ifcsurfacestyleshading.htm

A range of 0…1.0 is thought if in the context of typical RGB colour definition (three values in 8-bit, between 0 and 255). This is typically used as part of a simple shading model. These are not floating point colour intensities as you would have in HDR visualisation.

  1. I am not aware of any Design Option support. I personally believe this should be a responsibility of the version control system, not the IFC schema.
  2. What @stefkeB said, but keep in mind that the alpha channel is reversed compared to most graphic programs. For advanced colors, including HDR visualisation and lighting simulation, we have used IfcExternallyDefinedSurfaceStyle to integrate IFC with other materials like Blender Cycles for PBR shading, Eevee for real-time VR, and Radiance for photometrically correct definitions.
  3. What’s wrong with the current units and unit conversions?

Thanks Stefan and Dion,

  1. I think because in ISO19650 we have “Revision” I guess in the future we will have “Revisions” inside the IDM and MVD
    And Revisions are so close to “Design Options” too

Imagine you send different Revisions and/or Options to the related party to choose the best one/ones and you want to “archive all design changes from the first day” and “include inside the Micro-MVDs”

  1. It’s really good to hear this, I will talk about this part soon

  2. I don’t see anything inside the IFC4.2 Final about “Unit Conversions” like what GS1 has developed
    Software have some mechanisms to convert different units inside the software but I think it would be better IFD and IFC inherently have a mechanism inside the schemas to select and convert different Units

IFC supports which units? Please categorize them to: Supported and Unsupported

Units:

  • Length
  • Area
  • Volume
  • Angel
  • Slope
  • Time
  • Speed
  • Currency
  • Mass Density
  • Temperature
  • Pressure
  • Humidity
  • Force
  • Impulse
  • Energy
  • Energy Density
  • Torque
  • Power
  • Irradiance
  • Charge
  • Current
  • Resistance
  • Conductance
  • Acceleration
  • Frequency
  • Voltage
  • Capacitance
  • Magnetic Flux
  • Magnetic Flux Density
  • Magnetic Vector Potential
  • Inductance
  • Luminous Intensity
  • Illuminance
  • Exposure
  • Amount of Substance
  • Molar Mass
  • Molar Concentration
  • Dimensionless Concentration
  • Molar Volume
  • Molar Thermodynamic Energy
  • Radioactivity
  • Absorbed Dose
  • Effective Dose
  • Absorbed Dose Rate
  • Effective Dose Rate
  • Memory Capacity
  • Data Rate
  • Kinematic Viscosity
  • Dynamic Viscosity
  • Flow Rate

I couldn’t find units for these:

  • Speed
  • Impulse
  • Irradiance
  • Magnetic Vector Potential
  • Exposure
  • Effective Dose
  • Absorbed Dose Rate
  • Effective Dose Rate
  • Memory Capacity
  • Data Rate

And I’m not sure about these units too:

  • Humidity
  • Energy Density
  • Current
  • Molar Mass
  • Molar Concentration
  • Dimensionless Concentration
  • Molar Volume
  • Molar Thermodynamic Energy

@ReD_CoDE ,

please have a look here:

If you know your physics and how data modelling goes, you should be able to work it out yourself.

Note: this was already possible with IFC2x3.

Thanks Stefan, I clearly aware of these and I know that IFC is so flexible in these areas and nearly all units are achievable

However, I think some units are better be added directly to IFC schema (some of them are really important in MEP and Building Performance areas)

I would go so far to even boldly state that every unit is achievable, as long it can be expressed by any combination of the standardized SI units (see ISO 80000-1 )

You can even define a new length unit, banana, as a conversion based unit like this:

#42 = IFCCONVERSIONBASEDUNIT(#1729, .LENGTHUNIT., 'banana', #6174);
#1729 = IFCDIMENSIONALEXPONENTS(1, 0, 0, 0, 0, 0, 0);
#6174 = IFCMEASUREWITHUNIT( IFCLENGTHMEASURE(16.739), #80000);
#80000 = IFCSIUNIT (*, .LENGTHUNIT., .CENTI., .METRE.);

With this, 1 banana = 16.739 cm.

This contradicts your previous replies.

How do you recommend doing that? What would that solve? I think that the current way is very versatile and capable of every imaginable scenario. And: which units should that be and why not any other?

2 Likes

Any unit can be defined. But you probably don’t have measure types some of the measures ReD_CoDE mentions.

But at least speed exists as IfcLinearVelocityMeasure.

If any other measures needed in proprietary property sets, I guess the correct solution is to store the value in an IfcReal and set the unit directly on the property set value.

1 Like