What is IFC?

An IFC file is a model file created in the Industry Foundation Classes (IFC) format, which is an open file format used by Building Information Modeling (BIM) programs. It contains:

  • A geometry model of a building or facility, including spatial elements, materials, and shapes

  • A so-called feature data model describing typical BIM properties of that data, such as contractor, layer, and so on

LuciadLightspeed can decode both the geometry and the feature data, handling the two data types in a distinct way.

Geometry model: conversion to OGC 3D Tiles

If you load IFC data directly in LuciadLightspeed, it is converted internally to an OGC 3D Tiles dataset, on-the-fly.

You can also convert the data to OGC 3D Tiles up front, as described in the Converting IFC data to OGC 3D Tiles tutorial.

See the OGC 3D Tiles documentation for more information about that data format.

During the conversion, the IFC data undergoes a number of changes to make it more suitable for decoding and visualization.

Tile structuring

OGC 3D Tiles datasets have a tile structure that is optimized for streaming.

IFC data doesn’t have a tiling structure. Therefore, the data is organized into a new tile structure during the conversion. Due to the nature of CAD data, tiles can still overlap, though.

Generation of 3D meshes and levels-of-detail

The conversion process generates 3D meshes for the original geometries at multiple levels-of-detail by means of distinct quality settings for each level. At lower levels-of-detail, smaller objects are left out.

Metadata

The conversion process doesn’t store the metadata of the original IFC data in the OGC 3D Tiles dataset. It does generate a unique FeatureID for every object, though, and stores the feature IDs in the batch table information of the OGC 3D Tiles dataset.

Using this FeatureID, you can link the metadata inside the feature data model to the OGC 3D Tiles data.

PBR material properties

The conversion uses the material properties, which are present in each IFC dataset, to calculate Physically Based Rendering (PBR) material properties: the diffuse, specular and specularHighlight properties in the IFC dataset are converted to metallic and roughness PBR properties.

Performance impact of the conversion

The internal conversion of IFC data affects LuciadLightspeed performance:

  • Because all geometric information of the IFC data is interpreted before the OGC 3D Tiles structure is created, it can take a long time for a dataset to load.

  • All geometric information of the IFC data and the resulting OGC 3D Tiles structure must be kept in memory, resulting in a large memory footprint.

  • The 3D mesh of each tile is calculated on-the-fly, resulting in a high CPU load.

As a consequence, it is typically not practical to visualize the IFC data model directly on a Lightspeed map.

Therefore, the recommended way of handling IFC data in LuciadLightspeed is converting the data in the OGC 3D Tiles format up front, and visualizing the OGC 3D Tiles data on a Lightspeed map, as explained in the Converting IFC data to OGC 3D Tiles tutorial.

Feature data model: make the feature data available

The IFC decoder can also decode the IFC data to a feature data model. This model contains the metadata of the IFC objects. The elements in this feature model have a FeatureID property, which corresponds to the IFC objects in the OGC 3D Tiles dataset.

A client application must load the feature data separately from the geometry data. To allow the client application to load the feature data, you must expose the data. You have several options to do so:

  • Convert the feature model to GeoJSON, with each GeoJSON feature containing the metadata of the original IFC data. For more information, see the Converting IFC data to GeoJSON tutorial.

  • Serve the feature model as a WFS service in LuciadFusion. For more details, refer to the IFC serving article in the LuciadFusion documentation. See Serving IFC data.