APP下载

基于Revit二次开发的泵站厂房参数化BIM解决方案

2019-04-28伍丹琪陈俊涛肖明

水电与新能源 2019年4期
关键词:牛腿二次开发命令

伍丹琪,陈俊涛,肖明

(1.武汉大学水资源与水电工程科学国家重点实验室,湖北 武汉430072; 2.武汉大学水工岩石力学教育部重点实验室,湖北 武汉430072)

建筑信息模型(Building Information Modeling,简称“BIM”)技术是在计算机辅助设计(CAD)等技术基础上发展起来的多维建筑模型信息集成管理技术[1]。传统的二维图纸易出错,信息不易统一修改、管理,不符合行业走向工业化、信息化、智能化的发展趋势。而三维BIM模型具有直观,便于后期检查、修改、管理等优点。

BIM理念进入实施阶段以来,各种BIM软件纷纷占据了中国市场。BIM软件使用最为广泛的有A(Autodesk Revit)、B(Bentley)、C(Catia)三大平台,其中Revit操作简单,易于开发,兼容性较好,通用性强,适合科研机构以及中小规模用户使用,在建筑行业占据了巨大的市场。

近年来BIM技术在民用建筑领域中已经获得了较为广泛的应用,但针对水工建筑领域的相关研究却 相对较少。如肖彬等[2]进行了BIM技术在伊辛巴水电站厂房设计施工阶段的应用与探索,王元明等[3]进行了BIM技术在新疆喀拉托别水电站工程中的应用与探索,王陆等[4]自主开发了基于设计流程的CAITA水利枢纽快速建模工具,王天兴等[5]以CATIA为平台进行二次开发,建立了土石坝参数化模型。这些研究多是针对工程应用领域,即使有参数化设计方面的研究也多集中在水利枢纽方向,鲜有针对厂房参数化设计方面的研究。

在泵站厂房中,存在大量的不规则结构,且在使用Revit软件对泵站厂房三维模型进行创建的过程中,存在操作程序较为繁琐、没有对应命令、绘图捕捉困难、系统性地修改困难等问题,因此难以使用Revit的基本建模功能高效准确地构建厂房模型。对没有系统学习过BIM三维建模的大量工程人员来说,厂房设计创建无疑十分费时费力,成为BIM应用的主要障碍。但实际上,厂房上部建筑中许多构件如牛腿柱,吊车梁等,都是标准化的构件,且构件位置也较为固定,有条件实现参数化设计。

由于Revit软件在泵站厂房领域却没有系统性、通用性的解决方案,为提高构建泵站厂房模型的效率,本文针对传统二维设计中存在的各种缺陷和Revit软件自身的局限性,提出了一套泵站厂房上部建筑的通用性BIM解决方案,在Revit原有功能的基础上,通过二次开发设计了一套能通过窗口直观输入参数,实现智能创建模型的程序。

1厂房上部建筑参数化解决方案

1.1参数化解决方案思路

按照Revit的一般操作步骤,创建一个泵站厂房需要首先根据二维图纸确定纵横轴网,然后再根据设计要求,确定标高,分别创建梁、板、柱、墙等相应构件,对于项目模板中没有的族,只能逐个绘制。故运用BIM技术,在Revit平台基本功能的基础上,提出Revit平台下的泵站厂房设计建模解决方案,进行二次开发,实现厂房上部建筑参数化构建具有较大的实用与经济价值。

为总结出一套符合规范要求的通用性解决方案:①首先,开发的软件要满足通用性需求,要了解泵站厂房的相关知识,对厂房建筑中的各种构件进行分类,通过划分厂房的组成部分,将厂房分为主、副、附属建筑等标准模块和其它构件;②其次,了解设计人员在水工建筑设计过程中的思维和习惯,梳理出设计创建泵站厂房的一般流程;③然后,对于研究所需的BIM基础理论进行梳理,研究Revit二次开发技术,通过Revit API对模型进行控制;④最后,研究UI界面开发技术,针对Revit平台上交互式设计流程及操作特点,通过搭建窗体对话框形式的插件系统,实现运行过程中的数据传递,开发泵站厂房交互式三维设计程序的专用界面。通过该解决方案,可在Revit界面中按工程需求对模型进行创建、组装,实行三维可视化操作,设计和创建泵站厂房上部建筑模型。通过三维实体模型、实时显示技术来保证BIM辅助设计的友好性和纠错性,保证泵站厂房设计的准确和高效。

由于各种厂房上部建筑虽然有一定的建设规范,但厂房布置的形式多样,难以用一种模板输出各种形式的厂房。于是,本文提出的泵站厂房解决方案,采用了划分厂房结构,多次组合输出的方式:根据需求选择创建的构件种类(包括牛腿柱、吊车梁等),然后将厂房上部建筑划分为多个标准模块,针对每个标准模块运行一次创建命令,分步输出模型,再通过多次输出的模型,组合成一个完整的厂房。

每一组标准模块是以一个基点作为模块参照点,所创建的外墙、梁、板、柱、房顶等一组构件的组合,如以主厂房、副厂房、附属结构来划分标准模块。每个标准化模块,可以通过运行“厂房布置”命令进行一次性创建,每次创建都会输出一组标准模块结构。模块的划分不一定有统一的标准,基本原则是墙梁板柱能以同一个基点组合,方便创建为要。

创建一个完整的泵站厂房步骤如下:①划分厂房结构;②创建所需构件;③运行命令创建主厂房的主体结构;④运行命令创建副厂房的主体结构;⑤为主厂房墙板等结构创建洞口,方便与副厂房的连接;⑥创建附属厂房结构;⑦再在主副厂房墙板等结构上创建洞口,方便与附属结构的连接;⑧最后完善模型细节。

流程如图1所示。

图1创建泵站厂房的流程图

1.2Revit二次开发介绍

为实现参数化泵站厂房的创建过程,本文运用了Revit二次开发技术,充分发挥了其可扩展性。Revit 具有完整的应用程序编程接口(Application Program Interface 以下简称“API”),可用 Visual Basic. NET、C#以及C++/ CLI等任何与.NET兼容的编程语言进行编程。本文通过Revit API对模型对象进行访问、编辑和创建。RevitAPI.dll包含了在数据库层控制Revit的应用、文档、对象和参数的方法,而RevitAPIUI.dll包含了Revit在操作和用户界面层的所有的自定义API接口[6]。

Revit提供两种方式来扩展其功能:一种方式是创建一个外部命令(IExternal Command),这种方式由用户点击添加的命令按钮来启动二次开发生成的相应命令;另一种方式是加一个外部应用(IExternal Application),即添加菜单或工具条[7]。

经过对Revit API提供的创建和访问方法的研究,本文实现了对项目文件和对族文件的访问和修改,使用了外部应用调用外部命令的方式实现了厂房创建程序的二次开发。

1.3界面开发

本文使用外部应用完成厂房参数化建模的人机界面交互功能。主要通过外部应用重载OnStartup()和OnShutdown()两个方法,创建工具栏Ribbon Tab、面板Ribbon Panel和按钮Button。

菜单栏中创建了一个名为“厂房创建”的Ribbon Tab,分别下设三个Ribbon Panel:参数族创建、厂房布置、洞口创建。“参数族创建”Panel下分别有创建牛腿柱和吊车梁命令的PushButton。

每个命令打开后,即会跳出与命令对应的交互窗口,按照提示完成对应参数的输入,即可创建厂房模型。

1.4厂房上部建筑参数化程序

厂房上部建筑参数化程序主要分为三个模块:参数族创建、厂房布置、洞口创建。

1.4.1参数族创建

厂房上部建筑构件分为系统族构件,如墙、板、柱等,和标准族构件,如创建的牛腿柱、吊车梁等。系统族继承自项目模板,无法单独保存,而标准族可单独保存为rfa格式的族文件。对于系统族,程序采取直接调用API,将其实例化的方法,对于牛腿柱、吊车梁等结构,先通过程序进行参数化创建,再与系统族一同实例化,整体输出。

参数族创建模块主要包含泵站厂房中各种非系统族构件的创建命令,如牛腿柱、吊车梁。

牛腿柱的形态创建是根据窗口输入的控制参数。命令以公制柱作为创建样板,根据输入的控制参数,并充分考虑到参数变化可能对模型产生的影响,创建牛腿柱族,最后为创建的牛腿柱添加材质参数。

吊车梁等构件的创建同理。

对于普通的梁和柱,如果需要新建族,可先利用Revit创建系统族,由于创建系统族的过程较为简单,且可完全实现参数化,所以程序直接利用了Revit的基本功能,未进行二次开发。

1.4.2厂房布置

厂房布置是创建程序的核心步骤。具备所有设计所需构件之后,就需要按要求,对构件进行布置和拼装,组织墙、梁、板、柱的位置,将对应族在对应坐标实例化,组合成泵站厂房模型上部建筑,实现通过参数化窗口界面,对模型的操作。

厂房布置的命令窗口主要由墙、牛腿柱、吊车梁、柱、梁、板和屋顶五个选项卡组成。每个选项卡中都有控制各种构件数量、位置和构件属性的参数。

先在“墙”要素的选项卡中设置基点,这是整个模块的参照点,其余墙、梁、板、柱的布置都会基于这个基点坐标。

对于每一个选项卡的要素,均可通过窗口中的选择和输入命令确定其种类、数量和坐标。

1.4.3洞口创建

厂房的每个部分建好之后,需要打通与下一个部分的通道,所以启用洞口创建命令。

洞口创建命令启动时,需要先在界面选择开洞元素,然后按窗口提示,根据洞口的位置输入洞口控制参数。Revit中虽然已有创建洞口的命令,但经二次开发的程序可以做到完全用坐标控制开洞。

经二次开发后,可做到仅通过输入参数就输出厂房模型,简化了绘制图形的步骤,提高了三维建模的效率和准确性。由于程序可以多次运行,不仅可以组合成用多种形式的厂房,还可为厂房添加各种附属结构,大大提高了程序的通用性。

2项目应用

针对上述研究成果,本文以实际工程项目来测试其有效性。以文头岭泵站的厂房为例,下面详细演示其创建步骤。

第一步,划分厂房结构。将整体厂房上部建筑划分为五个标准模块:中间的主厂房、两侧副厂房、前后的监控室、办公室等附属厂房,以及其他细节。

第二步,创建所需构件。首先根据设计要求在窗口中添加属性和参数,建出牛腿柱族,如图2,并在面板中选择吊车梁命令,建出符合需求的吊车梁,以及所需的普通梁和普通柱。

图2建好的牛腿柱族

第三步,创建主厂房主体结构。选择“厂房布置”命令,在窗口中添加厂房参数,然后布置牛腿柱族,再选择矩形柱、板、梁,以及房顶的属性和参数,即可输出主厂房上部主体建筑,完成的主厂房如图3。

图3主厂房主体结构

第四步,创建副厂房主体结构。先创建其中一侧副厂房,然后再次运行“厂房布置”命令,用同样的方法去完成另一侧。建好左右副厂房后,为左右侧墙创建洞口,以便主、副厂房连接。连接之后,再次调用命令,创建吊车梁,以及贯穿厂房的普通梁,如图4。

图4主、副厂房主体结构

第五步,创建附属厂房结构。同样是根据程序输入要素,但由于附属建筑的框架梁系统较为复杂,不适合批量创建,可留到最后补充,最后对需要留出楼梯的楼层板和底板创建洞口。附属建筑完成后,在主厂房的上下游幕墙上开洞,以便与附属厂房连接,如图5。

图5完整的厂房主体结构

第六步,完善细节。对一些不适合用程序创建的特殊梁板等进行补充,创建门、窗、楼梯等附属结构和下部大体积混凝土,如图10。由于Revit中这部分功能很完善,就未对此内容进行二次开发。在完善细节的过程中,对于一些可以批量创建的附属结构,也可以利用程序中的部分命令,达到快速创建的效果。最后,添加厂房的下部结构以及周边的环境设施,完善细部结构后的厂房模型如图6。

图6完善细节后的泵站厂房

除文头岭泵站厂房外,本文还运用该参数化解决方案对文头岭泵站的启闭机室进行了测试,最终效果如图7。

图7完善细节后的启闭机室

实际测试的结果非常理想,程序最终能实现在较短的时间内参数化创建符合工程要求的泵站厂房BIM模型。且相对于手工绘制的BIM模型,通过参数和坐标创建的模型具有更高的准确性,更完善的构件体系,方便管理,大大减少了后期的增删修改工作,提高了设计人员和施工人员的工作效率。

3结语

本文的研究内容致力于解决泵站厂房BIM模型设计和创建过程中存在的各种问题,提出的解决方案成功实现了参数化、自动化创建泵站厂房上部建筑模型,可以方便高效地实现泵站厂房BIM模型输出。

通过二次开发实现复杂形体的创建过程是对Revit快速建模、智能创建的探索,将来可以进一步进行包括楼梯、下部结构等BIM模型的创建开发,研究泵站厂房的智能设计方法,形成一套完整、细致的参数化解决方案。

猜你喜欢

牛腿二次开发命令
只听主人的命令
底部约束变化对搁置状态下整体爬升式钢平台安全性能的影响分析
浅谈基于Revit平台的二次开发
浅谈Mastercam后处理器的二次开发
对于牛腿搭接结构连续梁桥病害的整治技术研究
移防命令下达后
斜拉桥钢锚梁钢牛腿锚固构造的设计与分析
西门子Easy Screen对倒棱机床界面二次开发
钢筋混凝土牛腿承载力研究进展
这是人民的命令