Color description in ifc

Hi @all,

I’m struggling with getting object colors to exported ifc files. I tried different ways: assigning colors directly, assigning them via layer, set the print color etc… Always the same result: gray objects, if i open it in a viewer like Trimble Connect.

When i look at the ifc file, I recognize, that the color is stored as “IFCCOLOURRGB” and assigned to a “IFCFILLAREASTYLE”. According to the specification IFC 2x3 specification, color information for surfaces is assigned by using “IfcSurfaceStyle”, not by using “IfcFillAreaStyle”. If i change this in the written IFC-File, the cube gets red.



Do you agree, that this should be changed in a future version?


Hi @marco.graf,

Rhino has three different colors for objects:

  • Display color: used on the wireframe and shaded display modes
  • Print color: used for printing
  • Material color: used on rendered display mode and render.

According to IFC documentation, IfcSurfaceStyleShading (inherited from IfcSurfaceStyleRendering) is used to specify the color of a rendering material, and IfcFillAreaStyle is used to determine annotation attributes, and surface hatch and color.

IMHO, VisualARQ is correctly exporting the Rhino render material as IfcSurfaceStyleShading, and, in order to keep the display color attribute, we export it using IfcFillAreaStyle, so you can import the IFC back into VisualARQ and materials and display colors are kept.

I don’t know if other IFC applications use IfcFillAreaStyle. AFAIK, neither Revit nor Solibri has the concept of “display color” like Rhino. They only have one color, and it is the real rendering color.



Hi @marco.graf,

You can use the SynchronizeRenderColors Rhino command to change materials to match display color.


Hi @enric,

thanks a lot for your comprehensive answer. I wasn’t aware of all the three color options. So I withdraw my statement, that this isn’t handled correctly :zipper_mouth_face:

Thanks again,