PROBLEM
3D Tiles datasets coming out of Revit and PLATEAU needed cleaning, floor assignment, and packaging before anyone else could look at them — so the person who exported the model was also the only person who could review it.
SOLUTION
A single-page CesiumJS app that covers the whole authoring-to-sharing pipeline: load tilesets from URLs or local folders, split Revit-linked models into per-link buildings, assign floors with clipping-plane cutaways, overlay shapefile/GDB/GeoPackage layers, author indoor networks across floors, group buildings into named venues, and publish a self-contained package to a shared server.
Live demo
Read-only 3D Tiles viewer
Cesium stays off until you ask for it.
JavaScript is required to load the 3D Tiles demo. Cesium has not started.
SCREENSHOTS
Tilesets load from a URL, a local folder picker, or a persistent File System Access handle. Revit-linked models are auto-detected and split into per-link buildings with feature-level filters, and each building gets its own floor list — clipping-plane cutaways expose the interior of a single level, with a cross-building floor selector to move through the station.
PLATEAU context comes from a catalog picker with a Leaflet map preview, with LOD filtering to suppress duplicate buildings across CityGML levels of detail and per-feature ghost/hide overrides with click-through picking. Shapefile overlays render as flat-height polygons, and File Geodatabase or GeoPackage layers import through GDAL in a web worker, with heuristic matching to buildings and floors.
Indoor networks are authored directly on the model: stairs, escalators, elevators, slopes, and moving walkways connect across floors through a floor-to-floor connect mode, with waypoint placement along stair geometry and GeoJSON export of the authored connectors.
Sessions back up and restore automatically with snapshots and a visual diff between states, and publishing bundles the tilesets and session metadata into a package the server mirrors and shares by link.
TECH STACK
IMPACT
Publishing a venue is one click: tilesets, session metadata, and GIS floor plans get bundled and pushed to the Express server, and colleagues open a plain link instead of receiving a file handoff. RevitGeoSuite pushes packages into the same server, and the running session updates live over SSE.
RevitGeoSuite pushes its export packages into the same server — the viewer is where its 3D Tiles and GIS floor plans land for review.