Comments (5)
Sometimes NodeJS (that convert2xkt runs on) runs out of memory when processing large glTF files, especially if they have geometry and textures embedded inline.
For optimal results, Try converting .glb files instead, with geometry as external binary attachments (ie. not embedded into the glTF JSON).
Also you could try just ensuring that the geometry buffers are external .bin files. But .glb is always best.
This is due to NodeJS having a maximum string limit of 1GB, where a whole glTF with embedded geometry/textures tends to overrun that when files are big enough.
from xeokit-convert.
@xeolabs Kindly let me know the way to do that. I used the following command:
Ifc2gltfcxconverter.exe -i “final.ifc” -o “final.gltf” -m “final.metadata.json” -s 20
It created following files:
-rw-r--r--@ 1 kushal staff 17M Apr 8 10:35 final.bin
-rw-r--r--@ 1 kushal staff 22M Apr 8 10:35 final.gltf
-rw-r--r--@ 1 kushal staff 20M Apr 8 10:35 final.json
-rw-r--r--@ 1 kushal staff 816B Apr 8 10:35 final.manifest.json
-rw-r--r--@ 1 kushal staff 19M Apr 8 10:35 final_1.bin
-rw-r--r--@ 1 kushal staff 18M Apr 8 10:35 final_1.gltf
-rw-r--r--@ 1 kushal staff 1.4M Apr 8 10:35 final_1.json
-rw-r--r--@ 1 kushal staff 19M Apr 8 10:35 final_2.bin
-rw-r--r--@ 1 kushal staff 20M Apr 8 10:35 final_2.gltf
-rw-r--r--@ 1 kushal staff 19M Apr 8 10:35 final_3.bin
-rw-r--r--@ 1 kushal staff 11M Apr 8 10:35 final_3.gltf
-rw-r--r--@ 1 kushal staff 18M Apr 8 10:35 final_4.bin
-rw-r--r--@ 1 kushal staff 21M Apr 8 10:35 final_4.gltf
-rw-r--r--@ 1 kushal staff 19M Apr 8 10:35 final_5.bin
-rw-r--r--@ 1 kushal staff 21M Apr 8 10:35 final_5.gltf
-rw-r--r--@ 1 kushal staff 12M Apr 8 10:35 final_6.bin
-rw-r--r--@ 1 kushal staff 13M Apr 8 10:35 final_6.gltf
What change would you have me make while executing Ifc2gltfcxconverter?
from xeokit-convert.
Try this:
Ifc2gltfcxconverter.exe -i “final.ifc” -o “final.glb” -m “final.metadata.json” -s 20
Note that I renamed "final.gltf" to "final.glb", which causes the converter to output .glb files.
In case it's useful, a reference for how to use on Linux, which is similar to how it's used on Windows:
https://xeokit.github.io/xeokit-model-conversion-tests/ifc-tests.html
from xeokit-convert.
@xeolabs Thanks for your prompt response. The final thing on the Linux command. I am getting the following error on the Macbook as well as the AWS instance. Would you know what is this about?
bash-5.2$ ./ifc2gltfcxconverter -i final.ifc -o final.glb -m final.metadata.json -s 20
./ifc2gltfcxconverter: ./ifc2gltfcxconverter: cannot execute binary file
from xeokit-convert.
Possibly the architecture is not compatible with the binary? That would explain the Mac issue (I've never tested on Mac)
https://superuser.com/questions/435988/how-can-i-resolve-the-error-cannot-execute-binary-file
Note that I'm using Ubuntu - see if you can ruin that on AWS.
from xeokit-convert.
Related Issues (20)
- Option to disable ZIPping in XKT
- [FIX] Fix conversion of JSON glTF with embedded textures
- bug in newest beta: configs.sourceConfigs ||= {}; HOT 5
- Issue with IFC to XKT Conversion Resulting in Reduced Model Sizes
- [FEATURE] Add externalMetadata option for glTF and GLB
- Cannot create a string longer than 0x1fffffe8 characters HOT 3
- IFC ==> XKT - IFCBOOLEAN
- Deprecate glTF conversion in favor of .glb
- Unsupported value for params.primitiveType HOT 2
- [parseGLTFIntoXKTModel] RangeError: Invalid array length HOT 13
- Can I decode the xktArrayBuffer by calling toString() ? HOT 2
- problem on npm i weokit/report HOT 6
- can not run nodejs from latest release
- Provide hint in logged error for [ERROR]: [parseGLTFIntoXKTModel] RangeError: Invalid typed array length: 11340
- [FEATURE SUGGESTION] Add TypeScript HOT 1
- [FIX] Make convert2xkt configs argument optional HOT 5
- Cannot read properties of undefined (reading 'IfcAPI')
- Update web-ifc version
- commande line convert on ubuntu don't exclude (from ifc to xkt)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xeokit-convert.