二维布置驱动三维建模技术研究

2020-03-05 02:53邹梦瑶严利民杨中源
船舶 2020年1期
关键词:数据源布置驱动

邹梦瑶 严利民 杨中源 林 蓁

(中国船舶及海洋工程设计研究院 上海200011)

引 言

传统的船舶设计手段主要以二维为主,即在AutoCAD 中绘制各类图纸(如系统图、布置图、结构图等),然后以各类图纸作为送审和交付的载体。近年来,随着船舶行业产业升级和数字化设计技术的不断发展,业内对于船舶设计高效性、专业协同性的要求也不断提升,船舶设计手段由传统二维设计向三维数字化协同设计转型升级正在成为未来的技术发展方向[1-3]。与二维设计相比,三维设计具有可视化程度高、模型信息集成度高、设计协同性好、可拓展性强等特点。以船舶舱室布置设计为例,采用以船体三维结构模型为背景的舱室布置模型不仅能够实现设备干涉检查,而且可以辅助机电专业进行放样设计。同时,由于具有设计信息与几何信息相统一、属性可扩展等特点,包含各专业设备的三维舱室布置模型还具有深入进行各类仿真分析和计算的潜能,如机舱气流场仿真、重量重心计算等。在二维设计向三维设计过渡阶段,如何利用二维设计中成熟的开发工具辅助三维设计,在提高三维设计效率的同时借助三维模型的视觉直观性验证二维设计的准确性成为船舶设计师关注的主要方向之一。

3DE 平台是法国达索系统开发的新一代集CAD/CAE/CAM 于一 体的PLM 软件 平台[4],该 平台旨在为企业提供一体化、智能化的工业解决方案,可以很好地满足制造业在数字化转型升级中的需求,为制造业带来全新的设计和生产体验[5-6]。然而,由于用户软件使用习惯和所需功能侧重点不同,再强大的软件平台也不可能同时满足各类用户的需求。与AutoCAD 相比,3DE 平台在船舶行业内的应用起步较晚,相关专业功能和设置仍不完善。因此,结合船舶设计流程中的具体需求对3DE 平台进行二次开发研究,已受到国内外许多科研院所、高校和船厂的重视。3DE 平台提供多种开发语言,例如EKL(Enterprise Knowledge Language,知识工程语言)、VBA(Visual Basic for Applications,Visual Basic 宏语言)、CAA(Component Application Architecture,组件应用架构)等,不同的语言在开发难易程度上有较大差距。CAA 是达索产品扩展和客户进行定制开发的平台[7],采用面向对象的程序语言,本文所提出的方法正是基于CAA 进行开发。

1 二维布置驱动三维建模流程

传统舱室布置需要具有一定专业知识的人员借助CAD 软件,不断反复、螺旋上升、逐步求精,最后得出比较合理的布置方案[8]。在3DE 平台中进行舱室布置设计时,原生功能提供的方法是从资源库中逐个调用设备或利用平台内的二维原理图对设备进行驱动,将设备模型实例化至三维设计空间中,再运用罗盘等工具依次对设备进行移动或方向调整,直到三维模型符合舱室布置设计的需要[9]。采用从资源库中调用设备模板的方法时,速度较慢,无法批量操作;采用二维原理图进行驱动时,则存在需要创建大量信息关联,操作繁琐的问题。除此之外,以上两种方法均不能将设备准确定位在设计位置,需要进行手动调整。这些因素均导致采用原生功能无法实现高效的舱室布置设计。

针对以上问题,本文利用CAA 对3DE 平台进行二次开发,提出了一种高效的舱室布置模型生成方法,可实现设备信息、自动导入、模型节点创建和属性扩展、模型自动调用及设备精确定位。与原生功能相比,能够极大地提升舱室布置的设计效率和三维模型的创建速度,具体流程如图1 所示。

图1 二维布置驱动三维建模流程

从该流程可知,从AutoCAD 布置图中生成数据源是驱动建模的基础,运用CAA 二次开发工具读取数据源中的信息是关键,根据信息在3DE 平台中进行三维布置模型的创建是核心。通过以上流程可实现对设备库资源的检索,并根据设备节点名称对设备进行批量替换,从而实现三维布置模型的快速生成。如果三维模型的布置不满足设计需要,可直接在三维模型中对设备位置进行调整,或者回到二维布置图中对二维图块进行调整,然后再次生成数据源,调用二次开发工具直接读取新的设备位置信息实现对三维模型位置的调整。通过以上步骤的反复迭代完成三维模型的布置。

2 三维设备布置模型生成

2.1 读取驱动数据源

驱动数据源中主要包含设备的属性信息和位置信息,可通过AutoCAD 成熟的开发工具从布置图中的图块信息中获取。本文提出的二维布置驱动三维建模方法所需的数据源参见图2 所示表格。

图2 驱动数据源表格

属性信息主要包括设备中英文名称、数量、重量和性能参数位置信息等;位置信息即设备在船体三维坐标系中的坐标值,其中Pos.X 为沿船长方向的坐标,Pos.Y 为沿船宽方向的坐标,Pos.Z 为沿高度方向的坐标。为将数据源中的信息写入到设备属性中,需要对设备进行属性扩展,从而使设备节点可以承载额外的设备属性。

2.2 创建设备节点

3DE 平台结构树中3DPart 节点和三维设备具有一一对应关系,通过读取智能驱动数据源可自动计算二维布置图中设备的数量,在三维建模时批量创建设备节点。虽然,3DE 平台提供的原生Spread Sheet 功能可批量创建3DPart 节点,但是在批量创建时无法添加用户定制的扩展属性。为解决属性扩展的问题,可通过CAA 开发批量创建3DPart 节点并且在创建的同时添加扩展属性。CAA 开发批量创建3DPart 节点,示例代码如下:

2.3 设备定位

AutoCAD 二维布置图生成的数据源包含各设备的位置信息(PosX、PosY、PosZ=0)。如果知道该布置图对应的空间平面高度,则可以手动将POSZ 的数值设置为平面高度,则数据源中完整表达了各设备的空间位置信息。在3DE 平台中设备的位置信息通过其位置矩阵描述[10],如图3 所示,Translation 栏中的数值表示设备在空间中相对三维坐标原点的距离。

通过CAA 二次开发可批量读取设备的位置信息并设置各方向的距离数值,从而实现设备的定位。这种设备定位的方式与3DE 平台原生功能相比,极大提高了设备布置的效率和位置的准确性。示例代码如下:

图3 位置矩阵

2.4 属性扩展和添加参数

二维布置智能驱动三维设计需要AutoCAD 和3DE 平台进行数据交互,并且读取数据源之后需要将数据属性信息记录在三维模型中。AutoCAD 二维布置图中一般以图块存储设备属性信息,图块中的属性种类可由用户自定义设置,如下页图4 所示。在3DE 平台中,设备的属性信息一般存储在参考(Reference)属性和实例(Instance)属性中,如下页图5 所示。

由图4 和图5 可知,3DE 平台中设备的参考和实例属性和AutoCAD 中图块的属性不匹配,无法直接将数据源中的设备属性参数对应地写入到设备节点中,因此需要对设备属性进行定制化的扩展。3DE 平台中属性扩展对应的角色为Customization Administrator,对应的App 为Data Model Customization。扩展属性部署之后,可以将扩展属性添加到设备节点中,示例代码如下:

图4 AutoCAD设备属性

图5 3DE平台设备属性

设备扩展属性完成之后,需要将数据源中的属性参数批量写入到各设备节点中,从而使各3DPart 节点代表不同的设备。属性参数写入运用CAA 中CATCkeObjectAttrWriteServices:SetValueWithString()方法实现。完成属性扩展和参数写入后,3DE平台结构树中的设备节点如图6所示。

图6 设备节点

2.5 库资源加载和设备调用

通过以上步骤,仅实现了设备节点的批量创建和设备属性的录入,并未将设备三维几何模型生成。为在3DE 平台中呈现各设备节点对应的三维模型,首先需要对设备库资源进行加载,然后按照设备节点的名称在设备资源库中进行查找和调用,从而实现三维模型的自动批量生成。

库资源加载示例代码如下:

3 二次开发及验证

在充分理解二维布置智能驱动三维建模详细流程的基础上,笔者尝试运用CAA 开发语言进行二次开发。首先,按照智能驱动流程设计开发工具界面,二次开发工具界面如图7 所示;然后,通过查询CAA 中的函数方法为各命令按钮实现的功能编写相应程序;最后,在开发平台中对程序进行编译验证代码的正确性。

为充分验证开发工具的适用性,本文以某货船机舱三维布置模型生成为例,结合轮机专业机舱布置图生成的智能驱动数据源,通过CAA 二次开发工具实现了机舱三维模型的快速创建。原始AutoCAD 二维布置图和3DE 平台中生成的三维模型的比较如下页图8 和图9 所示。

图7 开发工具界面

图8 AutoCAD二维布置图

4 结 语

我国船舶制造业仍处于数字化设计和智能制造的起步阶段,诸多问题亟待解决,如何利用传统的二维设计智能驱动三维建模值得深入探索。3DE平台作为当前船舶三维设计的主流平台,为用户提供了良好的开发环境。本文针对如何提高船舶舱室三维建模效率的问题,基于3DE 平台进行二次开发,提出了一种二维驱动三维的舱室布置模型生成方法。基于某货船机舱三维模型的驱动试验表明,该方法具有模型生成效率高、定位准确、节点属性可扩展性强、界面简洁、操作简便等特点,在充分利用现有二维设计资源的基础上有效提高了船舶三维设计的效率和质量,为船舶三维高效建模提供了一种新的方法。

图9 三维布置模型

[ 2 ]张凯,谢承福,涂跃红,等. FORAN 软件在船舶总体设计中的应用[J]. 中国舰船研究,2009(4):76-80.

[ 3 ]卢永进,华志刚. 基于FORAN 的船舶管路三维设计研究[J]. 船海工程,2012(5):77-80.

[ 4 ]曾鲁山,曾凡明,刘金林. 基于CATIA 和VIRTOOLS技术的虚拟机舱漫游研究[J]. 中国舰船研究,2008(5):62-64.

[ 5 ]卢永进,林悦. CATIA V6 船舶三维设计实例[M].哈尔滨:哈尔滨工程大学出版社,2016.

[ 6 ]武振锋,陈周锋. 基于CATIA 的CRH380AL 动车组头车三维曲面设计[J].武汉大学学报(工学报),2013(5):635-639.

[ 7 ]何旺,柳存根,汪学峰.船舶机舱智能布置方法研究[J].船舶工程,2014(6):85-88.

[ 8 ]何朝良,杜廷娜,张超. 基于CAA 的CATIA 二次开发初探[J].计算机运用,2006(9):37-40.

[ 9 ]邹梦瑶,管伟元,王充,等. 基于三维体验平台的船舶设备驱动与布置研究[J]. 船舶与海洋工程,2019(2):72-76.

[10]韩志仁,梁文馨,刘春峰,等.基于CATIA 装配件位置信息提取与重构技术研究[J].航空制造技术,2016,11:103-106.

猜你喜欢
数据源布置驱动
汽车线束布置设计要求
数据驱动世界。你得懂它 精读
基于模糊PI控制的驱动防滑仿真系统分析
屈宏斌:未来五年,双轮驱动,砥砺前行
深入实施创新驱动发展战略
特别号都有了
图表中的交互 数据钻取还能这么用
基于Excel的照片查询系统开发与应用
再谈利用邮件合并功能批量生成准考证
数据有增加 图表自适应