基于BIM软件的支吊架建模二次开发

2021-08-27 05:50中冶南方工程技术有限公司彭起张燎原
中国勘察设计 2021年8期
关键词:详图吊架脚本

■ 中冶南方工程技术有限公司 彭起 张燎原

当前,大多数工程设计公司进行数字化转型的重中之重是要尽可能增加BIM软件使用率,不断提高BIM软件的应用水平,从而达到普及正向设计的目的。这就需要通过切合业务实际需求的二次开发,迅速解决设计人员在使用BIM软件设计过程中的痛点,提升效率。

目前,各种BIM软件都有各自的支吊架模型库,但在某些方面,如管道支吊架的辅助设计等涉及较少[1]。由于支吊架在实际工程设计中样式繁多,各公司都有自己特色的支吊架样式习惯,在进行BIM设计过程中还需要设计人员自行补充设计支架设计。此外,部分BIM软件无法生成支吊架施工详图,在一定程度上降低了设计效率。本文研究了一种利用C#语言进行BIM软件参数化支吊架建模二次开发的方法,详细描述了二次开发的产品设计思路、需求内容、编程思路及具体方法等,以期为基于BIM软件进行标准化、系列化支吊架的二次开发提供借鉴。

二次开发路线

二次开发需求分析

建模需求分析

利用二次开发进行参数化建模,支架符合《管道支吊架第1部分:技术规范》(GB/T 17116.1-1997),二维图如图1所示。

图1 支架二维图

对支架模型建模的需求主要包括以下几个方面:一是支吊架模型必须与软件自带模型的类别属性一致,可以从软件支吊架库中直接调用;二是支架吊架插入模型后,可以自动捕捉到管道中心线,且沿轴向垂直布置;三是支架模型中,立柱、加强筋等使用到的型钢型号可以从下拉菜单中进行选择;四是立柱高度、立柱间距(宽度)、底板长度等参数由设计人输入,根据输入参数生成相应的模型;五是管托可自适应管道外径;六是根据支架立柱高度的不同,自动设置加强筋的数量。

模型出图需求分析

利用二次开发实现支架模型的自动出详图。详图要求符合相关设计标准,使用设计人提供的图框模版,标注齐全,尺寸参数与模型一致,自动统计并生成材料表及文字说明。

二次开发实施方案

支吊架参数化建模方案

为了满足某项目的实际需求,本文选择基于Plant3D进行二次开发。Plant3D是欧特克公司基于AutoCAD开发的工厂三维系统设计软件,该模型以DWG文件格式进行存储,能与AutoCAD实现无缝对接,可以兼容所有CAD命令,并且可以随时切换到CAD工作空间进行操作。

Plant3D软件本身提供了两种方式进行自定义支吊架建模:第一种方式是基于AutoCAD DWG块的方式,这种方式无法做到参数化驱动支吊架外形尺寸,对于同一种类型的支吊架,每一种不同尺寸的外形都需要绘制相应尺寸的DWG块,无法满足参数化建模的需求。

第二种方式是Plant3D支持通过编写Python脚本的方式创建参数化的支吊架模型,脚本通过调用特定组件的尺寸作为输入,并创建出对应形状的实体块作为输出。软件本身提供了大量不同的基础组件的脚本,可以涵盖管道、弯头、法兰、三通、喷嘴、不同类型的阀门等工厂设计中几乎所有常用的类型。利用这些基础组件的脚本,可以根据自身功能的需求定制开发不同的、可以满足在实际项目中更多细节上需求的脚本。通过这种方式自定义支吊架,不仅可以使用参数驱动改变支吊架模型的外形尺寸,还可以定义拉伸点,使用拉伸的方式改变支吊架模型的外形。更重要的是,通过不断更新完善自定义支吊架的脚本,可以积累形成数字资产。

出图方案

在Plant3D软件中创建的支吊架模型,无论是软件自带的支吊架还是自定义的支吊架,在模型中的输出都是实体块,并不包含每个构件的基本信息,如型钢、钢板、螺栓等类型属性信息,更不存在材质、重量等属性信息,无法直接被详图引用作为材料表信息。因此,直接由模型生成二维详图并自动标注的方式比较困难。

基于Python创建的参数化的支吊架模型,可以通过Plant3D提供的API获取尺寸参数,再通过二次开发的方式来定义并添加构件信息,并将构件信息写入支吊架模型的对象扩展词典中。考虑到支吊架构件的数量、长度和规格都可能随着支吊架的尺寸发生改变,需要一种动态的、可配置的方法来生成支吊架详图。

基于上述考虑,本文提出了一种使用详图模版文件与模型可变参数相链接的方法生成支吊架详图及材料表的方案:使用Python开发支吊架参数化建模脚本,首先确定支吊架尺寸参数约束,然后利用Plant3D提供的基础组件脚本,通过布尔运算组合定制需要的支吊架外形;使用C#开发支吊架出图插件,插件的主要功能包括:自定义支吊架的构件信息、根据支吊架尺寸参数自定义参数、自定义模版文件链接以及自动计算并生成材料表。

二次开发实施过程

产品需求提资

产品工艺专业应尽可能地明确开发要求,此次开发提资包括以下4部分内容:

一是要求支架可以由设计人输入的参数自动建模,在模型中右键点击支架,要求出现支架详图生成选项,并可自动生成支架详图,输入参数及详图模版如图2所示;

图2 支架可输入参数及详图模版

二是支架能够自动捕捉管道中心线并按照与坐标轴一致的方向(正交)插入;

三是支架的型钢内置10、12.6、14a、16a、18a、20a几种槽钢供选择;

四是支架材料表格式和位置与模版一致,其中,材料表中的一些参数同样要求与自定义参数相链接(同上面一条),具体需要链接参数见表1中标单下划线部分,需自动计算的参数见“{}”内部分。

表1 支架材料表及参数链接内容

二次开发实施步骤

参数化支吊架开发流程

参数化支吊架的开发流程如图3所示。在等级库的共享空间中新建CustomScript文件夹;在CustomScript文件夹下创建Python 脚本文件;在脚本中声明元数据信息,元数据包括脚本的提示信息、脚本参数的提示信息、脚本和其参数的组信息;.为自定义脚本创建主要函数,注意主函数的名称必须与文件名一致;打开Plant3D,在命令窗口使用PLANTREGISTERCUSTOMSCRIPTS命令注册这个新脚本。

图3 参数化支吊架开发流程

脚本注册成功后,会生成保存脚本信息和元数据信息的文件,在Support元件库中可以看到自定义的支吊架脚本已经添加成功。元件库创建后,在模型中插入自定义的支吊架,如图4所示,支吊架能自动捕捉到管道中心线,且沿轴向正交布置,在支吊架特性中可以查看尺寸参数,通过改变参数修改支吊架外形尺寸。

图4 参数化支吊架

自动出图插件开发流程与功能

由于Plant3D软件中创建的支吊架模型都是实体块,不包含支吊架构件的信息,因此支吊架出图插件首先要满足能够定义并添加构件信息。构件的部分信息是可变的,如槽钢规格、钢板规格、加强筋数量、型钢及钢板单重等,插件必须能够实现这些信息的动态变化,并能自动重新生成施工详图和材料表。为此,我们提出了一种使用详图模版文件与模型可变参数相链接的方法,来实现自动生成支吊架施工详图。

为了能够满足多种不同形式的支吊架自动生成详图和材料表,将同一种类型的支吊架构件的相同信息提取出来,保存在SQLite数据库中。同时,支持通过支吊架的尺寸参数组合成自定义参数,这些参数用来表示构件中可变的信息,实现动态变化。自定义的参数列表同样保存在SQLite数据库中,配置一次后不需要经常修改,设计人员可以直接使用。支吊架自动生成施工图插件功能模块划分及实现方式如下:

自定义参数功能模块。由于支吊架构件的规格、长度以及数量通常需要根据支吊架的尺寸参数计算得出,不同类型的支吊架计算方式往往不同,为了能够使用多种不同类型的支吊架,开发了自定义参数功能模块。首先,通过Plant3D提供的API读取支吊架的PartSizeProperties,其中包含了支吊架的尺寸参数。设计人员可以自定义参数,将自定义的参数保存在SQLite数据库中,在生成施工详图时会自动计算这些自定义的参数。当支吊架的参数发生修改时,可以实现动态变化。自定义参数功能模块界面如图5所示。

图5 自定义参数功能

自定义构建信息功能模块。Plant3D中支吊架模型不包含支吊架构件的信息,为了解决这一问题,在支吊架自动出图插件中提供了自定义构件信息的功能。基于WinForm开发可视化的配置界面,同时集成了热轧型钢GB/T706—2016标准,当选择构件的类型后,可以自动读取数据库中的热轧型钢标准,包括外形参数、规格及单重等信息。配置完成后,所有构件的信息将存储在SQLite数据库中,使用支吊架时自动读取默认配置信息,对于可修改的构件信息,如槽钢的规格,设计人员在建模时根据实际情况来选择。这些信息需要保存在模型中,Palnt3D完全支持AutoCAD的API接口,因此将可修改的构件信息保存在模型的对象扩展词典(ExtensionDictionary)中。自定义构件信息功能如图6所示。

图6 自定义构件信息功能模块

材料表自动计算功能模块。构件信息自定义完成后,其中包含自定义的可变参数,在生成材料表时,需要先计算这些可变参数:通过Plant3D的API读取支吊架的尺寸参数值,使用当前实际值替换表达式中的参数,生成字符串公式,然后使用DataTable的Compute方法计算公式得到结果,最终计算出构件的长度、数量、单重、总重等,并统计生成材料表。材料表参数计算功能如图7所示。

图7 材料表参数计算

自动生成施工详图功能模块。在详图模版中,将支吊架的尺寸标准以及材料表都定义成了带属性的块,生成详图之前,首先通过Plant3D的API读取当前支吊架的尺寸参数,计算并生成材料表,然后根据配置信息动态链接至指定的DWG模版文件,通过AutoCAD的API(Plant3D完全兼容)将尺寸参数及材料表写入对象的块中,保存后即自动生成了当前支吊架的施工详图。当支吊架的参数修改后,再次生成详图会自动更新尺寸标注及材料表。详图与模版图完全一致。

总结

大多数BIM软件都不是针对某一个行业或某一个专业的,需要大量的二次开发才能使其更符合设计人员的设计习惯,提升设计效率。本文提出了一种使用详图模版文件与模型可变参数相链接的方法,生成支吊架详图及材料表。首先基于Python开发参数化支吊架脚本,将其作为公司的数字资产,然后基于C#对Plant3D软件进行二次开发,开发插件实现了自动生成支吊架施工详图及材料表,能够支持各种不同形式的支吊架,有一定的推广应用价值。在对BIM软件进行二次开发时,要求产品工艺人员(设计人)必须将产品需求尽可能详细地描述清楚,在此基础上编程人员才能更好地掌握设计意图。

猜你喜欢
详图吊架脚本
酒驾
装配式支吊架在汽车产业集聚区的应用
安奇奇与小cool 龙(第二回)
建筑钢结构详图设计与管理的思考
化工管道支吊架设计论述
石油化工管道支吊架的布置及选用
三维详图设计软件Tekla Structures二次开发实例
论钢结构详图体系构成
浅谈建筑钢结构详图深化设计与管理方法
快乐假期