<aside> 🆕 This feature was introduced in xeokit-sdk v2.3.
<aside> ℹ️ See also: Converting Models to XKT with convert2xkt
<aside> ℹ️ See also: Converting IFC Models to XKT using ifc2gltf
<aside> ℹ️ There is also an earlier version of this pipeline: Converting IFC Models to XKT using 3rd-Party Open Source Tools, which uses COLLADA2GLTF within the conversion process. This pipeline removes COLLADA2GLTF.
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.
We have an older tutorial, similar to this one, which uses COLLADA2GLTF within the conversion process. In this tutorial, we no longer use COLLADA2GLTF, since our convert2xkt tool is now able to convert binary glTF that was output straight from IfcConvert.
The Industry Foundation Classes (IFC) data model is used to describe architectural, building and construction industry data.
IFC defines an entity-relationship model consisting of various entities organized into a object-based inheritance model, with classes representing various building elements such as
IfcWall, geometry such as
IfcExtrudedAreaSolid, and basic constructs such as
The data model is developed by buildingSMART to facilitate interoperability in the AEC industry, and is a commonly used open collaboration format in BIM based projects.
An IFC file is usually provided as an IFC-SPF file ("STEP-file") , which is a text format in which each line represents an entity that instantiates a class within the data model.
XKT is xeokit's native 3D model format, which compresses IFC and CAD models into a compact binary payload from which we can load large numbers of objects over the Web in seconds, at full geometric precision.
An XKT file also contains metadata on its objects, which enables a xeokit viewer to classify and manipulate them according to their types. That's useful for building things like object tree view UIs, automatic building storey plan views, and so on.