APP下载

基于Revit平台对农田喷灌二次开发的应用研究

2020-10-12武桂芝刘萍

人民黄河 2020年7期

武桂芝 刘萍

摘 要:农田喷灌是目前我国应用最广泛的节水灌水方法,可以大大提高水的利用率并实现农作物丰产丰收,但喷灌工程在设计时的管配件比较琐碎,工程量统计比较困难。Revit平台是BIM技术中具有强大的设计、数据交互、信息管理、协同工作等功能的应用平台,运用Visual Studio软件,基于C#语言编写代码在Revit平台进行二次开发,实现了对农田喷灌系统工程量的提取,为工程后期编写概算、进度计划及资源配备提供科学准确的数据支撑。

关键词:BIM;Revit二次开发;农田喷灌

中图分类号:TU17;S274.2   文獻标志码:A

doi:10.3969/j.issn.1000-1379.2020.07.036

Abstract:Sprinkler irrigation is the most widely used water-saving irrigation method in China, which can greatly improve the utilization rate of water and achieve a high yield of crops. However, due to the trifling pipe fittings in the design of sprinkler irrigation project, it is difficult to make statistics on the amount of work.Revit platform is an application platform with powerful functions of design, data interaction, information management and collaborative work in BIM technology.In this study, Visual Studio software was used to write codes based on C# language to carry out secondary development on Revit platform, which realized the extraction of engineering quantity of farmland sprinkler irrigation system, provided scientific and accurate data support for the preparation of budget estimates, schedule plans and resources allocation in the later stage of the project.

Key words: BIM; Revit secondary development; farmland irrigation

1 引 言

Revit平台作为BIM技术中具有强大的设计、数据交互、信息管理、协同工作等功能的应用平台,是BIM技术在工程设计行业应用的先行军[1-2]。农田喷灌技术是建设节水型社会的基础性工程,是保证水利工程顺利实施、农作物丰产丰收、农业经济快速发展的基本保障[3-4],但喷灌工程在设计时管配件比较琐碎,工程量统计比较困难[5]。

本文将对Revit平台进行简述,并基于Revit平台对农田喷灌进行二次开发,实现农田喷灌系统工程量的自动化提取。

2 Revit平台及其二次开发

2.1 Revit平台

Revit是一种基于模型建模的参数化引擎,可以与传统设计软件进行数据交换,将二维设计图导入软件,实现信息共享和协同工作[6-7]。Revit参数修改技术实现了模型中各视图之间的关联变更,同时保持了各模型图纸的一致性,自动记录工程量[8]。

2.2 Revit二次开发

Revit二次开发是在现有的软件基础上进一步完善、拓展软件功能,以更好地满足人们对软件的不同需求[9-10]。开发商将集成的数据库函数封装到Revit的API接口中,使得Revit二次开发更加方便快捷[11]。Revit二次开发具有操作复杂性、学科交叉性、功能继承性、功能实用性等特点[12]。

2.2.1 开发环境

开发环境(SDE)由软件工具和环境集成机制构成,在基本硬件和数字软件的基础上,为支持系统软件和应用软件的工程化开发及维护而使用的一组软件。Revit API允许开发人员通过任何与Microsoft.NET Framework兼容的语言进行编程,如C#、VB以及C++等编程语言。

2.2.2 开发方式

Revit的二次开发主要有外部应用(IExternal Applications)和外部命令(IExternal Command)两种开发方式。Revit调用外部应用和外部命令的流程见图1。

2.2.3 开发流程

Revit API应用.NET开发环境进行Revit二次开发已经逐步形成了一套标准的开发流程,见图2。

3 应用案例

以农田喷灌系统工程为Revit二次开发的对象,在完成该工程的建模后,进一步运用C#语言在Visual Studio 2012平台上编写程序,并结合Revit API进行二次开发,通过编写程序插件将Revit和Excel联系起来,实现工程量的统计并导出到Excel,为后续工程中的概算编制、进度计划及资源配置等提供支撑。

3.1 准备工作

(1)新建项目。打开Visual Studio 2012新建项目,选择其他语言中的C#并选择类库,命名为“工程量统计”,选择合适的存储路径。

(2)添加应用。点击视图选项卡中的解决方案资源管理器,调出解决方案资源管理器,右键引用选择添加应用。在引用管理器—程序集—框架中选择System. Windows. Forms,进一步在com中选择Microsoft Excel 15.0 Object Library。

(3)编写代码。在Revit安装地址中选择Revit API和Revit APIUI,即可将编写的代码与Revit、Excel关联,然后在打开的新建项目中进行代码的编写。

3.2 调用命令

运用代码调用Revit和Microsoft excel 2013等相關应用程序集,创建一个开发代码的运行环境,导入的相关程序集代码如下:

#region Namespaces

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using Autodesk.Revit.ApplicationServices;

using Autodesk.Revit.Attributes;

using Autodesk.Revit.DB;

using Autodesk.Revit.UI;

using Autodesk.Revit.UI.Selection;

using Microsoft.Office.Interop.Excel;

using System.Runtime.Remoting.Contexts;

using System.Data;

#endregion

上述代码中关键是using Microsoft.Office. Interop. Excel,据此才能在开发环境中调用Excel。

3.3 注释模型

在对喷灌系统创建三维模型时,要根据项目划分对每一个模型进行注释,如图3中的镇墩,在模型“属性”的“注释”项要填写“C15素混凝土镇墩”,这样就可以通过代码sheet.Cells[i,2]=param.AsString()和sheet.Cells[i,3]=param.AsValueString()将注释信息和体积(工程量)读取到Excel的相应单元格,形成工程量表。

3.4 编写代码

在Revit中选择创建好的喷灌系统三维模型,程序会自动打开Excel工作簿并在Sheet1工作表自动生成工程量的清单,主体代码编写完成后,点击“生成”选项卡中的“配置管理器”命令,在弹出的对话框中进行解决方案平台的设置,新建一个“X64”的平台,然后关闭,点击“生成”选项卡中的“生成解决方案”命令,这时候下方会提示代码是否有错误,根据提示对代码进行修改,直到提示错误为零,显示生成成功。

3.5 生成工程量

完成代码编写后,在生成的工程量统计文件夹中找到“工程量统计.dll”文件,复制地址粘贴到提前准备好的addin文件中,addin文件是Revit运行调用附加模块的一个必备文件,Revit和生成的代码程序通过它进行链接。此时之前新建的book1就会自动打开,并在sheet1中生成需要的工程量,整理后的工程量见表1。成功提取出工程量后,就可进一步进行概算编制、进度计划及资源配置等。

4 结 语

对Revit平台的二次开发进行了简述与探讨,并有针对性地运用Visual Studio 2012软件,基于C#语言编写代码在Revit平台进行了二次开发,实现了对农田喷灌系统工程量的提取,为后期的概算编制、进度计划及资源配置提供科学准确的数据支撑。

参考文献:

[1] 葛晶,周世光.基于Revit平台BIM工作系统二次开发应用实例[J].建筑技术,2017,48(12):1317-1319.

[2] 余雯婷,李希胜.基于BIM技术的建筑设施管理信息提取与应用[J].土木工程与管理学报,2016,33(1):85-89.

[3] 李永基.农田喷灌化是建设节水型社会的基础性工程[J].甘肃农业,2003(12):58.

[4] 肖承智.农田水利灌溉节水技术分析[J].陕西水利,2018(6):94-95.

[5] 牛立军,黄俊超.BIM技术在水利工程设计中的应用[M].北京:中国水利水电出版社,2019:12.

[6] 张艺晶. Revit软件基于项目的二次开发应用研究[D].石家庄:河北科技大学,2015:16-17.

[7] 徐刃.BIM技术在施工成本预测中的应用现状分析[J].广东土木与建筑,2017,24(6):65-69.

[8] 陈楠.基于Revit软件二次开发的研究[C]//中共沈阳市委,沈阳市人民政府,中国农学会.第十三届沈阳科学学术年会论文集(理工农医).沈阳:沈阳市科学技术协会,2016:423-427.

[9] 肖贝. Revit二次开发在基坑土方工程中的应用研究[D].南昌:南昌大学,2016:8-9.

[10] 江明.中信建筑设计研究总院有限公司2011年BIM应用情况总结[C]//中国土木工程学会计算机应用分会,中国图学学会土木工程图学分会,中国建筑学会建筑结构分会计算机应用专业委员会.第十六届全国工程设计计算机应用学术会议论文集.北京:中国土木工程学会,2012:341-346.

[11] 沙培洲,刘彦明,徐博.西成客运专线铁路桥隧工程BIM技术应用研究[J].铁道标准设计,2017,61(7):66-71.

[12] 韩春楠.基于BIM的装配式混凝土结构建筑预制装配率计算方法与应用框架研究[D].南京:东南大学,2018:42-45.

【责任编辑 张 帅】