BIM Lightweight Management Platform Engineering Quantity Statistics Function Development and Implementation
-
摘要: 由于项目工程算量信息在建筑工程项目中的重要性以及传统BIM软件对计算机硬件条件的依赖,导致BIM技术在工程项目成本管理中难以应用。本文通过Dynamo对混凝土构件柱、梁及板之间的扣减关系进行了修正,并利用Revit二次开发对修正后的模型进行了轻量化处理,导出了glTF轻量化格式、控制构件聚合关系的结构树文件以及导出符合我国计价规范的清单工程量。最后基于Three.js图形引擎,通过HTML、CSS及JavaScript搭建了BIM轻量化平台,实现了BIM模型Web端的快速加载,并利用构件UniqueID实现了模型构件与清单工程量信息的匹配,实现Web平台算量信息在线统计。最后导入BIM模型案例对本研究进行验证,实际效果满足要求。Abstract: It is difficult to implement BIM technology in project cost management due to the importance of project engineering calculation information in construction projects and the dependence of computer hardware in traditional BIM software. In this paper, the deduction relationship among concrete member column, beam, and slab is revised by Dynamo. The revised model is lightened by using Revit secondary development, then exporting glTF light format, structural tree file controlling the aggregation relationship of members, and the list quantity of work in accordance with China's pricing specification. Finally, based on Three.js graphics engine, the BIM lightweight platform is built by HTML, CSS and JavaScript to achieve the fast loading of BIM models on the website. By using component UniqueID, the paper succeeds in the matching model components with list quantity information and achieves online statistics of quantity information on the web platform. Finally, the BIM model case is imported to verify that the actual effect of this study meets the requirements.
-
引言
BIM将建筑实体进行数字化模型表达、收集并共享项目的各项信息,使决策者以及监管部门及时掌握建设项目的信息[1, 2]。工程量清单是用来统计一个建设项目所需材料以及劳动力的[3],它的准确性直接影响工程项目的开展以及决策。通过BIM技术从三维模型中提取工程量是最直观、最高效及最准确的方法[4]。而随着Web图形引擎、云计算的发展,BIM技术应用也逐渐从传统C/S架构向B/S架构发展[5]。
在住建部、科技部等部门的政策指导和行业数字化转型的迫切需要下,有学者利用Revit进行正向设计提高各专业协同设计效率。黄轩安等[6]利用参数化建模完成大型复杂结构的数字化建造。杜欣俊等[7]使用Revit、鸿业等软件,对城市综合管廊进行了管线碰撞检查、空间优化。基于BIM技术的三维自动算量也运应而生,采用BIM软件接口API开发插件,进行工程量统计的算量方式得到了业界学者的普遍认同。吴佳丽等[8]根据施工图概预算的工作流程,介绍了使用Revit进行工程量统计的技术路线。徐铭等[9]分析了市面上不同的BIM算量软件,发现Revit软件的信息传递、共享能力更强。陆凯凤[10]将Revit模型按照规范进行了构件剪切顺序调整,使得API统计的工程量更精确。
虽然以上研究取得了一定的效果,但是仍存在以下几个问题亟待解决:
(1)BIM软件建立的模型使用时依赖专用客户端软件以及计算机硬件条件,不同软件之间的模型信息共享受阻;
(2)从Revit软件直接提取工程量的计算规则不符合我国清单计价规范;而基于专业三维算量软件又会导致重复建模进而导致增加工作量;
(3)工程算量信息和模型关联往往需要专业算量软件,难以通过Web移动端便捷地查看模型构件算量信息。
基于此,本文提出参数化处理模型构件扣减规则以符合我国规范,BIM数据轻量化处理以满足信息交互。最后基于Three.js图形引擎搭建BIM轻量化管理平台,利用UniqueID将构件几何信息与构件算量信息进行哈希匹配,实现BIM平台的工程量统计功能和其他辅助功能的开发。
1. BIM轻量化平台选择
目前国内外BIM设计软件繁多,并且每个BIM设计软件有自定义数据格式,如表 1所示,且对其他格式的模型兼容性不强,不同设计软件之间模型数据交互时容易导致模型数据缺失,直接影响到项目后续一系列工作的展开进度。
表 1 常见的BIM软件特点及自定义格式BIM软件 应用领域 自定义格式 Revit 复杂建筑建模、统计分析 *.rvt,*.rfa,*.adsk,*.rte Navisworks 施工模拟、碰撞检查 *.nwd,*.nwf,*.nwc Bently 厂房建设、基础设施建设 *.dgn Rhino 工业制、机械设计 *.3dm Twinmotion 城市规划、景观设计 *.tma ArchiCAD 建筑设计、城市规划 *.pln 而近年来,随着Web技术的快速发展,以WebGL图形引擎技术的轻量化平台得到广泛应用。以C/S架构的传统BIM设计软件对硬件配置要求高,安装繁琐且不易维护,限制了BIM数据的共享互通。而以B/S架构的轻量化管理平台很好地解决了这个问题,在任何设备上使用浏览器就可以查看平台,不受终端设备、系统的限制,很好地解决了跨平台使用的问题,C/S、B/S架构示意如图 1(a)~(b)所示。
目前商用BIM轻量化平台市场被几大建筑软件公司占据,国外平台有Forge、BIM360及Revizto等平台,但是这些平台服务器都部署在国外,国内用户使用时加载速度较慢,数据的安全性更是难以保证。而国内的广联达BIMFACE、葛兰岱尔轻量化引擎等在用户体验以及数据安全方面不存在上述问题,但是缺乏全生命周期模型处理工具,实际项目中模型创建、施工模拟大多使用国外软件,使国内轻量化平台的兼容效果以及轻量化处理过程中数据完整性存在问题。
因此,本文选择自主开发轻量化平台,在此基础上进行工程量统计功能的开发。本文以基于WebGL的Three.js图形引擎为基础,Three.js图形引擎因其操作简单、功能强大而被广泛应用。不同于传统BIM软件的多样性以及数据格式的冗余性,Three.js图形引擎支持多种轻量化格式,在本研究中BIM轻量化平台采用glTF格式。glTF数据格式具有轻量化特点,在使用以及解压过程中处理时间少,glTF格式本质是JSON文件,数据结构以及元素索引流程图如图 2所示。
2. BIM轻量化平台功能开发
2.1 平台功能开发技术路线
平台开发分为工程量清单导出以及模型轻量化两部分内容,技术路线如图 3所示。基于Revit与Dynamo交互模型批量修正构件扣减规则;Revit二次开发完成工程量清单导出和模型轻量化。最后利用Three.js图形引擎搭建BIM管理平台,加载glTF文件,并通过UniqueID将模型与算量信息关联实现工程量在线统计功能。
2.2 开发环境配置
通过基于WebGL的JavaScript开源框架Three.js实现模型的在线可视化,再通过编写JavaScript代码开发实现工程量辅助计算、资料统计等功能,可视化协同平台具体软硬件开发环境配置如下:
(1)硬件开发环境
操作系统:Windows10教育版64位,处理器:Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz 2.50 GHz,机带RAM:12.0 GB。
(2)软件开发环境
Revit二次开发:Revit 2018,Visual Studio 2019,C#;BIM轻量化平台开发:Visual Studio Code 1.7.1,HTML、CSS、JavaScript;测试浏览器:Google Chrome,Microsoft Edge,火狐等主流浏览器。
3. 关键技术路线与实现
3.1 模型工程量导出
因为Revit建模时,模型内部扣减规则与我国清单规范不一致,如果直接用Revit内置的信息导出功能,导出的数据单位为英制,且不符合我国规范。因此,必须先对模型构件扣减规则进行修正再导出算量信息表。
分析Revit软件内部扣减规则与清单扣减规则的差异性,利用Dynamo可视化编程遍历构件连接状态,修改柱、梁及板之间连接的优先级,交换板与梁、板与柱的剪切关系,使模型扣减规则符合清单规范。通过Dynamo参数化Python脚本,判定模型内部柱、梁及板之间的连接状态,确定其连接状态后,交换模型剪切顺序,交换顺序前后的模型局部效果如图 4所示,参数化扣减技术路线如图 5所示。
得到修正构件扣减规则后的模型,通过使用RevitAPI调用模型构件的物理属性参数与清单属性参数导出工程量清单数据。李洁[11]通过分析Revit模型以及工程量清单层级结构建立了模型构件与工程量清单的映射关系,以XML数据结构为桥梁,建立了模型与清单的匹配规则和路径,最后利用Revit二次开发实现了工程量清单数据表格数据输出,详细过程在此不展开论述。本文主要研究运用以上数据实现BIM轻量化平台工程量统计功能。
3.2 BIM模型信息提取
Revit SDK支持C#二次开发,配置完相关开发环境之后,引入核心库RevitAPI.dll以及RevitAPIUI.dll,开发流程如图 6所示。
(1) 添加外部引用RevitAPI.dll和RevitAPIUI.dll;
(2) 在Command命令下重写Execute方法,实现对外部命令接口IExportContext的调用,配置导出参数;
(3) OnElementBegin获取单元几何信息以及节点信息,节点信息包括单元构件属性信息,OnMaterial获取单元材质信息以及贴图信息,利用OnElementBegin和OnMaterial对图元中所用构件进行循环遍历,直到提取整个图元信息;
(4) 用自定义导出接口CustomExporter将glTF文件写入磁盘中,最后将代码封装,即可在Revit软件附加模块中使用该插件导出模型glTF格式文件。
3.3 Web端BIM模型算量信息在线统计
通过上述研究,可以实现BIM模型数据转换为glTF格式并完成Web平台模型几何数据的来源,同时实现了模型构件扣减规则的修正以及清单工程量信息的导出。基于以上的研究得到的数据,接下来利用three.js轻量化图形引擎,实现glTF格式模型几何数据在Web端的加载,以及将导出的清单工程量信息参数化,实现模型构件与算量信息的一一映射,完成Web端算量信息统计功能。Web端加载glTF数据部分代码如下:
var loader = newGLTFLoader().setPath(
‘models/gltf/DamagedHelmet/glTF/’);
loader.load(‘DamagedHelmet.gltf’, function (gltf) {
//加载文件
gltf.scene.traverse(function (child) {
//遍历子元素
if (child.isMesh) {
roughnessMipmapper.generateMipmaps(child.material);
}
});
scene.add(gltf.scene); //添加到场景
roughnessMipmapper.dispose();
render(); //重新渲染场景
});
进一步将工程量清单参数化,将算量信息excel表格转换为JSON字符串形式,如图 8所示,方便平台读取构件信息,实现与模型几何信息的匹配。
在Revit中,模型每个构件都会被赋予RevitID以及UniqueID作为构件的唯一标识,但是RevitID是局部标识符,在模型轻量化处理之后,数据重新分组后构件Revit也会发生改变。因此,此处选择uniqueID作为全局唯一标识符,贯穿项目始终都不会更改。通过将构件RevitID以及uniqueID进行哈希匹配,使用uniqueID作为模型构件三维几何数据和二维工程量数据之间互通的纽带,实现多源异构数据之间共享。
平台除实现工程量在线统计功能外,还实现了构件属性在线查看、模型结构树分层辅助及空间漫游等功能,方便使用人员进行辅助决策。
4. 案例验证
为了验证上述格式转换插件、算量信息导出插件以及Web轻量化平台的使用效果,通过选取北京某文化体育公园项目地下结构部分测试其可用性。首先在Revit中打开所需要转换数据格式的BIM模型,在项目选项卡面板中依次点击“BIM数据转换”和“导出(export)”按钮,选择模型导出精度即可将glTF格式文件导出至指定文件夹,如图 9所示。
进一步使用算量信息导出插件导出该BIM模型清单工程量信息Excel表格,依次点击选项卡中“快速工具”和“数据表统计”,如图 10所示。
通过上述操作获取原视数据文件,在完成工程量清单参数化之后,将得到的文件放入指定文件夹,通过在html文件中修改几何模型glTF文件以及工程量JSON文件的存放路径,运行html文件整个平台在浏览器中的展示效果,如图 11所示。
打开模型结构树,点击模拟施工按钮,即可开始进行工程量在线统计,效果如图 12所示,可按类别显示构件工程量以及该类别工程量汇总。
除了工程量统计功能以外,BIM轻量化管理平台还提供了构件属性功能查询、文档在线查看及虚拟场景等功能,可以直接在平台中点击查阅图片、视频等文件。平台还可以通过后台输入工程进度以及项目实时花费,可以使项目参与人员更直观地了解项目施工进度,平台还为物联网传感器监控系统预留了接口,可以将外部传感器接受的信息实时接入到平台中。
5. 结论
本文通过研究以及平台测试验证,得出以下结论:
(1)分析了Revit等基于C/S架构的BIM软件的不足与局限性,开发了基于B/S架构的BIM轻量化平台,弥补了传统客户端BIM软件信息交互差的缺点;
(2)通过对主流BIM软件Revit进行C#二次开发,成功地将Revit自定义RVT格式模型转换为glTF轻量化数据格式,为其他BIM格式进行格式转换提供了参考;
(3)通过分析我国《建设工程工程量清单计价规范》(GB50500-2013)中柱、梁及板构件体积扣减规则与Revit软件内部扣减规则的差异,对软件中构件扣减规则进行修正,以符合我国清单计价规范,并且实现工程量信息导出;
(4)通过对工程量清单Excel表格进行参数化转换为JSON格式,与glTF格式模型构件进行映射,实现Web端模型算量信息在线统计,并且完善了构件属性查询、模型结构树分层及空间漫游等辅助功能。
本文只对Revit模型进行轻量化研究,未研究其他格式BIM模型文件的轻量化过程,未来可以借鉴对Revit模型的处理过程,实现其他软件BIM模型的轻量化处理。本文只是针对建筑结构模型,实现了工程量在线统计,将来可以以此为基础,结合传感器、云计算等开发其他辅助功能,并且将来可以引入GIS技术,通过与BIM技术结合为将来智慧城市平台研究建立基础。
-
表 1 常见的BIM软件特点及自定义格式
BIM软件 应用领域 自定义格式 Revit 复杂建筑建模、统计分析 *.rvt,*.rfa,*.adsk,*.rte Navisworks 施工模拟、碰撞检查 *.nwd,*.nwf,*.nwc Bently 厂房建设、基础设施建设 *.dgn Rhino 工业制、机械设计 *.3dm Twinmotion 城市规划、景观设计 *.tma ArchiCAD 建筑设计、城市规划 *.pln -
[1] 王巧雯, 张加万, 牛志斌. 基于建筑信息模型的建筑多专业协同设计流程分析[J]. 同济大学学报(自然科学版), 2018, 46(08): 1155-1160. https://www.cnki.com.cn/Article/CJFDTOTAL-TJDZ201808021.htm [2] Zhao X. A Scientometric Review of Global BIM Research: Analysis and Visualization[J]. Automation in Construction, 2017, 80.
[3] Sampaio AZ, Antunes B G, NMD Almeida. Quantity Take-Off Process Supported by Building Information Modeling (BIM) Methodology[J]. 2021.
[4] Liu H, Ming L, Al-Hussein M. Ontology-based semantic approach for construction-oriented quantity take-off from BIM models in the light-frame building industry[J]. Advanced Engineering Informatics, 2016, 30(2): 190-207. DOI: 10.1016/j.aei.2016.03.001
[5] 孙艳, 裴振保, 韦伟. 基于Mashup框架的商业智能前端工具的设计[J]. 计算机与现代化, 2013(9): 219-225. https://www.cnki.com.cn/Article/CJFDTOTAL-JYXH201309056.htm [6] 黄轩安, 张群力, 方波, 等. BIM集成技术在2022年杭州亚运会曲棍球场馆数字化建造中的应用[J/OL]. 土木建筑工程信息技术: 1-13[2021-08-18]. [7] 杜欣俊. BIM技术在城市综合管廊设计中的应用研究[J]. 土木建筑工程信息技术, 2021, 13(05): 102-107. DOI: 10.16670/j.cnki.cn11-5823/tu.2021.05.14 [8] 吴佳丽, 蒋风香, 胡妮妮. 基于BIM技术的施工图概预算方法研究[J]. 山西建筑, 2017, 43(07): 232-234. https://www.cnki.com.cn/Article/CJFDTOTAL-JZSX201707127.htm [9] 徐铭, 赵校. 从基于BIM的工程量计算角度探讨智慧建设的实现[J]. 城市住宅, 2019, 26(07): 34-38. https://www.cnki.com.cn/Article/CJFDTOTAL-CSZZ201907009.htm [10] 陆凯凤. 基于Revit平台的BIM构件处理工具软件研发[J/OL]. 土木建筑工程信息技术: l-6[2020-05-11]. [11] 李洁. 混凝土工程参数化建模与清单算量二次开发研究[D]. 北京建筑大学, 2021. -
期刊类型引用(7)
1. 巨岩松,王亮,赵慧,张瑞强,李南南. 基于BIM轻量化技术的龙骨隔墙算量平台开发与应用. 土木建筑工程信息技术. 2025(01): 31-36 . 本站查看
2. 白杨正,惠花花,张美琪,李海滨. 基于BIM的施工完成度动态预警系统分析. 安装. 2024(03): 83-86 . 百度学术
3. 薛宇腾,赵非,易菊香. 铁路工程装配式三维数字化设计方法研究. 铁路计算机应用. 2024(05): 26-30 . 百度学术
4. 许兴旺,范文杰,雷刚,杨帆,朱肖. 西延高铁建造数字化平台研究. 铁路技术创新. 2024(01): 169-175 . 百度学术
5. 黄艳艳,徐肖峰,毛积禄. 基于Revit二次开发的水利工程算量应用研究. 建筑经济. 2024(S1): 256-261 . 百度学术
6. 韩娅娜,刘源,栗煜,邢洁鋆. 基于BIM轻量化平台的SVG三维模型测量方法. 山西建筑. 2023(23): 176-180 . 百度学术
7. 郑聪,孙昱. Revit明细表在建筑专业BIM正向设计中的应用研究. 土木建筑工程信息技术. 2023(06): 135-139 . 本站查看
其他类型引用(12)