May 15, 2021


This week xeolabs released xeokit-sdk 1.9, which includes: an experimental IFC importer based on web-ifc, xeokit libraries served from a CDN, new XKT model format with embedded metadata, plus the usual round of improvements and fixes.



Highlights

A WASM-Based IFC Importer

This release introduces [ifc2xkt](<https://github.com/xeokit/xeokit-ifc-to-xkt/blob/main/README.md>), an experimental node.js-based tool that converts IFC directly into xeokit's compact native geometry format, XKT.

The tool uses the WASM-based [web-ifc](<https://github.com/tomvandig/web-ifc>) library to parse the IFC, and xeokit's own [xeokit-xkt-utils](<https://github.com/xeokit/xeokit-xkt-utils/blob/master/README.md>) library to generate the XKT.

Use this tool for a simple and clean IFC→XKT conversion, either from the command line, or within your node.js application.

This is an early alpha version, with only partial IFC support, but performance already looks great.

<aside> ℹ️ Learn more

</aside>

Sample Revit model from AutoDesk

Sample Revit model from AutoDesk


Improved Code Bundling

We're now building [xeokit-sdk](<https://github.com/xeokit/xeokit-sdk/blob/master/README.md>), [xeokit-bim-viewer](<https://github.com/xeokit/xeokit-bim-viewer/blob/master/README.md>) and [xeokit-xkt-utils](<https://github.com/xeokit/xeokit-xkt-utils/blob/master/README.md>) into ES6 and CJS libraries.

This makes import paths friendlier in our apps and examples, and also enables us to serve our libraries via the jsDelivr CDN.

<aside> ℹ️ See all xeokit libraries on jsDelivr

</aside>

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/dd263a5c-19e8-4de7-a9a2-0ae815468c8b/download.png


Metadata in XKT

We've released XKT 8, the latest version of xeokit's native model file format.

This new XKT version embeds the IFC metadata alongside the geometry, which means that we no longer need to manage model metadata in separate JSON files.

The benefits for us are faster downloads, and simpler data pipelines for our applications.

The xeokit-sdk and xeokit-bim-viewer remain backwardly-compatible with earlier XKT formats, however, and can still load the legacy metadata JSON files if provided.

<aside> ▶️ Learn more

</aside>

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c1f1afdf-3d94-404b-a350-c2999942461d/oss_xkt_conversion_cropped.png


xeokit BIM Viewer 2.2

xeokit's bundled BIM viewer has been upgraded to xeokit-sdk 1.9.

We've also upgraded the viewer's example models to XKT 8, and removed the old metadata files that were used by XKT 7. This simplifies the database structure.

With a special flag, the BIM viewer still supports earlier versions of the XKT format, however.

<aside> ▶️ Learn more

</aside>

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2f214fd3-423a-4483-8fd4-3e615f271feb/xeokit-viewer.png


Updated Packages

This update involves the following packages within the xeokit-sdk. Find updates for these packages on npm and GitHub. Just run npm install in your projects to get the latest versions.

@xeokit/xeokit-ifc-to-xkt 0.1

<aside> ℹ️ xeokit-ifc-to-xkt is an experimental node.js-based tool that converts an IFC file into an XKT file. This tool wraps web-ifc, which performs WASM-based IFC parsing, and xeokit-xkt-utils, which generates the XKT output.

</aside>