# 3D Engine module RangeError: byte length of Uint32Array should be a multiple of 4

**URL:** <https://forum.inductiveautomation.com/t/3d-engine-module-rangeerror-byte-length-of-uint32array-should-be-a-multiple-of-4/72899>\
**Category:** 3rd Party Modules\
**Tags:** ignition81, perspective\
**Created:** [April 26, 2023, 2:10am UTC](https://forum.inductiveautomation.com/t/3d-engine-module-rangeerror-byte-length-of-uint32array-should-be-a-multiple-of-4/72899 "2023-04-26T02:10:10Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![gb\_j](https://avatars.discourse-cdn.com/v4/letter/g/ac91a4/32.png) [@gb\_j](https://forum.inductiveautomation.com/u/gb_j)\
**Post date:** [April 26, 2023, 2:10am UTC](https://forum.inductiveautomation.com/t/3d-engine-module-rangeerror-byte-length-of-uint32array-should-be-a-multiple-of-4/72899/1 "2023-04-26T02:10:10Z")

</div>

Hello, @e.sagnelonge

I have tried to use 3D Engine module as the instruction in [3D Engine Documentation (axone-io.com)](https://www.axone-io.com/Files/Modules/3DENGINE/1.0.0/doc/index.html) in Ignition Platform 8.1.26，Windows 10 Enterprise LTSC. When testing Duplex.xkt in 3D engine, the RangeError issued.

Duplex.xkt can be downloaded from the link [Duplex.xkt](https://github.com/xeokit/xeokit-bim-viewer/blob/master/app/data/projects/Duplex/models/design/geometry.xkt).

The error message is as below. Is this Ignition version incompatible with 3D engine module? Please help to reply. Thanks.

16:12:13.452 [Browser Thread: 49903] ERROR Perspective.Designer.Workspace - level: LEVEL\_ERROR  
message: "onerrorLogger: {"stack":"RangeError: byte length of Uint32Array should be a multiple of 4\n at new Uint32Array ()\n at inflate ([http://192.168.222.138:8088/res/engine3d/E3DComponents.js:99155:39)\n](http://192.168.222.138:8088/res/engine3d/E3DComponents.js:99155:39)//n%C2%A0) at Object.parse ([http://192.168.222.138:8088/res/engine3d/E3DComponents.js:99648:30)\n](http://192.168.222.138:8088/res/engine3d/E3DComponents.js:99648:30)//n%C2%A0) at XKTLoaderPlugin.\_parseModel ([http://192.168.222.138:8088/res/engine3d/E3DComponents.js:100467:16)\n](http://192.168.222.138:8088/res/engine3d/E3DComponents.js:100467:16)//n%C2%A0) at [http://192.168.222.138:8088/res/engine3d/E3DComponents.js:100430:22\n](http://192.168.222.138:8088/res/engine3d/E3DComponents.js:100430:22//n%C2%A0) at XMLHttpRequest.request.onreadystatechange ([http://192.168.222.138:8088/res/engine3d/E3DComponents.js:89361:25)","message":"byte](http://192.168.222.138:8088/res/engine3d/E3DComponents.js:89361:25)/%22,/%22message/%22:/%22byte) length of Uint32Array should be a multiple of 4","name":"RangeError","logData":{"msg":"Uncaught Exception","errorMsg":"Uncaught RangeError: byte length of Uint32Array should be a multiple of 4","url":"[http://192.168.222.138:8088/res/engine3d/E3DComponents.js","line](http://192.168.222.138:8088/res/engine3d/E3DComponents.js/%22,/%22line) number":99155,"column":39}}"

line\_number: 2  
source: "[http://192.168.222.138:8088/res/perspective/js/PerspectiveClient.888b30115ada5dea158c.js](http://192.168.222.138:8088/res/perspective/js/PerspectiveClient.888b30115ada5dea158c.js)"

16:12:13.460 [Browser Thread: 49903] ERROR Perspective.Designer.Workspace - level: LEVEL\_ERROR  
message: "Uncaught RangeError: byte length of Uint32Array should be a multiple of 4"

line\_number: 99155  
source: "[http://192.168.222.138:8088/res/engine3d/E3DComponents.js](http://192.168.222.138:8088/res/engine3d/E3DComponents.js)"

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/3/436f6ea1f502c1f2496efdcc6b0980449d1dbd8f.jpeg)

---

<div class="post-metadata">

**Author:** ![e.sagnelonge](https://avatars.discourse-cdn.com/v4/letter/e/7cd45c/32.png) [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Post date:** [April 26, 2023, 9:48am UTC](https://forum.inductiveautomation.com/t/3d-engine-module-rangeerror-byte-length-of-uint32array-should-be-a-multiple-of-4/72899/2 "2023-04-26T09:48:47Z")

</div>

Hello @gb_j,

It seems to me that the format must have evolved and that the viewer used in the module can't decrypt the model.  
I will check this during the week to confirm it.

---

<div class="post-metadata">

**Author:** ![e.sagnelonge](https://avatars.discourse-cdn.com/v4/letter/e/7cd45c/32.png) [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Post date:** [May 2, 2023, 8:03am UTC](https://forum.inductiveautomation.com/t/3d-engine-module-rangeerror-byte-length-of-uint32array-should-be-a-multiple-of-4/72899/3 "2023-05-02T08:03:01Z")

</div>

@gb_j,

That's what I thought.  
Basically the 3d file is of another extension than xkt.

So we use the xkt converter to be able to import it in the viewer.  
The version of the converter used for your example file is more recent than the one recommended. (1.0.9)

> **[@xeokit/xeokit-convert](https://www.npmjs.com/package/@xeokit/xeokit-convert/v/1.0.9)**
>
> JavaScript utilities to create .XKT files. Latest version: 1.1.7, last published: 3 months ago. Start using @xeokit/xeokit-convert in your project by running \`npm i @xeokit/xeokit-convert\`. There is 1 other project in the npm registry using...

If you take the same model from a previous version it works.

> **[Release 1.9.6 · xeokit/xeokit-bim-viewer](https://github.com/xeokit/xeokit-bim-viewer/releases/tag/1.9.6)**
>
> What's Changed
> 
> Add files via upload by @christine-lappe in #42
> 
> New Contributors
> 
> @christine-lappe made their first contribution in #42
> 
> Full Changelog: 1.9.57...1.9.6

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/d/cdbc9084bb412dfe01a0a27f5afe7fa97b02d3f4.png)

---

<div class="post-metadata">

**Author:** ![gb\_j](https://avatars.discourse-cdn.com/v4/letter/g/ac91a4/32.png) [@gb\_j](https://forum.inductiveautomation.com/u/gb_j)\
**Post date:** [May 4, 2023, 1:47am UTC](https://forum.inductiveautomation.com/t/3d-engine-module-rangeerror-byte-length-of-uint32array-should-be-a-multiple-of-4/72899/4 "2023-05-04T01:47:06Z")

</div>

Hello,@e.sagnelonge,

Yes, you are right. I reinstalled [xeokit-convert tool](https://github.com/xeokit/xeokit-convert) version 1.0.9 and it works.

Thanks and Best Regards.

---

<div class="post-metadata">

**Author:** ![ryan.white](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan.white/32/73193_2.png) [@ryan.white](https://forum.inductiveautomation.com/u/ryan.white)\
**Post date:** [November 12, 2025, 10:14pm UTC](https://forum.inductiveautomation.com/t/3d-engine-module-rangeerror-byte-length-of-uint32array-should-be-a-multiple-of-4/72899/6 "2025-11-12T22:14:50Z")

</div>

@taohongyu88 Since your question seems to be very different than the original post's, please consider making a new topic asking your question. Please be sure to include important information, such as the version of Ignition being used, and steps that you have tried so far to try and reach your goal.
