Research on web-based BIM scene online roaming
-
摘要: 针对目前有限的硬件性能和网络带宽无法满足三维场景海量数据的实时渲染问题,提出一套面向网页的建筑信息模型(BIM)场景漫游方案。首先,对BIM模型进行重构,并基于一种自顶而下的层次结构完成场景构件的细粒度导出;然后,基于顶点间的空间位置和构件间的相似计算完成模型压缩,缩短场景的显示时延;最后,基于视锥球和视锥体双层架构设计一种可视构件拾取算法,以离线的构件编码完成场景选择渲染,减轻硬件负载。选取5处不同规模场景进行验证,结果表明,平均压缩率可达45%,可在网页中满足GB规模场景的30 帧/s流畅漫游。Abstract: In response to the challenge that current hardware performance and network bandwidth are insufficient to support real-time rendering of massive data in 3D scenes, a web-based building information modeling (BIM) scene roaming solution was proposed. Initially, the BIM model was reconstructed, and a top-down hierarchical structure was employed to achieve fine-grained instances of scene components. Subsequently, model compression was completed based on the spatial position of vertices and the similarity calculation between components to shorten the display delay of the scene. Finally, a visual component picking algorithm based on the two-layer architecture of view frustum ball and view frustum was designed to complete scene selection and rendering by off-line component number and reduce hardware load. Five different scale scenarios were selected for validation. The results demonstrate an average compression rate of 45%, which enables smooth 30 frames per second roaming for GB-scale scene in web-based applications.
-
Key words:
- scene roaming /
- granularity processing /
- model compression /
- two-layer design
-
Input:模型文件.
Output:场景构件.
1:加载并解析模型文件;
2:自顶向下构建层次结构;
3:for 每个场景节点Pi do
4: if 节点Pi是Mesh类型 then
5: 提取节点Pi的图元,添至队列Q;
6: else
7:判断节点Pi子节点类型;
8:end for
9:for 队首节点Qj的图元信息 do
10: 将Qj的图元数据转成Blob数据;
11: 将Blob数据赋给HTML超链接,执行下载属性;
12: 对导出构件统一编码j.gltf;
13:end forInput:场景模型.
Output:可视编码列表List.
1:构建层次结构,递归层次节点;
2:构建视锥球,开始双层检测;
3:for 每一个层次节点 do
4: if 内部节点与视锥球非外离 then
5: for 其下属的每一个叶节点 do
6: if 叶节点与视锥体内含/相交 then
7: 获取构件编码,置入列表List;
8: else
9: 当前节点及其下属节点皆不可见;
10: end for
11: else
12: 当前节点及其下属节点皆不可见;
13:end for表 1 不同压缩算法效果对比
Table 1. Effects comparison of different compression algorithms
场景 SO/MB IRMC ACC4IFC Our SC/MB CR/% SC/MB CR/% SC/MB CR/% 场景1 114 93.6 17.9 95.5 16.2 71.8 37 场景2 165 131.7 20.2 128.4 22.2 92.4 44 场景3 244 206.4 15.4 217.6 10.8 170.8 30 场景4 426 322.9 24.2 327.2 23.2 208.7 51 场景5 957 596.2 37.7 624.9 34.7 344.5 64 表 2 各场景在不同压缩算法后完整显示时间对比
Table 2. Complete display time comparison of each scene after different compression algorithms
场景 加载时间/s 无压缩 IRMC ACC4IFC Our 场景1 6.0 5.2 5.3 3.9 场景2 8.8 6.9 8.1 5.7 场景3 14.4 12.9 13.6 6.5 场景4 18.1 14.7 14.3 7.8 场景5 35.5 24.8 26.1 11.8 -
[1] OZTURK G B. Interoperability in building information modeling for AECO/FM industry[J] . Automation in Construction,2020,113:103122 − 103133. doi: 10.1016/j.autcon.2020.103122 [2] YU G, LIU C, FANG T, et al. A survey of real-time rendering on Web3D application[J] . Virtual Reality & Intelligent Hardware,2023,5(5):379 − 394. [3] LIU S, FENG Y, WANG X, et al. Cross-platform drilling 3D visualization system based on WebGL[J] . Mathematical Problems in Engineering,2021,2021:1 − 18. [4] ZHOU X, WANG J, GUO M, et al. Cross-platform online visualization system for open BIM based on WebGL[J] . Multimedia Tools and Applications,2019,78:28575 − 28590. doi: 10.1007/s11042-018-5820-0 [5] ZHOU X, ZHAO J, WANG J, et al. Parallel computing-based online geometry triangulation for building information modeling utilizing big data[J] . Automation in Construction,2019,107:1 − 16. [6] ZHOU X, ZHAO J, WANG J, et al. Towards product-level parallel computing of large-scale building information modeling data using graph theory[J] . Building and Environment,2020,169:1 − 16. [7] 舒亮, 张洁, 陈璇, 等. 面向大规模场景的数字孪生模型快速渲染方法[J] . 计算机集成制造系统,2022,28(11):3664 − 3672. [8] 李柯, 张乾, 贾金原. 云边页协同的WebBIM大场景多粒度兴趣加载调度算法[J] . 计算机辅助设计与图形学学报,2021,33(9):1388 − 1397. [9] LIU X, JIA J, LIU C. Survey of lightweighting methods of huge 3D models for online web3D visualization[J] . Virtual Reality & Intelligent Hardware,2023,5(5):395 − 406. [10] XU Z, ZHANG Y, XU X. 3D visualization for building information models based upon IFC and WebGL integration[J] . Multimedia Tools and Applications,2016,75:17421 − 17441. doi: 10.1007/s11042-016-4104-9 [11] XU Z, ZHANG L, LI H, et al. Combining IFC and 3D tiles to create 3D visualization for building information modeling[J] . Automation in Construction,2020,109:102995 − 103011. doi: 10.1016/j.autcon.2019.102995 [12] CHEN Y, SHOORAJ E, RAJABIFARD A, et al. From IFC to 3D tiles: an integrated open-source solution for visualising BIMs on cesium[J] . International Journal of Geo-Information,2018,7(10):393 − 405. doi: 10.3390/ijgi7100393 [13] 徐照, 徐夏炎, 李启明, 等. 基于 WebGL 与 IFC 的建筑信息模型可视化分析方法[J] . 东南大学学报: 自然科学版,2016,46(2):444 − 449. [14] XU H, KIM J I, CHEN J. An iterative reference maping approach for BIM IFCXML classified content compression[J] . Advanced Engineering Informatics,2022,54:101788 − 101803. doi: 10.1016/j.aei.2022.101788 [15] DU X, GU Y, YANG N, et al. IFC file content compression based on reference relationships[J] . Journal of Computing in Civil Engineering,2020,34(3):1 − 13. [16] SHI X, LIU Y S, GAO G, et al. IFCdiff: a content-based automatic comparison approach for IFC files[J] . Automation in Construction,2018,86:53 − 68. doi: 10.1016/j.autcon.2017.10.013 [17] LI K, ZHAO H, ZHANG Q, et al. CEBOW: a cloud‐edge‐browser online Web3D approach for visualizing large BIM scenes[J] . Computer Animation and Virtual Worlds,2022,33(2):1 − 22. [18] 边根庆, 陈蔚韬. 面向Web的建筑三维模型可视化方法研究[J] . 图学学报,2021,42(5):823 − 832. [19] WANG Y, SOLOMON J M. Deep closest point: learning representations for point cloud registration[C] //Proceedings of the IEEE/CVF International Conference on Computer Vision. Seoul: IEEE, 2019: 3523 − 3532. [20] GU X, TANG C, YUAN W, et al. RCP: recurrent closest point for point cloud[C] //Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. New Orleans: IEEE, 2022: 8216 − 8226. [21] VIZZO I, GUADAGNINO T, MERSCH B, et al. KISS-ICP: in defense of point-to-point ICP–simple, accurate, and robust registration if done the right way[J] . IEEE Robotics and Automation Letters,2023,8(2):1029 − 1036. doi: 10.1109/LRA.2023.3236571 -