Prolincur Technologies

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.

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.

How we do it

  1. 01

    Convert to 3D Tiles

    IFC becomes glTF and then 3D Tiles, as in the Revit and IFC to 3D Tiles guide.

  2. 02

    Find the site location

    IfcMapConversion, or IfcSite latitude, longitude and elevation, gives the real-world anchor.

  3. 03

    Place the tileset

    An east-north-up transform at the anchor puts the model on the globe at the right height and heading.

  4. 04

    Combine with GIS

    Terrain, imagery, vector layers and other tilesets share the same scene.

A short working example

A starting point to show the idea. Production pipelines add validation, tiling and error handling around it.

JavaScript with CesiumJS: place a BIM tileset at its site
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);

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.

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.