Comments (7)
Hi,
StoreViewsPlugin depends on the IFC organizing the objects correctly within IfcBuildingStorey elements.
It works by iterating downwards through the element hierarchy, to create a storey view for each IfcBuildingStorey, that contains the elements within the subtree rooted by the IfcBuildingStorey.
Unfortunately sometimes the IFC is authored so that this containment is not done correctly, and sometimes will overlap between the storeys (eg stairwells).
A quick way to verify this containment is to view the model using a TreeViewPlugin set to "containment" hierarchy mode, then exclusively enable the checkboxes for each of the stories to see if the elements are contained, overlap etc. The IfcBuildingStoreis are the fourth level down in the tree.
In the case of Schependomlaan test model, we have a correct containment:
Try that first, and let's see if your storey's are authored OK, then we can take it from there.
I suppose we could make the StoreyViewsPlugin automatically trim the elements at the top and bottom of each storey as it creates each storey view image, however I'm not sure if that would create a true enough image.
from xeokit-sdk.
Thanks for your quick answer !
My building model is not perfect but it's quite well configured tho.
As you can see "BAT A TOITURE" supposed to be the first storey displaying a roof displays only guardrails (almost invisible in image) and "BAT A R+4" displays the roof but it's supposed to be an apartment (c.f. my first message screenshots)
I already tested this with Schependomlaan and i saw the same issue :
"04 dak" displays only few objects, and "03 derde verdieping" displays the expected image for 04 dak.
For "-1 fundering" it displays too much objects and not only the fundering border like in the real storey.
I might have done something wrong in my code to obtain such a result but i really don't know what it can be.
Regards
Sam
from xeokit-sdk.
When isolating each story in the tree view, do you see only the expected objects?
Also, if you can share your model publicly, we can add it to our test suite.
from xeokit-sdk.
When i isolate storeys in the tree view it shows only expected objects yes.
Unfortunatly i can't share this model because its owned by a client. However here is the Schependomlaan xkt i used for the example.
I noticed it's often IfcSlab that are shifted, maybe it can help.
from xeokit-sdk.
I noticed it's often IfcSlab that are shifted, maybe it can help.
Got it - which converter tools are you using?
Also, if you're one of our enterprise users, could you please log this issue with our Jira, then we can track this one there as well.
from xeokit-sdk.
Most of the time I use xeokit-convert version 1.1.15-beta-1. But for the Schependomlaan model i just sent, it's the geometry.xkt already converted i found in the examples.
I'm not one of your entreprise users, I planned to do this project using the Open Source way so I guess I can't get access to your Jira.
from xeokit-sdk.
Could you try using the pipeline tools described here: https://www.notion.so/xeokit/Converting-IFC-Models-to-XKT-using-Open-Source-Tools-A-Simpler-Pipeline-02d45ba457eb4f808f63bcacb71a4fb3
The convert2xkt direct IFC->XKT conversion mode uses web-ifc internally, which may not be processing the IFC properly in this case, I'm not sure.
from xeokit-sdk.
Related Issues (20)
- How can I disable logging in console of the library HOT 3
- Is it possible to integrate tiles dynamically ? HOT 2
- How to Remove 'viewMatrix' Listener HOT 1
- [FIX] Add missing types for measurements touch controls
- [FEATURE] Add AnnotationsPlugin example of creating w/ text types for labels
- AngleMeasurementsPlugin red dot is not at the position of the mouse pointer HOT 3
- [FEATURE] Ability to programmatically cancel measurements
- [FIX] Add missing measurements canvasToPagePos callback to TypeScript definitions
- Width of cross-section lines HOT 1
- Can't load Las, Laz models from Electron app HOT 2
- model.opacity error HOT 2
- [DOCUMENTATION] Create concepts overview poster HOT 1
- Fix CameraControl pick mouse mis-alignment for scrolled canvas
- Ray pick don't work in different directions HOT 3
- How can I get modelId by entityId
- IFCSPACE objects not included in scene.objects when using WebIFCLoaderPlugin HOT 1
- CameraControl Keyboard listeners HOT 1
- FaceAlignedSectionPlanesPlugin missing typing definition HOT 1
- [FIX] Marker occlusion not working for orthographic projection
- Implementation with Vue.js HOT 4
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.