APP下载

水电站工程BIM引擎系统研究及应用

2019-04-14赵贺来

水力发电 2019年11期
关键词:引擎水利水电可视化

赵贺来,付 杰

(中国电建集团北京勘测设计研究院有限公司,北京 100024)

随着全国水利水电工程信息化工作的推进,BIM技术在水利水电行业应用愈加广泛,引擎系统作为BIM技术的核心内容,能够展示、操作BIM模型和数据,并提供全部功能的API接口,实现跨领域的空间信息和模型信息的集成,进而宏观上把控整个工程的状态指标。引擎系统与BIM模型相结合,能够将工程实体转换为可操作、多维度、结构化数据库的工程可视化模型。在工程项目的全生命周期内,不同工程协作方可以在引擎系统的宏观基础上聚焦到各个领域,录入、修改和共享不同协作方信息,深化多专业协同应用,最终形成承载项目工程数据、业务数据的大数据平台。利用数据大平台进一步对数据资源进行归类分析与挖掘,将原始业务数据转换为知识和洞察力,为项目全生命周期各阶段提供业务决策支持和智慧管理服务。

目前,水利水电工程BIM技术创新更多注重在多方协同设计、可视化动态施工模拟、多维度信息集成等方面。钟登华等[1]重点关注施工安全方面,从水利水电项目施工阶段进行仿真体系研究,构建工程施工建模体系与动态仿真系统;李景茹等[2]针对施工系统管理,运用地理信息技术,从宏观上提出水利水电工程项目的动态可视化仿真技术;苗倩[3]利用仿真软件构建工程项目具体建筑物的三维数字模型,并对BIM进行开发,提出可视化仿真的方法,对水利水电工程的可视化信息查询与动态演示提供技术支持;滕佳颖等[4]针对水利水电工程综合项目交付相关问题,基于BIM技术构建了综合项目交付信息策略及基础模型;孙少楠等[5]针对水利工程枢纽布置与工程量概算相关问题,利用无人机倾斜摄影技术,与水工建筑物BIM模型相结合,提出水利工程信息模型的优化方法,实现枢纽优化布置和土石方量优化计算。本文针对现阶段水利水电行业缺乏专业的引擎系统,独立设计了直接基于底层硬件的引擎系统框架,利用C++语言和DirectX技术体系开发,基于多分辨率理论进行地形系统框架设计,自主研发了规范化、高效化的水利水电工程三维引擎系统,解决了商业三维引擎系统在数据转换与数据传输方面不够规范化与高效化,且存在平台刷新慢、服务器负载严重以及平台流畅程度等问题,为数字电站项目的可视化提供技术支持。

1 引擎设计架构

1.1 引擎开发技术路线

本引擎系统采用B/S结构,基于C++语言和DirectX技术体系开发,为满足工程数字化的具体要求而自主研发设计完成的三维底层接口,并在丰宁抽水蓄能电站项目中进行了实践。引擎以Microsoft的3D图形API-Direct3D为三维图形可视化底层接口,结合directX渲染管线技术、Tessellation镶嵌技术、CPU-GPU混合编程技术和Computer Shader技术进行开发。引擎系统架构如图1所示。

图1 三维引擎系统架构示意

1.2 开发架构

(1)引擎服务器。采用IIS(Internet Information Server,互联网信息服务)作为引擎服务器。IIS是一种Web服务组件,包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,能够发布网页或服务,支持ASP、JAVA、VBscript产生的页面,且具备扩展功能,满足开发要求。

(2)集成开发环境。Visual Studio是一个基本完整的开发工具集,包括开发引擎系统所需的所有工具,如代码管控工具、集成开发环境等,且所写的目标代码适用于微软支持的所有平台,便于引擎在不同电脑的兼容,且开发人员能够迅速创建更高效、交互式更强和更个性化的新一代互联网体验。

(3)三维硬件接口。DireetX SDK是一种图形应用程序接口,其中的函数集被广泛应用于计算机三维应用程序的开发,支持高性能的2D和3D图形、声音、输入。根据本引擎要求,所使用到的DirectX组件有DirectX Graphics、DirectX InPut、DirectX Audio。

(4)主程序框架。主程序框架提供给用户一个使用引擎的逻辑和空间,通常使用三段论框架,即初始化函数、渲染循环函数和销毁函数。所有的关于接口和对象的创建,数据的初始化以及一切前期的准备工作都要在初始化函数中进行,渲染函数则是用于进行渲染处理,销毁函数用于释放一切程序中使用的系统资源。本引擎设计阶段为用户留出函数的接口,提供给用户的只有可见的主程序框架,用户只需添加所需要功能的代码即可。

(5)BIM+GIS融合架构。引擎系统的GIS组成部分,采用了基于WebGIS同时兼顾三维数据的设计架构,将BIM模型融入到WebGIS大场景中。WebGIS作为开放平台,注重数据共享、软件重用、跨平台运行,具有易于集成的特点,符合现代化集成管理与精益制造的要求。引擎系统支持运用多种来源、多级尺度、存放在不同地点的地理数据;同时通过对象管理、插件运用等技术手段与非GIS系统集成,实现数据与功能的多源融合。

2 地形模拟系统的开发技术难点和总体框架

2.1 地形渲染的技术难点

目前水电站项目大多位于复杂地形环境内,对三维场景的仿真精度与效率具有很高的要求,单纯依靠CPU(中央处理器)已无法满足现场实景的即时渲染需求,且CPU支持并行处理数据和执行命令,导致在CPU内部设计时需要有大量的逻辑控制和存储部件,这对计算机部件的数量需求较大,而GPU(图形处理器)可以很好的解决这一问题,GPU能够进行超复杂矩阵或负载向量等运算。因此,在地形三维处理中,GPU的地位已无可替代。CPU与GPU的区别如图2所示。

图2 CPU与GPU结构的比较

针对水电站项目大规模复杂地形,应用一般的可视化系统进行渲染时,地形的纹理数据所占内存非常大,比如基于遥感数据的大规模地形场景中纹理数据一般是GB级别。因此,使用以往的显存存储地理信息数据,如果地形纹理太精细,会对显卡性能要求很高,此时显卡无法存储所有的地形纹理数据,导致整个项目场景的仿真系统崩溃。

在设计水电站工程BIM引擎系统时,考虑到计算机内存技术的不足,对大规模复杂地形运用外存技术进行场景仿真,突破了内存容量的限制。有了GPU,CPU就从图形处理的任务中解放出来,CPU可以执行其他更多的系统任务,这样大大提高了计算机的整体性能,有效避免了大规模复杂地形的场景仿真数据量占用系统内存,导致系统崩溃的问题。但基于外存实现场景仿真会在内外存之间出现频繁地数据传输,因此提高地形仿真效率的关键是探寻一个高效的绘制算法。

2.2 基于多分辨率理论的地形模拟系统框架设计

本引擎系统基于 LOD 的多分辨率绘制算法,运用基于四叉树的大规模地形多级渲染架构处理地形模拟系统。这种渲染架构对不同LOD分别绘制算法,将一般水电站项目所在的复杂场地地形划分为不同精度的纹理和模型数据,即同一个地形块会存在多种分辨率的数据划分模型,当用户在本引擎系统体验和操作模型时,由其视点的远近会看到不同分辨率的场景地形。当在高空视点俯瞰整个项目场景时,系统会选取分辨率相对较低的模型和纹理数据进行绘制并显示;当关注某一关键项目节点或某单一建筑物时,系统会选取分辨率较高的模型和纹理数据进行绘制并显示。具体的地形模拟系统总体框架如图3所示。

图3 地形模拟系统框架示意

3 引擎系统的工程应用

3.1 工程概况

丰宁抽水蓄能电站位于河北省丰宁满族自治县境内,是国家电网公司推进特高压电网建设、服务清洁能源发展的重大工程。电站分2期开发,工程总装机容量3 600 MW,枢纽建筑物主要由上水库、下水库、一二期工程输水系统和发电厂房及开关站组成。上水库正常蓄水位1 505.00 m,死水位1 460.00 m,上游挡水大坝为混凝土面板堆石坝,最大坝高120.3 m,坝顶高程1510.3 m,轴线长556.0 m。下游拦河大坝为混合型,左岸为混凝土面板堆石坝,右岸为混凝土重力坝,坝轴线长377.7 m,其中堆石坝坝段长261.3 m,最大坝高51.3 m,混凝土坝段长116.4 m,最大坝高28 m。

3.2 引擎系统构建

BIM模型包含丰宁场区70 km2范围,包括地上、地下、机电三部分。模型总量包括4 294 967 295个三维面元,共计1 519 480个三维模型实体,总大小约为50 GB。地形总量包括1 970 MB的5 m精度DEM数据,约8 GB的70 km2高清卫星影像数据。场景数据包括9.8 km2的动态水体数据和长4 km、间隔3 m 的动态行树模型。将该模型加载至引擎系统,显示效果图4所示。

图4 丰宁抽水蓄能电站地上场景显示示意

图5 三维场景显示示意

3.3 引擎系统的应用

将工程项目的数据传递到该引擎系统,用户可以通过三维场景直观的看到相关的工程进度,进行施工全过程管理。

在三维场景显示中,用户可以根据导入系统的施工总进度计划数据进行施工进度模拟(如图5a所示),直观的对工程建设的顺序进行全面的了解。通过三维场景显示,用户还可以根据施工进度的时间轴,随意查看任意时间点的工程建设状态。在进度模拟中,模型以不同的颜色对工程的建设状态(已建、在建、待建)进行显示,比如灰色标示已建工程、绿色标示在建工程、蓝色标示未建工程。系统根据已经填报的进度执行情况,对于状态由“未建”改变为“在建”或“已建”、由“在建”改成为“已建”的,通过改变三维场景模型的颜色和透明度来区分(如图5b所示);对于状态为“未建”的,操作人员在点击选中模型之后,能够在弹出的模型属性对话框中看出当前的一个进度完成百分比以及计划开始时间、计划结束时间与实际开始时间等内容。

用户还可以将施工现场的图片或视频与三维模型场景显示进行实时图像连接,查看采集到的施工图像数据(如图6所示)。

图6 实时图像连接

工程项目实际进度数据填报该引擎系统后,将对施工进度进行分析,对于已经产生进度滞后的项目,在三维场景模型上将会显示进度预警提示,用户可以选择具体的模型查看详细的预警信息(如图7所示)。

图7 预警提示

4 结 论

本文设计了水电站工程BIM引擎系统框架,自主研发基于底层硬件的三维可视化引擎系统,该系统利用C++语言和DirectX技术体系进行开发,具备标准化数据接口,系统在丰宁抽水蓄能电站中得以良好的应用。利用该引擎系统可以直观查看相关的施工进度数据,进行施工进度模拟,并对过程中的进度预警提示,实现了工程建设全过程管控,该引擎系统为数字电站建设提供了技术支撑,为后续其他工程BIM引擎系统设计提供了参考借鉴。

猜你喜欢

引擎水利水电可视化
基于CiteSpace的足三里穴研究可视化分析
思维可视化
《湖南水利水电》2021年总目次
新海珠,新引擎,新活力!
基于CGAL和OpenGL的海底地形三维可视化
河南省水利水电学校
水利水电工程建设质量监测
农村水利水电
“融评”:党媒评论的可视化创新
三生 三大引擎齐发力