Ravi Chandu Edru/ lab

Concept lab · 02

Digital Twin: the building that knows its data

This is a digital twin: a 3D model where every object carries the same ID as a row in a data table. Three office buildings on one street, built from nine CSV files. Click anything to see its data. Press Play to replay two real days of sensor readings. Switch to X-ray to see through the facades, pin a single floor when the storeys stack up, and trigger the incident to watch one overheating sensor pull its ventilation unit, its floor, and finally the tenants who lease rooms there into the alert. No account, no setup, everything runs in your browser.

viewspeedfloor0 warn0 alert floor vacant room leased room asset sensor
Loading the building data…

Inspector

Waiting for data…

The one idea

A twin is a join

Every box and sphere in the scene carries an attribute called fabricEntityId. The tables carry the same IDs. That join is the whole trick: the 3D model stays dumb geometry, the data stays ordinary tables, and the ID glues them into one thing. Every digital twin product, from Microsoft Fabric to NVIDIA Omniverse, is a version of this join.

Why the incident matters

Alerts need context

A sensor crossing a threshold is just a number. The twin makes it a story: the sensor sits on an asset, the asset serves a floor, the floor has rooms, the rooms have leases, the leases name tenants. That chain is a graph traversal. It is the same chain an ontology holds in Fabric IQ, and it is what turns monitoring into operations.

Take it further

The same twin, elsewhere

The same twin also exists as an OpenUSD file, the format NVIDIA Omniverse and film pipelines use, and every prim in it carries the business data: tenant, rent, lease dates, thresholds, and two days of readings as time samples you can scrub. Download property-twin.usda and open it in Blender. Or build the data side yourself in the ontology lab, using the same nine CSV files.

Glossary, from fresher to pro
Digital twin
A model of a real thing (a building, a truck, a factory) that stays connected to data about that thing. Not just a 3D picture: the connection to live data is what makes it a twin.
Telemetry
Measurements sent by sensors over time. Here: supply air temperature, hot water temperature, and power draw, every 15 minutes.
Threshold
A value that separates normal from not normal. This lab uses two per sensor type: warn and alert.
Entity ID (the join key)
The shared name that lets the 3D object and the data row find each other, like SN-HARBOR-VENT1-T. If the IDs do not match exactly, the twin silently falls apart. This is also the number one failure in real Fabric digital twin builds.
Massing model
A deliberately simple 3D shape for each thing: floors as slabs, rooms as boxes. Real projects swap in scanned geometry; the data wiring stays the same.
OpenUSD
Universal Scene Description, the open 3D format started by Pixar and used by NVIDIA Omniverse. A USD scene is a tree of prims (objects), and each prim can carry custom attributes, which is where the entity IDs live.
Graph traversal
Following relationships hop by hop: sensor to asset to floor to lease to tenant. Databases built for this are graph databases; in Microsoft Fabric the ontology plus Graph do this job.
Digital Twin Builder
The Microsoft Fabric item (in preview) that builds the data side of a twin: entity types mapped from lakehouse tables, time series bound by a link property, relationships as value joins. This lab is the same set of ideas with the 3D layer added.