IFCCesiumJS
IFC to CesiumJS: BIM models on a 3D globe
How to place IFC building models at their real-world location in CesiumJS, next to terrain, imagery and GIS layers.
The problem
Why this conversion is hard
- IFC models use local engineering coordinates, so they appear at the centre of the Earth or far from their site.
- CesiumJS expects 3D Tiles or glTF in an Earth-centred frame.
- Large models need streaming, or the globe slows to a crawl.
Our approach
How we do it
- 01
Convert to 3D Tiles
IFC becomes glTF and then 3D Tiles, as in the Revit and IFC to 3D Tiles guide.
- 02
Find the site location
IfcMapConversion, or IfcSite latitude, longitude and elevation, gives the real-world anchor.
- 03
Place the tileset
An east-north-up transform at the anchor puts the model on the globe at the right height and heading.
- 04
Combine with GIS
Terrain, imagery, vector layers and other tilesets share the same scene.
Example
A short working example
A starting point to show the idea. Production pipelines add validation, tiling and error handling around it.
const viewer = new Cesium.Viewer("cesiumContainer", {
terrain: Cesium.Terrain.fromWorldTerrain(),
});
const tileset = await Cesium.Cesium3DTileset.fromUrl("/tiles/building/tileset.json");
viewer.scene.primitives.add(tileset);
// Site anchor read from IfcSite / IfcMapConversion
const origin = Cesium.Cartesian3.fromDegrees(-0.1276, 51.5072, 25.0);
const heading = Cesium.Math.toRadians(12.5);
tileset.modelMatrix = Cesium.Matrix4.multiply(
Cesium.Transforms.eastNorthUpToFixedFrame(origin),
Cesium.Matrix4.fromRotation(Cesium.Matrix3.fromRotationZ(heading)),
new Cesium.Matrix4()
);
await viewer.zoomTo(tileset);Pitfalls
What usually goes wrong
- Check whether elevations are relative to the ellipsoid or to sea level.
- Apply the IFC true-north rotation, or the building will face the wrong way.
- Keep one coordinate convention across all tilesets in the scene.
Case studies
Where we have done this

Telecom
5G Network Digital Twin
An end-to-end platform to manage the physical and virtual assets of a 5G network in a 3D geospatial environment.
Read case study
GIS / Urban planning
3D Digital Twins of a City
Import, export and visualization of 3D building digital twins on a GIS map, inside an existing planning product.
Read case study
GIS / Urban planning
Property and 3D Data Rendering
3D data, 2D property data and large point sets rendered together on maps for a USA-based client.
Read case study
Want this done on your own IFC files?
Our BIM to Web accelerator is fixed scope and fixed price. Start with a free sample file, or talk to an engineer.
