王星宇, 王炬成, 袁飞晖, 赵 旭
(1.江苏科技大学 船舶与海洋工程学院,江苏 镇江 212100;2.上海外高桥造船有限公司,上海 200137;3.江苏现代造船技术有限公司,江苏 镇江 212003)
造船和海洋工程设计系统(AVEVA Marine,AM)是英国剑维公司(AVEVA)推出的三维设计软件,主要用于船舶设计领域,是国内船厂占有率较高的三维设计软件之一。AM的特点是Design模块元件信息与存储于Paragon元件库模块的数据库信息分别存储,并可实时共享,保证软件运行和数据的安全性[1]。AM功能十分强大,不仅可实现多专业用户协同设计,建立一个完整的数字化三维仿真模型,而且可利用其可编程宏语言(Programmable Macro Language,PML)接口和.NET接口进行软件二次开发[2]。
由于船舶建造的复杂性和多样性,因此各船厂均需要根据自身情况对软件进行二次开发。国内很多学者对此进行研究。马晓平等[3]和顾颖[4]针对舱室绝缘快速建模进行二次开发,取得良好成效。逯涛[5]基于AM开发报表、余料管理系统和自动化出图等功能,较好地解决实际生产中的问题。唐志广等[6]基于AM开发快速生成船体套料图程序,效率提升十分明显。由于在AM元件库创建过程中,针对各类复杂件建模的工作量较大,且容易出错、效率低下,因此采用C#对AM进行二次开发,寻求一种适用于快速生产元件库的简易化创建工具,提高生产设计效率。
AM元件库创建十分繁琐,对船舶各专业的元件库均具有不同的模块和创建内容,但创建步骤存在相似之处。具体过程如下:
(1)生成管理层次。创建包括Catalogue(项目库)、Section(元件类型)、Category(元件分类)在内的3个管理层次。
(2)确定参数。根据文件标准确定所需参数并输入其参数值。
(3)生成点集(或Pline集)。用于标注元件中的重要点位和参考点(或参考线)。
(4)生成型集。用于约束元件形状,创建简化模型和干涉空间等。
(5)生成数据集。记录元件的重要参数并对其进行描述。
(6)创建元件描述。可分别创建元件的TEXT(文本描述)、SDTE(细节描述)和SMTE(材料描述)。
(7)创建零件库。将元件分类并为元件的常规属性赋值。
(8)创建表库。可根据需求创建管径表(Size Range Table)、支管表(Branch Table)、异径表(Reducer Table)、壁厚表(Wall Thickness Table)和管道数据表(Pipe Data Table)等。
(9)创建质量文件。在Properties界面中创建CMPD(附件数据)、TUBD(管材数据)、CABD(电缆数据)等。
(10)创建SPCO(规格书)。
由上述步骤可知:AM建库工作十分复杂,涉及多个模块、多个界面和重复操作,使设计人员很容易误操作导致返工。
AM目前支持两种开发语言:AM提供的PML和.NET平台的开发语言C#。AM不仅为用户提供一系列较为全面的.NET API接口,覆盖软件的绝大部分功能,而且可直接将.NET的开发界面加载至AM窗口中,结合C#自身优势,可使.NET方法比PML方法具有更好的维护性和延展性[7]。推荐开发者使用C#进行二次开发。
船体元件库在Paragon模块的Steelwork子模块下创建,内容包括板厚、轮廓、参考点、简化模型和干涉空间等。船体元件库开发流程如下:根据CreatFirst创建元件的CATA(目录)和SPRF(本体),其关联信息为GMSS(几何数据)、PTSS(点轴数据)和DTSE(参数数据);利用SetAttribute确定元件所需参数并赋值;采用CreatFirst创建Pline集、型集和数据集,元件参考线存储于Pline集,元件模型轮廓、简化模型和干涉空间存储于型集;创建SPWL(规格书库),并将元件参数信息通过SetAttribute匹配链接至SPCO即可完成创建。
船体元件库快速创建界面如图1所示,其中,序号①~⑦为操作步骤。操作步骤如下:①点击CE按钮,选择创建元件的储存位置;②填写元件名称;③通过radioGroup控件选择元件类型,每种元件类型对应不同参数;④选择创建标准和元件种类;⑤根据类型选择或填写具体的元件参数;⑥创建匹配元件的SPCO;⑦点击创建按钮。
图1 船体元件库快速创建界面
通过上述步骤完成船体元件库创建。船体元件库结构树如图2所示。
图2 船体元件库结构树
轮机元件库在Paragon模块的Pipework子模块下创建,内容包括各类管材、管附件和阀件等。
轮机元件库开发流程如下:根据CreatFirst创建元件的CATA和SCOM(组件);利用SetAttribute确定元件所需参数并赋值;采用CreatFirst创建点集、型集和数据集,元件参考点存储于点集,元件模型轮廓、简化模型和干涉空间存储于型集,各种参数信息存储于数据集;创建SDTE和SMTE;创建TABWLD(表库)和PRTWLD(零件库);创建SPWL,并将元件参数信息匹配链接至SPCO即可完成创建。
轮机元件库快速创建界面如图3所示,其中,序号①~⑦为操作步骤。操作步骤与船体元件库快速创建相同。
图3 轮机元件库快速创建界面
通过上述步骤完成轮机元件库创建。轮机元件库结构树如图4所示。
图4 轮机元件库结构树
电气元件库在Paragon模块的Electrical子模块下创建,内容包括电缆、电缆托架、贯穿件和电缆节点等。电气元件库开发流程如下:根据CreatFirst创建元件的CATA和SCOM;确定元件所需参数并赋值,电缆需要创建电缆芯数和标称截面面积等,Purpose变量应赋值CORE(电缆托架为TRAY,电缆节点为REPR);采用CreatFirst创建点集、型集和数据集,元件参考点和电缆节点等存储于点集,电缆托架和贯穿件等模型轮廓存储于型集,各种参数信息存储于数据集;创建TEXT和PRTWLD;创建SPWL,并将元件参数信息匹配链接至SPCO即可完成创建。
电气元件库快速创建界面如图5所示,其中,序号①~⑦为操作步骤。操作步骤与船体元件库快速创建相同。
图5 电气元件库快速创建界面
通过上述步骤完成电气元件库创建。电气元件库结构树如图6所示。
图6 电气元件库结构树
针对板材、型材和管材等需要大规模创建的元件,可直接导入规定格式的外部文件.xls,通过识别各列关键参数和类型,实现批量快速创建元件库的功能。元件库批量创建界面如图7所示。操作步骤如下:①点击导入按钮,选择.xls文件;②点击创建按钮。
图7 元件库批量创建界面
以2艘风电安装船为例,使用AM元件库创建功能与元件库快速创建工具对所有被定义的船舶元件进行创建,并对建库效率进行对比。
建库效率对比如表1所示。所有定义的元件数量分别为18 828个和19 228个,其创建时间分别节省615.0 h和646.0 h,元件库快速创建工具效率明显优于AM元件库建库功能。
表1 建库效率对比
批量建库效率对比如表2所示。定义的元件数量分别为576个和692个,其创建时间分别节省19.5 h和24.1 h,元件库快速创建工具批量建库功能明显优于AM元件库建库功能,且时间基本用于创建表格。
表2 批量建库效率对比
元件库快速创建工具基于C#在AM中的开发程序,实现船舶元件库快速创建,改变繁琐复杂的传统建库模式。相对于AM元件库创建功能,基于二次开发的元件库快速创建工具功能性更强,可大量降低设计人力和时间的投入,提高设计工作效率和精细化设计水平,提升产品设计质量,缩短产品制造周期,提升市场成本竞争优势。