论文部分内容阅读
BIM(Building Information Modeling),是以建筑领域为对象,基于建设项目全生命周期的信息化、智能化方法与过程。它通常使用Autodesk的Revit建模软件,建立建设项目中的土建模型及水电模型,用于减少建筑图纸造成的碰撞问题、设计问题,该模型一般称为BIM模型。BIM模型的交付过程往往称为BIM成果可视化,在此阶段,往往为BIM模型加上真实感渲染,给人以真实感和直接的视觉冲击,对于建设项目中的建筑有直观的印象,为业主提供更好的宣传介绍,提升中标几率。常用的BIM模型浏览软件Navisworks是基于PC端,对于建筑工地实时查看BIM模型不利,为此Autodesk推出了网页端浏览模型云服务Forge,但是国有建设项目保密程度高,禁止将模型资料上传至外国服务器上。本文主要为国内的BIM咨询公司提供保密程序高的大规模BIM模型实时渲染的云端服务系统。为了搭建大规模BIM模型实时渲染的云端服务系统,必须解决三个关键问题。一是大规模BIM模型的数据传输问题,针对此问题,本文通过使用合理的数据结构gl TF和Google的Draco压缩算法,对大规模BIM模型数据进行压缩,并且在前端缓存模型数据,加快大规模BIM模型的加载速度。二是对大规模BIM模型的进行渲染优化,本文针对大规模BIM模型的特点,采用了物体实例化绘制、非实时刷新渲染、按物体类型分类别渲染和网格合并渲染的方法提高大规模BIM模型在网页端的渲染帧率。三是实现BIM模型的真实感渲染,本文根据BIM模型的材质特点,通过Revit的api导出光照算法需要的材质参数,实现了BIM模型的真实感渲染。本文的BIM模型数据通过Revit建模软件提供的API获取,云服务上使用了C++库libevent构建基础的http服务,并通过Mongo DB数据库和文件服务进行BIM数据存储,前端的接口模块使用基于Web GL的three.js渲染引擎实现网页端上的BIM模型的实时渲染。