Skip to main content

Saving and Loading BCF Viewpoints

· 7 min read

A xeokit viewer can exchange BCF viewpoints with other BIM software, allowing us to use the viewer to report and view issues in BIM models. In this tutorial, we'll demonstrate this capability by creating a BCF viewpoint with a xeokit viewer, which we'll then import it into a second xeokit viewer.

Scene Representation and Metadata

· 7 min read

In this guide, we'll use convert2xkt to convert an IFC file to xeokit's native, fast-loading XKT format. Then, using JavaScript, we'll view the XKT model in the browser using xeokit Viewer component. As the Viewer loads our model, it will create 3D scene objects, along with a parallel metadata structure. We'll show how to use that metadata to navigate the scene objects and get information about them.

image-20240605-163916.png

Viewer Performance Tips

· 4 min read

Introduction

The xeokit Viewer is designed for performance, but some of its special rendering effects can run slowly with huge models. Furthermore, if our models contain excessive geometry reuse (described below), then they can hit a pathological case for the Viewer and slow it down considerably.

Fortunately, xeokit has some options we can use to keep our Viewers smooth and responsive for these cases, which we'll describe in this article.

Viewing a CityJSON Model with XKTLoaderPlugin

· 2 min read

Introduction

In this mini-tutorial, we'll use xeokit's convert2xkt CLI tool to convert a CityJSON model into xeokit's native XKT geometry format, which we'll then view in the browser using a xeokit Viewer.

CityJSON is a JSON-based encoding for a subset of the OGC CityGML data model (version 2.0.0), and is now published as an OGC community standard.

The XKT format compresses models into a compact payload from which xeokit can load large numbers of objects over the Web in seconds, at full geometric precision.

For our CityJSON file, we'll use a LoD-3 model of a railway line, which is one of the sample datasets provided at here. When that's converted and loaded, it will look like the example below.

Viewing Federated IFC Models

· 10 min read

See also: Converting Models to XKT with convert2xkt

The xeokit SDK enables the loading of large, full-precision BIM models over the web in seconds, which can then be viewed in a browser. To achieve this, we convert our IFC files into xeokit's native XKT format. This format compresses model geometry and metadata into a compact payload that can be quickly loaded by a xeokit viewer while using minimal browser resources.

This tutorial demonstrates how to use the ifc2gltfcxconverter tool from Creoox AG and the open source convert2xkt tool from xeolabs to convert an IFC model into an XKT file, which can then be loaded into a xeokit viewer. This combination is currently the most efficient option for converting IFC files to XKT.

Additionally, this tutorial shows how these tools can automatically split each model into multiple XKT files, allowing huge models to be converted and loaded in chunks that don't overwhelm server and browser resources.

Automatically Splitting Large Models for Better Performance

· 7 min read

To most efficiently view IFC model files in xeokit, we first convert them to XKT files. This conversion allows for fast loading into the browser. We have extended xeokit to automatically split IFC files into multiple XKT files during conversion. This feature enables us to view even bigger models in the browser, like the 2GB Baku Stadium IFC model, shown in the screenshot above.

By splitting models during conversion, we improve xeokit's performance and stability. This is achieved by reducing the memory stress on the converter tools and the xeokit viewer components. These components perform much more reliably and faster when dealing with smaller files (e.g., 20MB) than larger files (e.g., 500MB). Larger files may cause difficulty allocating sufficient system memory for conversion and parsing.

In this tutorial, we’ll show how to use this new feature with our conversion and model viewing components. The IFC file we’ll use for this tutorial is the Karhumaki Bridge model from http://drumbeat.cs.hut.fi/ifc/. It’s not exactly a huge model, but good for demonstration purposes. It does contain a lot of rebar objects though (concrete reinforcing), so nevertheless is a fairly complex model, geometrically speaking.

Converting IFC to XKT using ifc2gltfcxconverter

· 7 min read

See also: Converting Models to XKT with convert2xkt Automatically Splitting Large Models for Better Performance

The xeokit SDK enables us to load large, full-precision BIM models over the Web in seconds and view them in the browser. To do this, we pre-convert our IFC files into xeokit's native XKT format. The XKT format compresses model geometry and metadata into a compact payload that a xeokit viewer can load quickly while using minimal browser resources.

In this tutorial, we'll use a combination of the closed-source ifc2gltfcxconverter tool from Creoox AG and the open source convert2xkt tool from xeolabs to convert an IFC 4 model into an XKT file, which we'll then load into a xeokit Viewer. This combination is the most efficient IFC → XKT conversion option we have so far, industrial-strength stuff.

Converting Models to XKT with convert2xkt

· 5 min read

The xeokit SDK enables us to load large, full-precision BIM and AEC models over the Web in seconds and view them in the browser. To do this, we pre-convert our models into xeokit's native XKT **format. The XKT format compresses model geometry and metadata into a compact payload that a xeokit viewer can load quickly while using minimal browser resources.

In this mini-tutorial, we introduce convert2xkt, a new JavaScript function and CLI tool that converts several 3D model formats into XKT format.

We provide convert2xkt as an additional conversion option for your models, alongside our existing standard open source IFC→XKT conversion pipeline.

Note that the pipeline in this tutorial only converts IFC element structure, and does not convert property sets. For property sets, we recommend Converting IFC Models to XKT using ifc2gltf.