王佩瑜 宋一淇 高伟
摘要:随着三维设计软件应用的深入,基于底层数据对软件进行客制化二次开发的需求逐渐增多。针对主流的船舶设计软件FORAN,首先对舾装各模块之间的关系及铁舾件建模的方法进行了分析,明确了研究的对象。然后,通过模型分析及数据库监测等方法,确定与铁舾件模型密切相关的数据表,进而对这些表的字段、差异性以及关联关系进行了详细分析。最后,根据对表的分析结果,结合铁舾件重量重心属性的解析方法给出了其应用的途径。对铁舾件底层数据的研究结果,可用于模型各种属性的解析及其深度利用。
关键词:铁舾件;三维模型;数据结构;数据分析;FORAN
中图分类号:U662.9 文献标识码:A 文章編号:1674-957X(2021)02-0199-02
0 引言
三维设计作为提高船舶设计制造效率和质量的有效手段,以及作为数字样船及虚拟仿真技术的基础,正在被越来越广泛地应用于船舶的设计制造过程中。目前,国内许多设计院所、船厂都已在设计制造过程中应用了三维CAD/CAM系统,如国外引进的CADDS5、TRIBON、FORAN、CATIA,以及国产的东欣,SB3DS等[1-2]。
随着三维CAD/CAM系统应用的推广和深入,对其数据利用的需求逐渐增多,利用的形式越来越多样化。而其系统本身的通用化功能往往难以满足用户对三维数据多样化及个性化的利用要求。同时,由于底层数据结构的研究是进行二次开发的前提和基础,使得对三维CAD/CAM系底层数据结构的研究逐渐成为研究热点[3-5]。
FORAN系统采用与Oracle数据库高度集成的方式,使用Oracle数据库全程管理其船舶三维模型。其数据表数量众多,结构复杂。但其Oracle数据库完全向用户开放,为对其底层数据结构的研究和开发利用提供了可能。其中,结构数据的解读已取得了一些成果[6]。
1 FORAN系统简介
FORAN系统是由西班牙SENER集团开发的,专门用于船舶与海洋工程设计制造的三维软件系统。[7-9]
FORAN系统涵盖了总体、船体、舾装、电气、舱室布置等各专业的三维设计功能,可用于船舶的概念设计、初步设计、详细设计、生产设计等各个设计环节[10]。其中,铁舾件建模主要与NORM模块和FPIPE模块有关。
2 铁舾件建模方法简述
FORAN中铁舾件建模的对象主要包括辅助结构(基座)、管路支架、电缆托架等。其均主要在FPIPE模块进行建模。
铁舾件建模方法有两种:①为采用structural outfitting模式进行创建,该模式主要用于辅助结构建模。②为采用supports模式进行创建,主要用于管路支架、电缆托架建模。
采用structural outfitting模式建模,首先要在NORM模块中定义板、骨材、开孔等标准库,该库可以和结构模块共用。然后在structural outfitting模式下选取相应的标准板材,修改参数化尺寸,并根据构件位置搭建辅助结构。采用该模式创建的辅助结构,其每个构件及对应的标准库的信息均存储在Oracle数据库中。
采用supports模式建模,由于管路支架和电缆托架其本身几何特征的标准化、系列化等特点,一般采用定义参数化宏文件的方式进行建模,该宏文件以文件的方式存放,未存储到Oracle数据库中。采用该方式创建的支架和托架布置到三维模型中后,其几何参数、布置信息及相对应的宏文件名称均存储在Oracle数据库中。
此外,对于结构形式较简单、固定的辅助结构也可以采用定义宏文件的方式进行创建。但是,由于宏文件仅定义了模型的几何关系,不包含材料、密度等属性信息,故系统无法根据其几何形状计算重量、重心等。
综上所述,由于采用supports模式创建的支架和托架,其存储在Oracle数据库的信息完整性有所欠缺,因此本文主要对采用structural outfitting模式创建的辅助结构的底层数据进行研究。
3 铁舾件模型底层数据结构
3.1 相关数据表
FORAN系统Oracle数据库数据表数量众多,数据结构比较复杂。其中,与铁舾件相关的数据表约有20张。根据这些表所包含的信息,可将其主要分为两类:一类为铁舾件属性信息表,如as_list、as_elem、as_lang等,其记录了铁舾件的名称、描述等,以及组成铁舾件的每个构件的编号、类型、重量、重心等属性信息;另一类为节点数据表,如bs_design_node、bs_design_atom等,其记录了设计节点的层次关系及区域、系统、重量、重心等属性信息。此外,表prd_expl_part主要存储结构属性信息,也包含部分铁舾件构件的属性信息。
对于铁舾件模型的属性信息,设计人员所关心的主要有两类:一类为铁舾件的分类信息,如名称、所属分段、所属区域等信息;另一类为重量、重心、材料、板厚、骨材长度等属性信息。据此,通过建模操作,同时结合SQL语句监测数据库的变化情况,分析得到与铁舾件密切相关的数据表,如表1所示。
此外,该表也包含了重量、重心等字段,但其值全部为0,对数据利用没有实际意义。
3.2 表的差异性分析
从前文对表字段的分析中,可以看出部分表其字段有不同程度的重复,如表as_elem、prd_expl_part和bs_design_atom中均含有字段weight、cog等,且后两张表重复的字段更多。因此,解读这些表的差异性对于后期数据的利用是不可或缺的。
对于表as_elem,在前文分析中已提到其weight、cog等字段值均为0,没有实际意义;对于表prd_expl_part,其主要记录了结构件的属性信息及部分铁舾件的属性信息(具有part fabrication id的铁舾件);对于表bs_design_atom,其对应节点信息表bs_design_node中的每一個设计节点,因此包含了所有模型的属性信息。
3.3 表的关联关系分析
由于用户对数据需求的多样性,单张数据表所包含的属性信息往往无法满足所有的需求,通常需要从多张数据表中查找信息。因此,表的关联关系分析数据利用的关键。
需要注意的是,表as_elem的字段oid与表bs_design_node的字段model_oid相关联;同时,其又与表prd_expl_part的字段prd_part_oid相关联。但是,表bs_design_node的字段model_oid和表prd_expl_part的字段prd_part_oid没有关联关系。
这是由于具有part fabrication id的铁舾件,其属性信息除了记录在节点信息表中,还记录在了结构相关表中,导致数据表的关联关系发生了相应的变化。具体变化如图1所示。
从图1中可以看出,当铁舾件不具有part fabrication id时,表as_elem的字段oid与表bs_design_node的字段model_oid相关联;反之,当铁舾件具有part fabrication id时,表as_elem的字段oid首先与表prd_expl_part的字段prd_part_oid相关联,进而通过该表的字段oid与表bs_design_node的字段model_oid相关联。
4 结束语
根据对FORAN系统铁舾件相关数据表的分析结果,参考重量重心属性的解析方法,可以解析出所有重要的属性信息。基于这些数据,可以通过二次开发实现按系统、区域、材料等统计汇总铁舾件的重量重心。这些需求是软件本身功能所欠缺的。
此外,本文中对铁舾件底层数据的研究思路和方法可供其他CAD软件底层数据的研究提供有益参考。
参考文献:
[1]张凯,谢承福,涂跃红,等.FORAN软件在船舶总体设计中的应用[J].中国舰船研究,2009,4(4):76-80.
[2]苏文荣,陈锦晨,郑斌华.三维CAD技术在船舶设计中的应用[J].上海船舶运输科学研究所学报,2007,30(2):144-149.
[3]倪海参,汪学锋.从CATIA到TRIBON的板架结构数据转换方法[J].中国舰船研究,2012,7(5):66-70.
[4]贾琪琳.TRIBON的船体分段数据分析[J].船舶工程,2010,32(1):67-69.
[5]苗贇,汪学锋.船舶主流CAD软件间的数据交换研究[J].中国造船,2011,52(3):190-197.
[6]宋一淇,王佩瑜,常守明,等.基于FORAN的船体结构底层数据结构分析[J].中国舰船研究,2014,9(5):26-32.
[7]林锐,卢永进,房玉吉,等.Foran软件在轮机设计中的应用[J].机械,2011,38(8):27-29.
[8]卢永进,华志刚.基于FORAN的船舶管路三维设计研究[J].船海工程,2012,41(5):77-80.
[9]李军,李樱,罗白璐.基于FORAN的结构模型管理方法[J].船舶标准化工程师,2012,1:28-31.
[10]陈宁.FORAN在船舶数字化设计全流程中应用技术研究[J].造船技术,2009,4:34-38.