Skip to main content

3D models

In Cognite Data Fusion, the 3D model resource type stores files that provide visual and geometrical data and context to assets. For example, CDF can connect a pump asset with a 3D model of the plant floor where it's placed. Seeing asset data rendered in 3D helps you find the sensor data of your interest faster.

About 3D models

CDF organizes 3D data in models and revisions:

  • Models are placeholders for a set of revisions.

  • Revisions contain the 3D data.

For example, you can have a model named Compressor and can upload a revision under that model.

When you create a revision you need to attach a 3D file. For each new version of the 3D model, you upload a new revision under the same model. A revision can have the status published or unpublished used by applications to decide whether to list the revision. Many revisions can be published at the same time since they don't necessarily represent the time evolution of the 3D model, but rather different versions (high detail vs low detail).

When you upload a new revision, Cognite needs to process the 3D data to optimize it for the renderer. Depending on the complexity of the 3D file, this can take some time. A revision can have the status Queued, Processing, Done, or Failed, which can be tracked during processing.

3D data is built up by a hierarchical structure. This is similar to how CDF organizes its internal asset hierarchy. Each node in the 3D hierarchy is automatically assigned a unique nodeId value.

If a user clicks an object on the screen, the application can get a callback containing nodeId of the clicked object. CDF supports endpoints to extract the full 3D node hierarchy, and endpoints to create mapping between 3D nodes and nodes in the asset hierarchy. You can then use the nodeId to connect the 3D data to asset information such as metadata and time series.

You can also use the web based 3D viewer to embed the 3D model in a web page.

TIP

See the 3D API documentation for more information about how to work with 3D models.