(中国船舶及海洋工程设计研究院,上海 200011)
近年来,随着设计软件的不断发展,三维设计技术已逐渐成为提高船舶研制效率和改进产品质量的重要手段,国内在船舶设计制造领域先后引入了TRIBON、NAPA、FORAN、CATIA等三维设计软件,并获得了初步成效[1-4]。但在船体外板结构设计方面,目前仍然以二维图纸为主,不仅效率较低,而且难以克服传统外板二维设计过程中存在的视角单一、线型重叠不易分辨以及部分区域曲率较大导致的构件定位、重量不精确等问题。为此,考虑基于CATIA V6软件平台,建立一种在三维环境下直接设计生成船体外板结构的方法,通过二次开发结合软件自身的功能,完成船体外板板架的自动检查,提高外板结构设计的效率和准确性。
船体外板板架设计是船体结构设计的重要组成部分,涉及外板板的排列和外板骨架中纵向、横向构件的布置(见图1),包括平板龙骨、船底板、舭列板、舷侧板、舷顶列板等区域的划分和板厚的确定,底桁材、龙骨、底部及舷侧纵骨、肋板、肋骨及加强筋等的布置形式和尺寸的选取等。通常情况下,外板板架设计需要参考总布置图、型线图、按设计规范制定的计算书,以及基本的结构图纸等技术资料。在三维环境下,外板板架的设计工作需要将前期的船体外壳表面、各甲板、平台、舱壁的布置以及相关的结构设计要求作为依据。
图1 船体外板板架形式
首先,需要建立各肋位平面以及甲板、平台、纵舱壁等重要的分舱表面与船体外壳的交线,作为下一步骨架布置和外板划分的基础。其次,需要根据这些交线将外板划分成不同区域,分别进行构件轨迹线和板缝线的布置。在CATIA V6软件中构件轨迹线和板缝线有多种生成方式:既可以选择任意平面绘制草图,进而向外壳表面投影成为空间曲线,也可以对空间元素直接进行求交、剪切、偏移等操作生成三维曲线,完成船体外板纵向构件和板缝的布置。最后,针对生成的迹线进行外板板格尺寸的检查,进而建立外板板、骨材、桁材等构件的三维模型。
CATIA中外板板架的设计流程见图2。
图2 CATIA V6外板板架三维设计流程
其中,几何特征主要通过Generative Wireframe & Surface(GWS)模块完成,而创建船体结构构件则主要由Structure Function Design(SFD)模块和Structure Detail Design(SDD)模块构成,其中SFD模块属于轻量化建模的模块,便于快速建模,并能够与其他专业进行协同修改,比较适合船体外板板架的设计工作。
在CATIA软件中,首先需要利用已有的船体外壳、甲板、平台、舱壁等几何面和肋位坐标面生成船体的肋骨型线、甲板边线等曲线,将船壳划分为不同的区域,作为外板骨架布置的基础。其次,利用草图和曲线编辑工具生成外板各个区域的骨材迹线和板缝线,最终以这些几何信息作为支撑,通过调用相应的型材库生成三维环境下的外板骨架。
肋骨型线和甲板边线是外板骨材布置的基础,通过他们可以将外板划分为不同的区域,针对不同区域使用不同的方法进行骨材和板缝的布置。因此,在设计之初需要生成外壳、甲板、舱壁等几何面。以某船为例,见图3。
图3 某船外壳及甲板几何面
在此基础上,利用批量求交线的方法创建甲板边线和肋骨型线,见图4。
图4 肋骨型线及甲板边线
图中肋骨型线用实线显示,甲板、平台以及内底等边线用虚线显示。
在CATIA软件中外板骨材迹线与板缝线的创建方式主要分为2种:①基于任意平面(如横剖面、纵剖面、水平面等)绘制迹线草图,进而向船体外壳投影生成空间曲线;②基于已有的空间点和曲线(如甲板边线、船体折角线等),通过曲线生成和编辑工具等操作直接创建。此前已经将船体外板分成的不同区域,可根据实际情况选择合适的方法进行板缝线和骨材迹线的创建。例如,在船舶平行中体等线型平缓的区域可使用投影法,而艏艉线型变化剧烈的区域则较适用于空间曲线的直接创建。
按照投影方法在不同方向平面上绘制板缝迹线草图见图5~7。
图5 纵剖面板缝划分草图
图6 底部骨材迹线投影草图
图7 横剖面骨材迹线投影草图
从图中可以看出,在三维环境下设计者可以通过灵活的挑选草图平面,更加方便快速的生成各个区域所需要的曲线,从而克服了传统二维图纸只有一个视角的局限,也能够更好的把握全船骨材的布置和走向。利用甲板边线沿船壳曲面平移创建的纵向骨材迹线见图8。
图8 通过曲线编辑创建骨材迹线
通过调节曲线偏移的数值,可以严格保证外板骨材间距满足规范计算要求;此外,利用裁剪功能可灵活调整骨材迹线的起止点,十分适用于艏部外飘、球鼻艏、艉轴出口等线型特殊的区域。相比于传统的外板展开图,这种方法能够更加精确的进行骨材构件的定位和后续重量重心的统计,具有明显的优势。通过结合以上几种方法,即可较快地生成全船骨材迹线和板缝线,用于下一步的实体建模工作。
在CATIA V6软件中外板板架的三维建模与平面板架不同:由于外板为三维曲面,其上的骨材迹线多为空间曲线,无法像甲板、舱壁等结构用平面作为支持面进行创建。因此需要利用骨材迹线作为输入生成外板的实体模型。此外,由于外板曲面比较复杂,构件数量较多,往往需要按船体分段或总段缝进行分别建模,便于后期的修改和管理。
某船CATIA模型中部分底部外板的三维模型见图9,其支持面选择船壳外表面,利用生成的板缝线完成船体外板的划分。
图9 底部外板三维模型
外板纵骨的三维模型见图10,在创建纵骨时既可以选择已生成的纵骨迹线,也可由迹线进一步拉伸生成纵骨支持面。
图10 外板纵骨三维模型
最后根据横向构件迹线和肋位平面等生成横向构件,完成外板板架的创建,见图11。
外板板架设计的重要要求之一就是纵横交叉构件所形成的外板板格尺寸须符合规范计算的要求,一般来说板格的宽度不应超过规范计算得到的某一限制值。
采用CATIA软件自带的知识工程语言(EKL),通过二次开发实现每个肋位上纵向构件间距的自动测量和输出,并根据规范计算得出的限制值自动判断板格大小是否符合要求。程序首先求出肋位线与纵骨线之间的交点,进而计算每根肋骨线上相邻两点之间的距离并进行判断,最后将结果输出到Excel表格中。其核心代码如下。
pTemp=intersect(CurTemp,CurveTemp) /定义交点/
let px,py,pz(length) pTemp.coord(px,py,pz)
if(px<>0mm and py<>0mm and pz<>0mm)
{ let p(Point)
p=new("Point",CurTemp.Name+"+"+CurveTemp.Name,GSPointTemp) /交点输出名称用相交的肋骨线和纵骨线表示/
p=pTemp}
let LenTemp(Length)
LenTemp=length(iCurve, pointList.GetItem(j), pointList.GetItem(j+1)) /计算沿肋骨线两个相邻点之间的距离,即板格的长度/
let strLenTemp(String)
strLenTemp=ToString(LenTemp)
let strBoolean(string)
if(LenTemp<=Len1+0.01mm) strBoolean="True" /判断板格长度是否满足设定的要求,Len1为人工设定的判断值/
else strBoolean="False"
strInstersect1=ListTemp.GetItem(1) /获取板格第一个点的名称/
strInstersect2=ListTemp.GetItem(2) /获取板格第二个点的名称/
strDistance=ListTemp.GetItem(3) /获取板格长度/
strBoolean=ListTemp.GetItem(4) /获取判断结果/
/将以上信息输出至Excel表格/
oXLSheet.SetCell(indx+1,1,strInstersect1)
oXLSheet.SetCell(indx+1,2,strInstersect2)
oXLSheet.SetCell(indx+1,3,strDistance)
oXLSheet.SetCell(indx+1,4,strBoolean)
CATIA软件中的执行界面见图12。对关注的纵骨迹线、肋位线和船壳曲面进行板格尺寸检查,执行结果见图13。
图12 外板板架自动检查工具界面
该程序不仅可以快速定位外板板架中超标的板格,还可检查船体外板板缝之间的间距是否超过原始板材的规格。设计者基于检查结果可对外板板架设计进行快速修改,形成最终的三维外板板架模型。与传统二维设计使用人工校审相比,大幅提升了设计校核的效率以及准确性。
图13 外板板架自动检查结果
通过在三维船壳上直接进行外板板缝划分和骨材布置,克服了传统外板二维设计中视角单一、线型重叠等弊端,同时避免了由于外板展开带来的曲率较大区域构件定位、重量统计不精确等问题。利用外板自动检查工具,可快速准确定位不符合规范要求的局部板架,提高了检查修改的效率,确保了板架设计的准确性和合理性。实际工程应用表明该方法能够实现船体外板板架三维模型的快速生成、检查和修改,在高效完成船体外板结构三维设计的同时,提升了设计的准确度,具有一定的工程意义和实用价值。