Skip to main content
Question

How is .nwd/.lfa file being rendered in Cognite Reveal. Is CDF already converting nwd/.lfa files lossless?

  • May 1, 2026
  • 2 replies
  • 43 views

How are .nwd and .lfa files rendered in Cognite Reveal? Does CDF already convert .nwd and .lfa files in a lossless way, without losing any node or asset metadata? Is is converted to .glb/.gltf file types as conversion output?

What happens if we use raw Three.js instead? How can we work with .nwd files in that case? Three.js doesn’t support .nwd files directly, right?

Is it necessary to convert them to .fbx or .obj formats? Wouldn’t that result in a lossy conversion, potentially causing loss of metadata, asset hierarchy, or textures? 

How do we use .nwd and .lfa files for show warnings or overlays? 

2 replies

  • Practitioner ⭐️⭐️⭐️
  • May 4, 2026

Hi! Thank you for your question

CAD model files like `.nwd` and `.lfa` are optimized in our backend before being output as `.glb` files for consumption in Reveal. We may simplify and introduce tiny inaccuracies to the model’s geometry as part of the optimization process, but we do not make any changes to the CAD nodes’ metadata.

As you say, I also don’t believe there is any support for `.nwd` files in Three.js, so conversion to another format may be the only viable option. I’m not intimately familiar with the `.fbx` format and whether it supports node metadata and hierarchy information at the same granularity as `.nwd`, but even if it does, I’m not sure it would be immediately usable through Three.js either, if that is the intention here.

Is the use case to show `.nwd`/`.lfa` models as e.g. warning indicators in a scene that contains other models? This could still be done by ingesting the `.nwd`/`.lfa` model files as normal 3D-models in CDF, and then selectively add and remove them in Reveal at the appropriate time and position.

 

We would like to hear more about this use case, in particular if there are important details we have missed


  • Author
  • Committed ⭐️⭐️
  • May 4, 2026

@Håkon Flatval: So, as i understood. We can add overlays in reveal based on timeseries data, What if there are large number of data/overlays. This is done using Html of threejs right? based on the nodeId?