论文部分内容阅读
从BIM技术的产生到不断推广使得越来越多的建筑从业人员学习并应用它,Revit软件作为BIM技术的主要建模软件得到了很多建筑设计师的青睐。但是新的问题也在应用它的过程中随之产生,如要求超高的电脑配置、打开大体量Revit模型时系统变卡顿、无法满足非设计人员对模型细节的查看等。针对这些问题的出现对其进行轻量化的思想便应运而生。本文在这样的背景下展开对Revit模型的轻量化研究。随着WebGL技术的发展使得大多数主流浏览器支持了WebGL,这为模型在浏览器端的显示提供了可能。本文将Revit二次开发技术与WebGL技术相结合,开发出Revit轻量化模型显示平台。研究的难点在于对Revit模型几何的转换和模型的渲染优化。主要工作如下:(1)模型轻量化处理和数据结构转换。利用RevitSDK提供的IExporterIFC接口函数开发插件将Revit模型导出为IFC模型文件,在深入研究其中所包含的建筑要素和模型轻量化方法的基础上确立了轻量化显示数据和轻量化方法,据此建立轻量化模型和JSON格式文件的数据结构,并利用模型数据导出接口函数对Revit软件进行二次开发,实现模型数据的导出和Revit模型数据结构到JSON数据结构的转换。(2)实现Revit模型的几何转换和轻量化显示。通过对WebGL渲染框架的研究,选择Three.js作为Revit模型的渲染框架。并应用其提供的ObjectLoder函数将模型转换为三角面片实现Revit模型的几何转换,结合WebGL技术和Three.js渲染框架将Revit模型渲染在浏览器端实现轻量化显示。(3)实现Revit模型的三维交互与属性信息的查询。研究轨迹球原理并设计鼠标点击事件,通过TrackballControls.js轨迹球实现模型的三维交互。研究射线相交法基本原理设计相关算法实现模型属性信息的查询。(4)实现Revit模型的渲染优化。针对有限的计算机资源与含有海量数据的大体量Revit模型之间的矛盾,研究线性八叉树算法和LOD算法设计OcLOD渲染优化算法,在不影响模型精度的前提下提高渲染速率。通过对轻量化平台的测试,本文开发的Revit模型轻量化显示平台对模型的展示不仅具有良好的效果而且拥有较好的三维交互体验,具有工程意义和实用价值。