李学锋 赵启明 毛铭阳
〔内容提要〕随着BIM技术的深入应用,基于Revit软件的工程量计算开始备受关注。由于Revit軟件自带的计算规则和我国现行的GB50500-2013清单规则不同,在Revit模型中直接进行工程量计算的问题难以较好解决。本文以各平台算量软件的清单定额库为基础,采用Revit 2016软件作为二次开发软件平台,Visual Studio 2017作为开发工具,选用C#语言进行基于“.NET”的编程工作,集成多种软件开发技术实现Revit模型直接工程量的计算。
〔关键词〕Revit模型 API接口 C#语言
一、BIM技术进行工程量计算的技术实现手段
一是应用程序接口(Application Programming Interface,API)。二是开放数据库互联(Open Database Connectivity,ODBC)。三是多数BIM软件(如Revit)直接计算工程量并导出EXCEL,再由造价工程师汇总计算,其中IFC标准普遍使用于BIM中,以实现不同软件平台间的互通,但不一定符合国情,效率低。
二、基于C#语言的Revit直接工程量计算系统的开发
1.Revit API应用流程介绍。Revit API的应用流程为:新建项目→添加引用→编写代码→注册、调试程序→开发完成。利用VS 2017创建类库项目,然后添加“Revit API.dll”和“Revit APIUI.dll”的引用,实现“IExternal Application”和“IExternal Command”接口,完成类方法函数的编写,创建“.addin”文件,启动Revit 2016跟踪程序执行过程,显示成功后在系统中集中管理并实际应用,如果显示失败,返回修改代码。
2.系统功能需求设计的目标。针对目前工程算量软件存在文件导入导出数据兼容性差、直接建模效率低等问题,本系统的开发实现目标为:信息自动识别提取;计算规则符合现行国家标准;自动套取定额;做法维护;参数化算量;设计变更自动识别处理;三维平台数据交互;标准工程量表的导出等。
3.系统设计的逻辑架构。系统的逻辑架构分为数据存储层、接口层和功能模块层三个层次。数据存储层添加清单库、规则库、属性集库和项目库。其中,清单库、规则库、属性集库主要用来查询和调用,项目库主要是保存用户进行预算时产生的项目文件;接口层主要指Revit平台向公众提供的一个API接口,使得开发人员能够与内部操作系统取得联系,进而在Revit平台上自定义或扩展相应的功能;功能模块层添加工程设置、模型映射、构件核对、套做法、计算式编辑、汇总计算、查看工程量、报表预览。其中,计算式编辑、汇总计算、查看工程量、报表预览、工程设置、套做法借鉴了传统算量软件的相应功能与代码文件。系统的实现思路是:BIM模型设计→BIM设计信息识别、映射→套用做法→汇总计算→GB50500-2013清单项目列项→生成构件工程量表,输出到Excel中。“BIM设计信息识别、映射”是系统对设计阶段Revit模型中所有构件对象的属性信息进行识别、提取,并将这些信息自动映射为算量数据。
4.系统数据库设计。本系统基于BIM数据管理平台进行新增数据库的设计,根据数据的使用性质,将其分为项目数据库和公共数据库两部分。其中,项目数据库主要用来保存用户进行工程量计算时产生的项目数据,如生成的清单项目、工程量等数据。而公共数据库则实现对公共数据的存储,包括清单库、规则库和属性集库,该部分数据库的内容比较固定,主要供查询和调用。
三、系统功能的实现
系统功能实现是要在系统设计的基础上,承接此前各个阶段的工作,将设计构思转化为具体实现,是系统整个开发过程中的实施阶段。实现工作主要有:搭建系统实现的环境和相关功能界面;将新增加的数据库关联己有的BIM模型数据库;编程实现系统相关功能的核心代码及其他大量代码;基于Revit建立符合我国工程实际的预算编码体系;解决由Revit直接输出工程量的关键性技术难题。鉴于开发工程量较大,本文仅以“新增选项卡页及其命令按钮”开发代码为例,简要介绍系统功能的实现。首先打开VS 2017,新建项目,选择类库,框架为“.NET Framework 4.5”。然后添加引用“RevitAPI”“RevitAPIUI”“System.Xaml”“Windows Base”“System. Core”“PresentationCore”。引用代码如下。
然后在namespace下添加如下代码
然后实现IExternal Application接口,实现Onshutdown和Onstartup函数。在Onstartup函数里创建Ribbon控件,代码如下。
Ribbon Panel panel3-9与Ribbon Panel panel2类似,由于篇幅有限,文章中不做列举。最后返回“return Result.Succeeded”完成代码的编写,将addin文件复制到Revit 2016的Addin文件夹下,重新启动Revit 2016,选项卡新增功能如图1所示。
四、结论
虽然BIM技术在我国已经应用多年,但是使用效果较发达国家还有较大距离。基于Revit 2016软件直接计算工程量系统的建立,使建筑工程设计和算量工作仅需要基于一个平台便能实现,预算人员无需数据转换、无需重新翻模,设计阶段的模型数据得到了高效、完整的利用,节省了大量时间,减少了人为错误。同时,BIM模型数据库作为数据单一的共享源,使得各个阶段的信息高度关联,每个阶段的结果数据也不再是一次性的静态输出,整个工作流程不再是单向不可逆的,一旦上游数据发生改变,下游只需修改与此关联的局部信息,无需重新生成全部数据。