基于Revit的农田渠道三维智能化建模及配筋方法

2023-12-01 06:30姜国辉唐守艺马天骁杨北北黄雪松刘艳华
沈阳农业大学学报 2023年5期
关键词:实体模型矩形农田

姜国辉,唐守艺,马天骁,张 延,杨北北,黄雪松,刘艳华

(1.沈阳农业大学水利学院,沈阳 110161;2.沈阳市文林水土工程设计有限公司,沈阳 110167;3.辽宁合悦土木工程有限公司,沈阳 110514)

渠道是水利基础设施的组成部分,在水利水电行业发挥着调水与输配水的重要作用,同时渠道规划与设计是关系国计民生的大事。在传统的农田渠道工程设计时存在设计意图表达不直观、设计变更繁复、计算工作量大、易出错等问题[1]。参数化建模及三维配筋符合建筑信息模型(building information modeling,BIM)正向设计理念,提高建模效率、可视化程度高,并且三维实体模型可根据修改参数动态调整模型,避免重复操作[2]。因此,提出农田渠道智能化建模及三维智能化配筋方法具有重要的现实意义。于皓等[3]基于VisualStudio2019 平台,对Revit 软件二次开发,拓展农田渠道辅助设计功能,开发农田渠道的水利计算、冻深计算及抗冻胀措施模块,实现高效率的计算,同时导出明细表,为工程造价提供数据支撑。娄运达等[4]实现倒虹吸管的快速创建,并运用BIM 技术对倒虹吸钢管吊装的精度进行控制。HEATON 等[5]对BIM 模型中的对象分类结构化方法支持直接从BIM 模型进行有效的数据交换。SINGH 等[6]提出将工程相关专业性知识与BIM 技术相结合,提高工程建设效率。LIU 等[7]通过BIM+区块链智能合约交易的概念架构进行验证和完善,以实现建筑项目管理中的可持续建筑设计框架。牛立军等[8]实现了渗流计算分析全过程可视化交互式操作,为水闸防渗设计提供了两种方案。综上所述,BIM 技术已在水利工程中逐步应用,但Revit软件中缺少水利设计与管理板块,导致BIM 技术在水利工程中应用较慢。为提高农田渠道精细化及智能化建设及解决农田渠道三维建模及配筋过程繁琐等问题,本文以农田渠道为研究对象,提取不同断面型式的农田渠道设计参数,基于Revit二次开发提出农田渠道智能化建模及配筋方法,实现农田渠道一键智能生成实体模型及三维一键智能配筋功能,提高农田渠道的建模效率与配筋模型的精度,优化BIM技术农田灌溉渠道工程设计,为农田渠道工程智慧化建设及农村水利水电在Revit软件中的一体化设计提供新的解决方法。

1 智能化平台实现方法建立

基于BIM 正向设计理念,搭建Revit 二次开发环境,采用模型、视图、视图模型(model-view-view model,MVVM)设计开发架构模式,基于Visual Studio2019 平台(VS2019),利用C#语言,连接SQL server 数据库,编写建模及配筋函数方法,建立农田渠道智能化建模及配筋方法。

1.1 MVVM开发架构模式

MVVM架构模式由微软的WPF和Silverlight的架构师JOHN GOSSMAN提出,该模式有利于业务逻辑、显示逻辑和用户界面的分离,具有低耦合、可重用性高、分层开发、方便维护等优势[8]。

1.2 数据库连接

本研究的参数数据信息均保存在SQL Server 数据库中。首先在SQL Server 的本地数据库创建项目所需要的表格。其次创建的数据表格中设置列参数名称,并选择数据类型。最后在Visual Studio 2019 中编写程序连接数据库,采用数据库连接方法即SqlConnection()函数方法与数据库交互,实现从数据库中导入到主界面中及结果参数数据信息导入数据库进行保存,避免在传统设计时存在的数据丢失问题[9]。

1.3 开发流程

本研究基于VS2019平台,采用C#语言,创建窗体呈现基础(windows presentation foundation,WPF)项目文件,连接数据库,通过Revit API 接口对不同断面型式的农田渠道模型的模型进行智能化建模、智能化配筋等功能进行拓展。具体流程为:(1)在VS2019 平台创建MVVM 各模块类库项目及用户控件,并将分类整合到对应模块文件夹中。(2)在项目中添加引用RevitAPI.dll、RevitAPIUI.dll等。在程序顶部添加命名空间(如Autodesk.Revit.UI,Autodesk.Revit.DB 等),并实现接口。(3)建立Transaction 属性,并开启事务,构建好Revit 二次开发环境,智能化建模和智能化配筋模块在此开发环境进行程序开发[10]。(4)通过外部命令和外部应用生成各个插件以此扩展Revit中农田渠道智能化建模和智能化配筋等功能。(5)注册插件,用户可自主点选按钮实现其扩展功能。

2 程序开发

基于Revit 二次开发的农田渠道智能化建模及配筋方法设计流程如图1,共分为数据处理模块、智能化建模模块、智能化配筋模块及模块整合4个部分。

图1 农田渠道智能化建模及配筋方法设计流程图Figure 1 Farmland channel intelligent modeling and reinforcement method design flow chart

2.1 数据处理

创建MVVM 架构模式中的各个图层文件,基于.NET Framework 4.7.2框架,在View视图层创建WPF人机交互界面,构建资源字典样板文件类,包括单选按钮、主窗体背景、触发器等模板,方便在后续程序设计时引用。在WPF 人机交互界面窗体设计时,创建Border 控件装饰界面,设置阴影、背景颜色等,使整个主界面美观、整洁。同时创建Grid 容器控件,对Grid 容器进行分割,避免图片、文字、按钮及展示部分冗杂引发的在程序运行时出现遮挡问题[11]。在Model 层创建用于储存参数数据的类库文件,并使用SqlConnection()函数方法连接数据库,实现参数信息的传递。在ViewModel 层创建业务处理类库文件,在类库中搭建Revit二次开发环境,编写函数代码实现模块功能,将类库文件引用在View 层界面中,实现前端与后端的数据绑定。同时创建实例化窗口类文件,使插件能通过外部命令的方式在Revit中运行,采用RevitAPI提供的函数方法进行开发。

2.2 农田渠道智能化建模模块程序开发(以矩形断面型式渠道为例)

目前Revit软件主要适用于建筑行业,设计师在创建建筑模型时,可直接使用软件中的系统族文件。例如,墙、楼板及柱等族类型。而在水利工程项目中,没有对应的水工建筑物系统族库,因此需要通过Revit软件中新建公制常规模型的方式自建水利工程项目中的水工建筑物族库。灌溉渠道的断面形式有梯形、矩形、U 形、复合形等多种型式[12],可通过新建族的方式创建灌溉渠道模型,许多学者创建了渠系建筑物族库,供设计人员对渠系建筑物设计时直接调用与参考。但灌溉渠道模型的断面形式较多且断面形式复杂,在设计阶段存在一定的局限性,因此,本研究对Revit 进行二次开发,调用RevitAPI,采用C#语言编写程序,实现矩形、梯形及U 形断面型式的渠道的智能化建模,并生成族类型,使灌溉渠道模型具有普遍性,插件满足实际工程项目的需求。

2.2.1 主程序设计 田渠道参数化建模模块的界面分为模型展示与参数输入两部分,模型展示部分提供生成渠道实体模型的展示图,供设计人员进行参考。参数输入的方式有用户自定义输入与根据已有参数信息文件进行一键导入数据两种方式。除农田渠道的断面参数以外,还需对农田渠道的材质和下设层的材质及厚度进行选择。

运用Revit 软件创建公制常规模型创建几何图元的方式有拉伸、融合、旋转、放样和放样融合。矩形、梯形及U形渠道模型主要运用拉伸方式,再结合编辑方法中的镜像方法。首先,需要对3种不同断面型式的渠道模型参数信息进行处理,在数据库中创建模型参数表,供模型参数信息的导入与导出,在主程序中获取由窗体属性传递的用户输入数据及数据库直接导入的数据。其次,根据开发环境,引用Revit API,搭建Revit二次开发框架,引用命名空间,实现信息访问功能的二次开发及更加便捷地调取相关命名空间,并连接外部事件接口。其次,Revit软件中拉伸实体方法,需要在二维平面中绘制闭合的模型构件轮廓线,其中矩形及梯形渠道运用创建直线轮廓线函数方法(Line.CreateBound)创建轮廓线,U形渠道运用创建曲线轮廓线函数方法(Arc.Create)创建轮廓线。再设置具体方向的拉伸高度,完成模型的拉伸。创建拉伸函数的方法为:ExtrusionNewExtrusion(bool is-Solid,CurveArrArray profile,SketchPlane sketchPlane,double end)。该方法是根据模型的二维轮廓来创建模型主体,第2个参数是二维轮廓为闭合的曲线集合,第3个参数是创建模型的工作平面,与拉伸方向相同,本研究矩形渠道自动化建模选择的是XOY 平面,梯形及U 形渠道自动化建模选择的是XOZ 平面,第4 个参数是模型主体拉伸的长度。本研究将3 种渠道模型实体的二维平面图拆分成多个闭合曲线进行拉伸,使生成的渠道实体模型可根据输入的参数而动态调整,解决目前Revit中因缺少完整的农田渠道族库及一些渠道族只能进行放缩操作而影响Revit在灌溉渠道工程设计中不具有适用性等问题。在通过JoinGeometryUtils 接口中从几何上连接几何函数方法(JoinGeometry),连接拉伸完成的各单元实体,形成完整的渠道实体模型,设计人员可根据实际需求输入渠道参数一键生成模型。最后,通过生成新类库名称函数方法(doc.FamilyManager.NewType)命名生成的族类型名称,以便工程师在族库中查找族文件,将各参数保存至数据库中,供农田渠道工程的全生命周期的调用,梯形及U形断面型式的农田渠道智能化建模在程序设计时,运用矩形断面型式农田渠道的智能化建模模块方法,更改方法参数即可完成梯形及U形断面型式的智能化建模模块程序开发。

2.3 农田渠道智能化配筋模块程序开发(以矩形断面型式渠道为例)

在传统结构配筋中农田渠道的配筋信息与结构平面布置图始终是分离的,没有关联性,从而引起模型、配筋图、实际配筋不对应问题[12]。为实现农田渠道配筋在Revit 中的一体化设计,解决在传统结构配筋中钢筋工程建模难度大,钢筋结构复杂及配筋信息在统计工程量阶段无法直接采用等问题[13],本研究对农田渠道的实体模型进行三维配筋模块开发,拓展Revit软件对农田渠道实体模型的三维智能化配筋功能。

2.3.1 主程序设计 智能化配筋模块的界面设计主要分为基本参数与钢筋参数两部分,基本参数部分包括矩形渠道的基本参数、渠道族名称、矩形渠道的混凝土强度等级和默认保护层厚度,基本参数模块通过连接数据库中基本参数数据表,实现矩形渠道模型参数的一键导入。钢筋参数部分包括受力钢筋参数选择和分布钢筋参数的选择,其中矩形渠道的受力钢筋位于底板和边墙中,设置钢筋种类(6 HPB300~20 HRB500),钢筋形状、根数、列数及间距信息,分布钢筋的钢筋形状在小型渠道中为连续型U型钢筋,在不同体量的渠道根据实际工程而选择钢筋种类,本系统的钢筋形状可通过点击按钮查看钢筋形状类型图进行比对选取,从而制定更加经济合理的配筋方案。

农田渠道的一键配筋板块从农田渠道的结构计算出发,结合数据库进行模型数据导入,运用Revit API 提供的绘制钢筋方法,实现对农田渠道三维实体的快速配筋,最后创建图纸样板族库,达到三维建模,二维出图的目的[14]。Revit API 中提供了两种绘制钢筋的方法,一种是通过给定几何形状创建钢筋函数方法即Create-FromCurvesAndShape 函数方法,该方法是根据已有的钢筋几何形状及钢筋种类,选择宿主元素,通过约束方法将钢筋配置到宿主元素中,但需要将钢筋放置于BoundingBox 包装盒中,在农田渠道配筋时具有局限性,故本研究选择第二种绘制钢筋的方法,通过创建模型曲线的方式创建钢筋,即CreateFromCurves 方法:Rebarrebar=Rebar.CreateFromCurves(document,Autodesk.Revit.DB.Structure.RebarStyle.Standard,barType,hookType,hookType,column,origin,curves,RebarHookOrientation.Right,RebarHookOrientation.Left,true,true)。

首先,通过Selection类中的PickObject函数方法,选取实体模型,使Revit模型数据传递到插件中,其次设置钢筋种类参数,因用户需要选择钢筋种类与钢筋形状,将Commbox 下拉框中的钢筋种类属性通过SelectedItem函数方法导入到业务处理层中,再将用户选择的钢筋属性通过RebarBarType 类中过滤器函数(FilteredElement-Collector)过滤出与用户选择对应名字属性的钢筋种类,完成钢筋种类的选择设置。再创建钢筋路径的模型线,底板及边墙的受力钢筋为直线,根据配筋计算以及保护层厚度等相关参数,设置坐标点使用Line.Create函数方法绘制钢筋模型线。最后,将设置好的各参数写入CreateFromCurves 函数方法完成单根绘制钢筋,再通过钢筋阵列的方法绘制全部钢筋,钢筋阵列的方法共有5种,本研究选择SetLayoutAsFixedNumber 函数方法,可设置钢筋的根数及间距,实现一键配筋,梯形及U 形断面型式的农田渠道智能化配筋在程序设计时,运用矩形断面型式农田渠道的智能化配筋模块方法,更改方法参数即可完成梯形及U形断面型式的智能化配筋模块程序开发。

2.4 模块整合

通过外部命令方式加载程序过于繁琐,且没有直观的按钮,故本研究通过外部应用方式整合3种断面农田渠道参数化建模模块和配筋模块,形成“农田渠道设计平台”插件。在项目文件中创建Ribbon 选项卡类库文件,引用外部应用IExternalApplications,并实现接口,通过外部应用中重载OnStartup和OnShutdown函数,在Revit 启动和关闭时定制功能,实现在启动Revit 软件时,插件自动载入至Revit 软件的选项卡中,简化插件的加载流程[15]。农田渠道设计平台插件在Revit选项卡中显示如图2。

图2 农田渠道设计平台插件在Revit选项卡中显示图Figure 2 The farmland Channel design platform plug-in is shown in the Revit TAB

3 应用实例

3.1 农田渠道智能化建模

本研究以某灌区某支渠工程为例,其中第一支渠工程采用钢筋混凝土矩形槽防渗衬砌,渠底宽1.2 m,两侧边墙顶宽0.12 m,墙高1.2 m,底板厚0.15 m,下设0.2 m 厚砂砾石垫层。输入钢筋混凝土矩形槽相关参数,选择C30混凝土强度等级,点击生成模型,实现矩形槽的三维实体模型创建,可通过参数调整,根据实际渠道工程中需求完成矩形槽的动态调整与创建。三维实体模型如图3。其中第2 支渠工程采用梯形防渗渠道,渠道底宽1.6 m,高1.2 m,内坡坡比1∶1.5,渠道防渗采用全断面现浇混凝土板衬砌,板厚0.12 m,下设0.03 m 厚固型砂浆及0.2 m 厚砂砾石垫层,输入梯形渠道相关参数,点击生成模型,实现梯形渠道的三维实体模型创建,三维实体模型如图4。

图3 混凝土矩形槽三维实体模型Figure 3 Concrete rectangular groove three-dimensional solid model

图4 混凝土梯形槽三维实体模型Figure 4 Concrete trapezoidal groove three-dimensional solid model

3.2 农田渠道智能化配筋

设计人员根据配筋计算结果,将各参数导入到数据库进行封存,打开自动化配筋界面,在基本参数部分通过导入数据方式将第1支渠的矩形渠道的各项参数导入至程序中,选择C30强度等级的混凝土,设置保护层厚度为25 mm。底板设置2列钢筋排布,7根10 mm的HRB400钢筋,钢筋间距设置200 mm。边墙设置2列钢筋排布,7根10 mm HRB400钢筋,钢筋间距设置200 mm,满足间距要求。分布钢筋选择8 mm HRB400钢筋,因分布钢筋形状不同,故用户可根据需求进行选择,设置对应根数及间距,点击智能配筋,选择钢筋混凝土矩形槽实体模型,完成钢筋的一键配置,生成的钢筋混凝土矩形槽实体模型如图5。将第2 支渠的梯形渠道各项参数导入至程序中,选择C30 强度等级的混凝土,设置保护层厚度为25 mm。底板设置1 列钢筋排布,9 根10 mm 的HRB400钢筋,钢筋间距设置200 mm。边坡设置1列钢筋排布,13根10 mm HRB400钢筋,钢筋间距设置200 mm,满足间距要求。分布钢筋选择8 mm HRB400钢筋,设置对应根数及间距,点击智能配筋,选择钢筋混凝土梯形渠道实体模型,完成钢筋的一键配置,钢筋混凝土梯形渠道实体模型如图6。

图5 钢筋混凝土矩形槽三维实体模型Figure 5 Reinforced concrete rectangular groove three-dimensional solid model

图6 钢筋混凝土矩形槽三维实体模型Figure 6 Reinforced concrete trapezoidal groove three-di‐mensional solid model

4 讨论与结论

BIM 技术在大型水利工程中逐渐应用,如糯扎渡水电站、溪洛渡水电站、两河口水电站、乌东德水电站、白鹤滩水电站等规模庞大、地形复杂、施工难度技术较大的水利工程项目[20],并取得良好的应用效果。但是在农田渠道工程中应用相对较少,缺少专业性、针对性的软件,且停留在对二维图纸的翻模阶段,不符合实际工程的设计流程。本研究开发了搭建农田渠道智能化建模及三维配筋方法的基本流程,从不同断面型式农田渠道设计出发,结合MVVM 设计开发架构模式,针对3 种断面型式的农田渠道,提出了农田渠道的参数化建模及智能化配筋方法,研究结果表明:(1)基于Revit二次开发设计实现不同断面型式农田渠道自动化建模功能。实现用户自定义创建不同断面型式的渠道三维实体模型,满足实际工程的需求,减少设计人员建模时间。(2)实现农田渠道三维模型中的自动化配置钢筋功能。较好地解决在传统配筋中模型与信息关联性不足的问题,解决人力投入,避免重复操作,提高配筋精度与设计效率。(3)整合建模和配筋扩展基础功能,形成农田渠道设计平台人机交互,并结合某灌区某工程实例进行应用,验证了本方法的可行性、实用性与高效性。

本研究提出的方法成功实现农田渠道的参数化、自动化、精细化建模及三维智能化配筋,提高了农田渠道工程的设计、生产效率,为农田渠道工程智慧化建设及农村水利水电在Revit 软件中的一体化设计提供新的解决方法。

猜你喜欢
实体模型矩形农田
达尔顿老伯的农田
两矩形上的全偏差
化归矩形证直角
从矩形内一点说起
农田创意秀
建筑设计中的实体模型
农田搞养殖需办哪些证
建筑设计中的实体模型
农田制作所
F8F-1B“熊猫”舰载战斗机实体模型工作图