Skip to main content

Hi all,

I’m facing some troubles converting IFC data to Cesium 3D Tiles.

Background:

  • I have several IFC files containing mostly 3D objects concerning civil engineering
  • source coordinate system: EPS:2056
  • different, user-defined PropertySets
  • different IFC versions

Goal:

  • Cesium 3D Tiles with all attributes (PropertySets)

What I did so far (transformers in FME):

  • Adding a dynamic reader with autodetecting IFC version
  • Extracting PropertySets from Geometry
  • Doing some cleaning on Geometry, i.e. removing extra Bounding Boxes and adding Vertex Normals
  • Scanning the schema
  • Writing dynamically to Cesium3DTiles
  • FME Version: 2024.2.1.0 (Build 24801)

Problems:

  • some features are missing

I cannot see why some features/objects are missing. They obiously run through all transformers until the writer. There are no errors, only 2 warnings saying:
NOT changing coordinate system of reader identified by keyword `IFC_1' from `EPSG:2056' to `IFC_COORDSYS_0' -- mapping file setting of `EPSG:2056' overrides coordinate system `IFC_COORDSYS_0' read from file
and
Geometry instance was modified, the geometry definition will be instantiated

When inspecting the data just before the writer I cannot see any difference to other objects. They all are the same geometry type.

Questions:

  • Do I miss some validations?
  • Are there any more requirements for writing Cesium 3D Tiles?

Cheers,
MariaKa

One thing you can check is to try using the gltf writer to see if there are any warnings about skipped geometries although I would expect the 3DTiels writer to also let you know

I know that for GLTF (and by extension 3D Tiles) the formats are sensitive to invalid mesh geometries. I’ve found that I’ve had to do quite a bit of fixing of geometries for FME to not skip parts of the file. for me the issue was made obvious because I was merging all meshes together into a single feature, if there were any parts which were bad then the whole geometry got skipped.


Reply