Comments (4)
Thank you, this helps us a lot!
from xeokit-sdk.
Hi Alexander,
Note that glTF/GLB does not contain IFC semantic data (metadata), it only contains model geometry and materials.
To load IFC semantic data, you need to also load a JSON file alongside the glTF/glb that supplies the element hierarchy and property sets to xeokit, eg:
const sceneModel = gltfLoader.load({
id: "myModel",
src: "../../assets/models/gltf/Schependomlaan/glTF-Embedded/Schependomlaan.gltf",
metaModelSrc: "../../assets/models/gltf/Schependomlaan/Schependomlaan.json",
edges: true
});
Note also that we usually convert the glTF/glb to XKT for best results. Loading glTF/glb is possible, but XKT does some pre-conditioning to the data that makes it load a lot faster for large models.
We offer a couple of flavors of IFC->glTF/XKT conversion, but only one of them supports property sets at this time.
More information on IFC conversion here: https://xeokit.github.io/xeokit-model-conversion-tests/ifc-tests.html
If your enterprise needs prioritised support while evaluating xeokit, we'd be happy to help - if so, please get in touch here: https://creoox.com/en/contact/
thanks
Lindsay
from xeokit-sdk.
Hello Lindsay,
thank you for these explanations!
The links provided are useful as well for understanding the different file types.
I now have two follow-up questions:
- Does the GLTFLoaderPlugin use convert2xkt.js internally?
- Does the metamodel JSON file follow a certain standard, or is this a xeokit-specific format? I found a repo called xeokit-metadata, does this schema contain the structure for these JSON files? And I assume it is not ifcJSON?
Thank you for your help!
from xeokit-sdk.
Hi no problem -
- Does the GLTFLoaderPlugin use convert2xkt.js internally?
No, that just loads the glTF/glb directly into the xeokit Viewer. Note that as it does this, it will do a couple of things to the geometry on-the-fly ( 1. convert vertex coordinates to tiled coordinate system for precise double-precision rendering, and 2. quantize the vertex positions to integers for lower memory usage), that convert2xkt does offline when creating XKT. This is one reason we often pre-convert to XKT first, so those two things don't have to happen at loading time.
FYI we use the loaders.gl library internally within that plugin, to parse the glTF/glb.
Also FYI: although XKT is what we recommend for IFC models, that plugin is actually the best option for loading triangulated LiDAR comprised of textured triangle meshes. It handles the big textures more smoothly than XKT does.
- Does the metamodel JSON file follow a certain standard, or is this a xeokit-specific format? I found a repo called xeokit-metadata, does this schema contain the structure for these JSON files? And I assume it is not ifcJSON?
Yes, xeokit metamodel JSON conforms to the schema described here: https://github.com/xeokit/xeokit-convert/blob/main/specs/index.md
Currently we're at v10. It's not ifcJSON - it's more optimized for loading into xeokit.
The BIMSpot tool is not something we're collaborators on, so I'm not sure what the conformance of that is with our latest spec.
from xeokit-sdk.
Related Issues (20)
- Viewer param pickSurfacePrecisionEnabled
- Unexpected ray picking results HOT 2
- SnapPick don't work without canvasPos? HOT 1
- UI freeze on large model load HOT 1
- DistanceMeasurementsPlugin typescript definitions is not up to date HOT 1
- [FEATURE] Option to configure callback on XKTLoaderPlugin for option to pause/discontinue loading
- Remove zipping compression from XKT format HOT 2
- Document cacheBuster in XKTDefaultDataSource etc
- Is possible to read geometry from VBOGeometry shapes? HOT 3
- GLTF loader and meta objects structure HOT 6
- Cachebuster doesn't work with data urls
- gltfLoad model, I want to see all the information on the back,backfaces ,It doesn't work? HOT 1
- Some material is white HOT 3
- Control camera panning out of view. HOT 3
- Cannot remove treeView from DOM HOT 2
- Cannot remove AngleMeasurementPlugin 'pointer dot' when deactivating control HOT 5
- Screen recording breaks DistanceMeasurementsPlugin HOT 2
- Storey views plugin - createStoreyMap generates wrong images when dtxEnabled is set to true
- Trigger transform event for model position or rotation HOT 2
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-sdk.