xeokit-gltf-to-xkt converts models from glTF 2.0 to
xeokit's optimized .xkt
format.
An .xkt
file is a binary file that contains a single 3D model with full-precision geometry, compressed using quantization,
oct-encoding and zlib.
See the XKT Format specification for a detailed description of the .xkt
format.
See Creating Files for Offline BIM for instructions on converting IFC, DAE and glTF models to .xkt
.
Once you have .xkt
files, you can load them into your viewer using
XKTLoaderPlugin,
which is the most efficient way to load high-detail models into xeokit.
Click on the screenshot below for a live demo of the XKTLoaderPlugin.
Install locally or globally from npm
.
$ npm i @xeokit/xeokit-gltf-to-xkt
$ gltf2xkt -s scene.gltf -o scene.xkt
$ gltf2xkt --help
Usage: gltf2xkt [options]
Options:
-v, --version output the version number
-s, --source [file] path to the source glTF file
-o, --output [file] path to the target xkt file
-f --format [number] XKT format to write
-h, --help output usage information
Supported XKT Formats:
1 - Oct-encoded normals; Quantized positions; No geometry reuse;
3 - Geometry reuse; Oct-encoded normals; Quantized positions; (DEFAULT)
6 - Full-precision geometry; Geometry reuse; Oct-encoded normals; Quantized positions;
const Converter = require('gltf2xkt');
const gltfPath = '../bimspot/_sample-data/scene.gltf';
const xktPath = 'scene.xkt';
const gltf2xkt = new Converter(gltfPath, xktPath);
gltf2xkt
.convert()
.then(() => {
console.log('Success');
})
.catch((error) => {
console.error('Something went wrong:', error);
});
// Clone the repo
$ git clone https://github.com/xeokit/xeokit-gltf-to-xkt
$ cd xeokit-gltf-to-xkt
// Install the dependencies
$ npm install
// Link for command line usage
$ npm link
// Use global symlink for testing
$ gltf2xkt -s /path/to/scene.gltf -o /path/to/scene.xkt
See .eslint
and .prettierrc
for code style guide.
- The
xeokit-gltf-to-xkt
tool and the XKTLoaderPlugin are based on prototypes by Toni Marti at uniZite. Find the original discussion around those prototypes here. - Thanks to Adam Eri at BIMSpot for converting
xeokit-gltf-to-xkt
to work as a CLI tool.