Visualize only small IFC datasets in this manner. For large datasets, it is not recommended to visualize IFC data directly on a Lightspeed map.

Because IFC data is re-structured on loading, and rendered into meshed data on-the-fly, there is a negative impact on startup time, CPU load and memory footprint of an application.

The recommended way to handle most IFC datasets is converting it into OGC 3D Tiles.

The majority of formats require the same two steps for visualization on a Lightspeed view. To visualize IFC data:

  1. Decode the data into an ILcdModel using an ILcdModelDecoder.

  2. Create an ILspLayer for the ILcdModel and add it to the ILspView.

//First create the model
ILcdModelDecoder decoder =
    new TLcdCompositeModelDecoder(TLcdServiceLoader.getInstance(ILcdModelDecoder.class));
ILcdModel model = decoder.decode(sourceName);

//Create a layer for the model using the layer builder
ILspLayer layer = TLsp3DTileLayerBuilder.newBuilder()
                                        .model(model)
                                        .build();

//Add the layer to the Lightspeed view (an ILspView)
view.addLayer(layer);

This results in an IFC layer with default styling. See Visualizing Vector Data for more information about visualizing and styling vector data.

This code snippet uses the TLcdCompositeModelDecoder, initialized with all model decoders available in the service registry.

The model decoder class that is actually responsible for decoding IFC data is the TLcdIFCModelDecoder.