基于Revit API的水工参数化模型二次开发

2021-09-24 12:02梁建波
水利规划与设计 2021年10期
关键词:二次开发实例锚杆

梁建波,李 德,董 平

(湖北省水利水电规划勘测设计院,湖北 武汉 430070)

近年来,水利水电行业的BIM应用正在稳步推进,但随着应用的深入,仅仅利用BIM软件的现有功能实现项目的参数化设计已经不足以最大程度地体现BIM设计的效率优势。目前,水利水电行业的BIM正向设计中存在如增强设计各专业之间的协同性、复杂结构三维模型的参数化、族模型的批量定位、不同平台之间数据格式和接口的转化等一些痛点,严重影响BIM正向设计的效率。同时,由于水利水电行业的BIM应用较建筑、铁路、交通等行业相比起步稍晚[1- 2],且各BIM平台的软件功能主要面向于建筑行业,对于水利水电工程建筑物设计的针对性不强。基于BIM软件API进行有针对性地开展二次开发是BIM正向设计深入应用的有效途径。将利用BIM软件API开发的相关功能模块包装为功能插件,可以系统有效地为水利水电工程BIM设计提供便利,具有现实和长远意义。

本文主要基于Revit软件开展水工参数化建模的二次开发与应用,旨在解决水工参数化建模中的一些常见问题,从而提高BIM正向设计效率。

1 问题提出

Revit软件是Autodesk平台的一款主流BIM设计软件,直接面向建筑行业的BIM设计,对于水利水电工程设计中很多需求难以直接实现,本文旨在解决几个常见的水工建筑物设计问题[3- 4]。

(1)泵站和水电站是水利水电工程的特有建筑物,其流道均属于异型曲面,利用Revit进行流道异型曲面建模的一般思路是:先制作参数化断面族,在公制常规族模板中手动创建每个轮廓族断面所要放置的工作平面,将参数化轮廓族导入后手动定位至各个工作平面上,再依次修改每个断面族参数,最后依次放样生成流道曲面。要得到较高精度的流道模型,就需要很多参数化轮廓断面,手动对每个断面轮廓进行定位及其参数修改,不仅工作量很大,同时也很难保证其位置和参数的准确性。

(2)引调水类工程中一般都会进行长距离输水管道布置,根据工程需要,输水管道沿线往往会布置数量较多的排气阀井、检修阀井、放空阀井、镇墩等附属建筑物[5],在Revit中进行建模的一般思路是:先进行主管线的设计,建立各附属建筑物的参数族,将参数族导入到主文件后进行手动定位,考虑到按照BIM标准进行建筑物管理,还需手动对各附属建筑物分别进行编号。对于长距离输水管道,其沿线附属建筑物数量很多,加之管道轴线一般为三维空间曲线,其桩号位置点很难定位,手动对所有附属建筑物族实例进行定位并编号是一件极其繁琐的工作,同时也很难保证各附属建筑物位置的准确性。

(3)在山地地貌进行引调水类工程建设,一般都需要进行输水隧洞的设计,根据围岩类别,通过钻爆法施工的输水隧洞开挖过程中往往需要利用喷锚等工程措施进行初期支护。支护锚杆的设计参数包括锚杆长度、直径、间距及布置形式等,由于隧洞沿线锚杆数量非常多,且其垂直于曲面岩壁,利用Revit软件现有功能对创建的隧洞模型进行支护锚杆的布置并批量修改锚杆参数是很难实现的。

(4)输水建筑物如渠道、渡槽、暗涵、管道、隧洞等都有沿线或局部沿线等截面的特点,对于此类建筑物通过Revit软件建模的思路一般有两种,一是利用模型线构造断面,通过构建的断面和轴线放样生成线性建筑物模型;二是先构建公制轮廓族,将构建的轮廓族导入主族文件后与轴线放样生成线性建筑物模型。现有功能很难实现快速的轮廓参数化和并线数量的参数化。

2 解决思路

针对以上问题,考虑到工程设计人员的工作习惯,并最大程度地体现BIM参数化设计的便捷,尽可能采用带有图例的参数化对话框的方式实现,直接采用设定参数的“傻瓜”式操作方式。

(1)对于在Revit中流道异型曲面的建模问题,由于流道模型各放样断面的参数一般由生产厂家提供,考虑将断面族实例参数和每个族实例的定位平面与电子表格数据自动匹配,通过族文件与电子表格文件融合后,一键生成流道模型。本文研究通过Revit二次开发,利用对话框的形式与用户交互,实现流道参数化轮廓断面批量自动定位及批量族参数赋值。

(2)对于引调水类工程中众多族实例沿线路定位布置问题,根据设计习惯,考虑两种功能,一是针对族实例数量和种类较少的情况,通过输入桩号直接放置和定位,二是针对族实例数量和种类众多的情况,通过包含族实例编码和桩号信息的电子表格批量放置定位和自动添加族实例编码。本论文研究通过Revit二次开发,利用对话框的形式与用户交互,实现沿管线附属建筑物的批量放置并自动编号。

(3)对于输水隧洞中支护锚杆的设计布置问题,根据设计要求,锚杆布置方式为梅花形布置,锚杆长度、直径、布置间距均设定为设计布置参数。由于锚杆数量往往很多,考虑软件运行流畅性,锚杆模型采用两种方式显示,一是只显示锚杆轴线,即线框模式,二是显示锚杆实体,即真实模式,可根据需要选自显示模式。本论文研究通过Revit二次开发,实现隧洞支护锚杆的批量自动定位及锚杆参数赋值。

(4)对于渠道、渡槽、暗涵、管道、隧洞等沿线或局部沿线等截面的输水建筑物建模问题,根据项目实际情况和设计工作习惯,将不同型式建筑物断面形状尺寸和并线数量作为模型设计参数进行快速建模。本论文研究通过Revit二次开发实现水利工程线型输水建筑物“一键”建模并实现并线数量的参数化。

3 技术路线及功能实现

针对上述所提出的具体实际问题,基于Revit2020 API,在Visual Studio 2015开发平台上,依托.NET Framework4.6框架,采用 C# 编程语言进行针对性的Revit二次开发研究[6- 8]。

(1)通过泵站流道参数化轮廓断面批量自动定位及批量族参数赋值,实现流道的快速建模,工作流程包括:创建参数化流道断面族文件、用户交互对话框中选择流道断面族文件(.rfa)和族参数数据文件(.xlsx)、生成断面轮廓并定位、创建流道模型,如图1—6所示。

图2 流道参数化建模用户交互界面

图3 流道参数化断面族

图4 流道参数化断面族参数数据

图5 流道断面族实例自动定位及参数赋值

图6 生成流道模型

(2)利用对话框的形式与用户交互,实现沿管线附属建筑物的批量放置并自动编号。工作流程包括:将创建的附属建筑物族导入主文件、用户交互对话框中选择附属建筑物族类型、导入族定位桩号数据文件(.xlsx)、选择轴线自动完成族实例定位放置和族实例自动编号,如图7—11所示。

图7 族实例定位流程图

图8 族实例定位用户交互界面

图9 族实例定位桩号及编号数据

图10 族实例定位

图11 族实例自动编号

(3)利用对话框的形式与用户交互,实现隧洞支护锚杆的批量自动定位及锚杆参数赋值[9]。工作流程包括:用户交互对话框中输入锚杆全部设计参数、勾选是否实体显示或只显示锚杆轴线、批量生成锚杆模型,如图12—14所示。

图12 锚杆设计流程图

图13 锚杆设计用户交互界面

图14 锚杆设计模型

(4)以输水箱涵为例,利用对话框的形式与用户交互,实现水利工程线型输水建筑物“一键”建模并实现并线数量的参数化[10- 11]。工作流程包括:用户交互对话框中输入锚杆全部设计参数、选择并线数量、选择轴线自动完成模型创建,如图15—17所示。

图15 箱涵设计流程图

图16 箱涵设计用户交互界面

图17 箱涵设计模型

(5)除了实现上述功能外,对于Revit实体几何数据的提取、将通过.dwg文件导入到Revit中的ImportInstance线元素转换为ModelCurve类以及按.dwg文件中图层进行ImportInstance元素的隐藏和隔离等功能也通过Revit二次开发全部得到实现,将这些在水利水电工程BIM设计中常用的功能打包,形成水工Revit参数化模型工具集插件,如图18所示。

图18 水工Revit参数化模型工具集插件面板

4 应用案例

水工Revit参数化模型工具集插件在盐卡泵站工程、鄂北水资源配置熊河分水工程等均得到了较好的应用。在盐卡泵站的设计中,采用“流道设计”功能模块实现了泵站建筑物的快速建模(如图19—20所示)。在鄂北水资源配置熊河分水工程的设计中,通过“桩号布置”功能模块对27km输水管道沿线的检修阀井、放空阀井、进排气阀井及镇墩等附属建筑物实现了快速自动定位及自动编号(如图21—23所示)。

图19 盐卡泵站流道模型

图20 盐卡泵站模型

图21 熊河分水工程检修阀族

图22 熊河分水工程放空阀族

图23 熊河分水工程附属建筑物自动定位(局部)

5 结论与展望

针对水工建筑物设计特点,本文开展了Revit参数化建模的二次开发初步研究,解决了水工建筑物设计中常见的几类问题,对水利水电行业BIM设计的深入应用具有一定的借鉴意义。由于本文中所述二次开发功能的程序未进行充分优化,导致工程线路较长时某些功能运行很慢,在后续工作中应着重优化程序,使功能运行更加流畅。

随着水利水电行业BIM技术的深入应用,BIM设计的核心竞争力已经由设计方案的BIM实现程度转变为设计方案的BIM实现程度与BIM设计效率并重。开展BIM设计软件的二次开发,对于提高水利水电行业BIM设计深度、拓展应用广度以及提高工作效率意义深远。

猜你喜欢
二次开发实例锚杆
浮煤对锚杆预紧力矩的影响
浅谈Mastercam后处理器的二次开发
锚杆参数对围岩支护强度的影响
例谈课本习题的“二次开发”
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用
完形填空Ⅱ
完形填空Ⅰ
锚杆支护技术中一些问题的探讨
关于平面设计软件二次开发的分析