xeokit / xeokit-sdk

Open source JavaScript SDK for viewing high-detail, full-precision 3D BIM and AEC models in the Web browser.
https://xeokit.io
Other
715 stars 286 forks source link

TreeViewPlugin problem to load json #442

Closed cfardito closed 3 years ago

cfardito commented 3 years ago

Hello, I have recently started using xeokit to view industrial assets within a WebApp. It works with the files in the examples folder (xeokit-sdk: attached I put an image of the relative view Viewer_OTCConferenceCenter.PNG) but when I try to view an external ifc file a strange thing happens: the 3D is displayed correctly but the ThreeView does not show (attached the image: Viewer_Beam_ThreeView problem.PNG). To convert the file from .ifc to .xkt I followed the procedure from the following link (https://github.com/xeokit/xeokit-sdk/wiki/Creating-Files-for-Offline-BIM). No errors are displayed in the browser console. I don't understand where I'm wrong. I attach the .xkt file and the .json file. It is a simple file with a beam. For completeness, I also attach the original .ifc file. Please help me because I am going crazy for two 3 days!!!

Thank you all

Viewer_Beam_ThreeView problem.PNG Viewer_Beam_ThreeView problem

Viewer_OTCConferenceCenter.PNG Viewer_OTCConferenceCenter

the zip contains: .ifc; .xkt; .json. beam-extruded-solid.zip

xeolabs commented 3 years ago

Hi @cfardito, I'm not able to unzip the zip you've attached - could you re-zip that or attach the files separately? Thanks

cfardito commented 3 years ago

Hello, here are the files. Thank you

beam-extruded-solid_1.zip

cfardito commented 3 years ago

Hi @cfardito, I'm not able to unzip the zip you've attached - could you re-zip that or attach the files separately? Thanks

Hi @xeolabs, is there any news? thank you

xeolabs commented 3 years ago

@cfardito I just put the IFC file through xeokit-gltf-to-xkt and xeokit-metadata, than dropped the .xkt and metadata files into the TreeView_Containment.html example, and I got a tree view appearing correctly, but the beam object's position coordinates appear to be too big to render in WebGL, so the object does not appear for that reason.

The boundary of the object is: [0, 0, 0, -7.224914089216815e+29, 0, 1.030397078214113e+36]

Is there a way to author the IFC so that the object is positioned closer to the origin?

BTW, I also processed the IFC file using the next version of xeokit-gltf-to-xkt and xeokit-sdk, which together preserve full-precision geometry, and the object appeared nicely.

So the next version of xeokit-sdk will solve this problem. Aiming to get a beta release of that out next week.

In the meantime, see if you can center the object as a workaround.

Here's my modified example: https://gist.github.com/xeolabs/e6ec64cf7c1ae18cdeb2f33c64b0783a

And this was what it produced: Screenshot from 2020-10-09 12-18-55

imadBelaroussi commented 3 years ago

please, you got a respances?

xeolabs commented 3 years ago

To fix this (per my findings mentioned in previous comment),

  1. update to the latest xeokit-sdk (1.5.14 or later) and the latest xeokit-gltf-to-xkt (0.0.61 or later)
  2. run gltf2xkt using the -v 6 option to create XKT V6 format

In my experiments, the JSON metadata file was OK, and the tree view appeared OK, but now you need to use xeokit's new full-precision feature to display your object correctly.

BTW I'm limited in how much support I can provide non-commercial users, however if your enterprise requires an SLA, do get in touch.

imadBelaroussi commented 3 years ago

thank you