> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cognite.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 3D Models

> Manage 3D models in Cognite Data Fusion (CDF).

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.

## Models and revisions

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 upload a revision under that model. 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. Multiple 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 you can track during processing.

## Node hierarchy

3D data is built up by a hierarchical structure, 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 the `nodeId` of the clicked object. CDF supports endpoints to extract the full 3D node hierarchy and to create mappings 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](https://cognitedata.github.io/reveal-docs/docs) to embed the 3D model in a web page.

## Core operations

* **Create** models to organize new 3D content
* **List** models with optional filters for published status and other criteria
* **Update** model metadata when descriptions or properties change
* **Delete** models when they are no longer needed
