CityGML has no color after uploading to Cesium Ion


I have some IFC files that I have converted to CityGML with the help of FME.
When I upload the CityGML data to Cesium Ion, everything works so far, except that the colors are not taken into account.

I have uploaded a small example under the asset id 2517624.
The walls should be at least a shade of brown.

Is the CityGML invalid or rather a bug when processing with Cesium Ion?

Edit: is there a timeline to upload IFC directly to Cesium Ion?

I have opened an issue for our team to investigate the issue with asset 2517624 further. We will update you when we have any updates

I have also tagged some of my colleagues who are working in that area to respond about the IFC upload to see if they can provide any information.

Hi @Carlo91, happy to see you working with IFC, this is something we are exploring as it is becoming highly requested. Would you be willing to tell me a little more about your workflows and needs around IFC data in Cesium? If there is an sample data you would be willing to share as we evaluate our options that would be very helpful.

Hi @mdc9001 @Dave_Braig,
thanks for your answers.

For now, we would just display the IFC data using CesiumJS and interact with the objects.
Of course, the colors of the objects should also be displayed in CesiumJS.
We would like to be able to click on an object and then display the attributes that the models contain. For example, display the tag or the name in the asset mentioned.
Later we would then also clip the models, as in this example

For the test data, I first have to ask if I can provide it.
We currently have IFC2x3 data, probably IFC4 files will be added later

@Carlo91 - thank you for these details and they echo other comments we have been receiving as part of our exploration. You mentioned working with the IFC data in CesiumJS - would that include being able to turn on and off specific layers? Is there any interest in bringing the IFC data in other visualization engines that Cesium supports - Unity, Unreal or Omniverse?

Also, thank you for checking on the sample data, nothing compares to being able to dig a little into the actual files. More than happy to continue this conversation outside the forum via email.

Hi @mdc9001,

i uploaded another asset (2523184) where the colors exists for the model.
I transformed my source IFC file directly to Cesium 3D Tiles via FME and uploaded it to Cesium Ion.
So something is wrong with the CityGML file which i have uploaded for the first asset.
Perhaps you or your team can see the differences between the two assets.

I think, the app:diffuseColor Tag (and maybe some more elements) isn’t supported while uploading to Cesium Ion.
Could you tell me, which Elements i have to use, to set the colors?

The reason why I transform from IFC to CityGML and not directly to Cesium 3D Tiles is that FME takes quite a long time to transform from IFC to Cesium 3D Tiles.
In addition, the display of the models in CesiumJS is quite slow, as probably no LODs are calculated.

Therefore, my idea was to transform my IFC files to CityGML and Cesium Ion transforms them to Cesium 3D Tiles.

@Dave_Braig I will send you later an email. So we can talk more about IFC integration into Cesium

Hi Carlo

It looks like a single line is throwing the pipeline off in Cesium ion: the <app:theme>FMETheme</app:theme>. Removing this line produces the colors as expected.

I’ll add an issue to have this fixed.

Shehzan Mohammed

Hi Shehzan,

thanks for the informations.
I can confirm it. I removed the element manuelly and the colors are there.

Would the problem be fixed in the next monthly update? Or maybe sooner?

Hi Carlo

I can’t say for sure. While removing the line worked for your data, we have other sample datasets that produce colors as expected even when the theme tag is present. That means we have to find the underlying issue about why presence or absence of the theme tag is creating different results.

We’ll be tracking this, but feel free to reach out if you run into any issues.