APP下载

基于Revit API 二次开发优化暖通数据提取与统计

2021-06-03陈培旺

科技创新与应用 2021年15期
关键词:窗体风管二次开发

陈培旺

(广东博意建筑设计院有限公司,广东 佛山 528300)

目前Revit 涵盖方案、建筑、结构、设备四大专业,同时能参与方案、设计施工、后期运营维护三大过程,是一款应用于BIM(Building Information Modeling,建筑信息模型)技术的常用软件[1]。Revit 在设计阶段能进行参数化设计、多专业协同设计,多样化出图,这是传统CAD 设计所不具备的强大功能[2-3]。然而,Revit 在建模设计上有不少缺点,如模型搭建命令单一繁琐,相同的建模操作不能一键复制,缺乏便捷性;建模有时无法有效搭建族块;搭建模型的族块类型有限;模型信息统计查询繁琐等,这些不足在影响设计效率的同时,也间接阻碍了BIM 技术的发展和应用[4-5]。面对日趋复杂的工程项目和Revit 自身建模功能不完善的背景下,基于Revit API 二次开发,不断优化改进其操作和功能,是当今提高BIM 技术应用的一个重要方向[6-7]。

1 二次开发流程及暖通插件构思

基于Revit 2015 二次开发流程如图1。

图1 基于Revit 2015 二次开发流程图

针对暖通专业统计和数据输出功能,在Revit 软件自身统计混乱,统计步骤繁琐、统计数据无法一键导出Excel 格式的情况下,基于Revit API 二次开发单独统计暖通专业工程材料量、暖通专业设备参数明细及造价的插件。设计的插件构想图如图2 所示。

2 暖通插件制作

IExternalCommand 是Revit API 用户通过外部命令来拓展功能的接口,本插件用此外部拓展接口进行二次开发。根据图2 构思插件的界面,二次开发的内容主要包括插件窗体的设计、初始化窗体、显示族参数和获取族参数。

图2 插件设计的界面

2.1 设计窗体界面

插件界面包括主窗体设计及子窗体界面,主窗体设计内容包括:添加WPF 窗体、添加现有项目、添加引用及添加窗体控件。通过TreeView 控件展现所需要统计的内容,即工程量、参数、成本三个方面。在界面的右下角的“统计”和“导出”来实现对暖通专业工程量、参数、成本统计,及针对的统计数据进行导出。子窗体设计内容,主要是在窗体上放置能显示Revit 模型族参数的DataGrid 控件,通过编写应用程序标记语言XAML 赋值给窗体控件。

2.2 初始化窗体

以参数明细统计功能为例,参数明细统计有子项“空调设备”“水泵”“空调水管直径长度”及“风管面积”。用CountSubCategory 类来封装下面的数据:

a.字符串“空调设备”“水泵”“空调水管直径长度”“风管面积”。

b.“空调设备”“水泵”“空调水管直径长度”“风管面积”分别对应的族参数。

c.“空调设备”“水泵”“空调水管直径长度”“风管面积”分别对应的子窗体。

TreeView 控件上包含的就是本插件主窗口所显示的三大方面的统计功能,用CountCategory 封装该“数量统计”“参数明细统计”“成本统计”这3 个字符串。将这3 个字符串对应的统计参数保存到CountSubCategory 类中。将CountCategory 类所储存的数据再封装到Vm.Count 类的属性中,这样经过创建Vm.Count 类的对象,进而将此对象传递给窗体,从而窗体得到数据,达到初始化窗体的目的。

2.3 显示族参数

将保存有暖通族数据的CountSubCategory 类赋值到子窗体控件,子窗体带有DataContext 属性的Grid 控件,从而Grid 便可得到数据,这样窗体就能显示族参数。

2.4 获取参数

Revit 文件中所有的族均为图元,带有ID 编号。使用Revit 本身的过滤器筛选暖通族的ID,通过封装ID 的参数,为每个参数赋予属性,这样插件便能获取数据。

经过这4 个方面的制作内容,完成暖通插件如图3所示。

图3 完成的暖通统计插件

3 暖通插件运用案例

现通过一个地铁模型检验插件。图4 为某地铁站的Revit 模型;图5 为只显示地铁站内MEP 的模型;图6 为风管及管径工程量统计结果;图7 是空调水管参数明细统计结果;图8 为暖通空调设备成本统计结果。

图4 Revit 模型

图5

图6 对风管及管径进行工程量统计

图7 对空调水管进行参数明细统计

图8 对空调机械设备成本统计

4 结束语

本文从改进Revit 统计功能为方向,基于Revit API进行二次开发,制作了能便捷统计BIM 模型中暖通空调专业参数的统计插件。改进效果如下:

(1)本插件避免原先软件层层筛选族的方式来统计,能做到一键将暖通专业的工程量、使用的设备参数规格及设备的成本一键统计到位。

(2)能解决Revit 软件本身统计混乱。本插件能区分暖通专业和给排水专业的管道,做到精准统计。

(3)统计的数据能导出Excel 格式,解决了Revit 只能导出TXT 文本格式的问题,为统计人员提供更加便捷计算的文本格式。

Revit 软件整合了建筑、结构、MEP 三个专业,包含不同专业的建模操作,出现使用功能便捷性的缺失难以避免,针对与不同专业功能便捷型缺失的问题进行二次开发,是目前BIM 发展研究其中的一个方向。本文通过基于Revit API 进行二次开发制作针对暖通专业的统计插件,希望能对暖通专业或者其他专业同行给予启发,开发更多基于本专业情况而优化Revit 软件本身的功能或者开发其没有的功能,让BIM 技术更好地服务自己的专业。

猜你喜欢

窗体风管二次开发
某车型空调风管振动问题试验研究与优化
某大型舰船矩形水密风管结构改进设计
试谈Access 2007数据库在林业档案管理中的应用
浅谈Mastercam后处理器的二次开发
基于Qt的多窗体快速并行图形绘制方法研究
土建风井内衬风管连接方案研究
风管强度校核方案
例谈课本习题的“二次开发”
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用
关于平面设计软件二次开发的分析