APP下载

CATIA二次开发在船舶型线出图中的应用

2018-08-27,,

船海工程 2018年4期
关键词:型线线图二次开发

,,

(深海载人装备国家重点实验室,江苏 无锡 214082)

CATIA具有强大的船舶协同设计能力,在缺乏母型的船舶设计过程中,可以利用CATIA强大的曲面造型功能直接对外形进行建模设计。在整个船舶设计周期中,从方案设计、技术设计、详细设计到最后的施工设计中,涉及到多次船体型线的出图工作。与Napa、Tribon等船舶专用设计软件不同,CATIA软件无法直接生成型值表和型线图。因此,有的部门采用人工手动量取型值的方法。但是,以正常站位划分,一次出图往往需要多达几百次的型值获取,肋骨型线图更是多达几千个型值点。这种方法费时费力、重复性多、出错率高,严重降低了工作效率。为此,考虑采用VB对CATIA进行二次开发,得到可以快速获取复杂外形型值点和型线图的程序,解决型线图出图效率低、繁琐易错的问题。

1 CATIA二次开发方法

CATIA提供了COM和DCOM接口,支持从脚本到VB、VC、Delphi等通用开发工具,方便用户特殊需求的定制[1]。VB6.0使用面向对象技术,拥有多种功能强大的控件,可快速方便地进行中小程序的开发,在非专业程序设计人员中的使用量较大。本文采用VB6.0对CATIA进行二次开发。在VB中,CATIA作为一个OLE自动化服务器,通过COM接口即可访问CATIA内部对象,引用CATIA的类库对象即可对CATIA进行相关的操作[2-4]。此外,程序还引用了EXCEL库,可以方便地将型值表直接导出成Excel文件。运用VB编写程序设计界面,更直观地进行参数的输入和数据的传递,驱动剖面型线划分,最终导出型值表和型线图。整个程序流程见图1。

图1 程序流程

2 船舶型线出图程序设计开发步骤

2.1 曲面获取

在进行完船舶外形三维建模后,将整个船壳外形结合成一张完整的曲面,沿中纵剖面对其分割,取其一半曲面并命名,比如命名为hull。在本程序的初始化设定模块中,输入该曲面所在几何图形集名称和曲面名称。通过该名称,vb调用CAITA的Item()函数即可获得该曲面的句柄。为了使结构树更加清晰,在初始化模块中还应自动创建相应的几何图形集用来容纳出图的中间过程。除此之外,还应设定要导出的型值表和型线图的文件位置。在型线出图过程中,可能会对站距、站位有调整,需要再次型线出图,可以通过勾选删除几何图形集复选框删除上次出图过程中的中间过程。

2.2 主尺度计算

为了对剖面线与主体是否相交的判断提供依据,需要获得曲面所在区域。AddNewExtremum语句可以获得某一方向的极值,但是,某些特殊艇型艉部存在平面或者直线(见图2),这种情况下获得的X方向极值并不是点而是平面或者直线。

图2 特殊艉部构型

因此,可以进一步增加Y和Z方向的极大值约束,来确保极值是单个点。

2.3 站位划分

在型线参数设置界面对主要参数进行输入,见图3。

图3 型线参数设定界面

对横剖面的中间整数站位数可以设置为11站、21站等任意站数,可以方便地应用于主体或围壳出图。艏部和艉部可以增加站位,分别以A和F代表,且站位数和站距可分别设置。在特定的位置,还可以添加1/2、1/4A、1/8F等非整数站位。增加的非整数剖面位置,通过使用冒泡排序法进行排序,得到从小到大的序列,便于型值表导出。如果船型有特殊要求,也可以通过添加x坐标添加任意站位。纵剖面和水线面除了可以设置常规站位外,也可以添加任意位置剖面。

2.4 多型值点获取

以高度值为例,半宽值方法相同。特定站位横剖线与某一个纵剖线相交点数可能是0、1、2等,常见的复杂船型一般最多有4个型值点,因此本程序在设置上最多能计算4个型值点,如果型值点更多,可以对程序进行扩充来适应更复杂的情况。

通过获取纵剖线沿船长方向的极大值和极小值点,得到该纵剖线沿船长方向的范围。将横剖线位置分别与其进行比较,即可判断二者是否存在交点。当存在交点时,通过以下方法来确定交点个数。

对横纵剖面交点hybridShapeIntersection采用AddNewNear语句添加离底部平面最近的约束,以得到最下方的单个点(点1),见图4。

图4 型值点数判断方法

同时获取靠近顶部平面最近的点2。如果2点坐标相同,表明该处仅有1个交点。当二者不同时,沿Z正方向从点1偏移0.001 mm创建平面,用其分割纵剖线,得到曲线2。曲线2与横剖线相交,获得最靠近底部平面的点3,如该点坐标与点2相同,表明仅有2个点。如果二者不同,继续使用以上方法得到曲线3和点4,如果点4与点2相同,表明仅存在3个点,否则,存在4个点。使用以上方法可以自动判断交点的个数,适应多种复杂情况。

2.5 型线图获取

CATIA中的三维模型需要通过工程制图模块转换成二维型线图,最终导出dwg格式的文件用于CAD处理。在程序中首先对主体使用AddNewVolumeCloseSurface函数封闭成实体,然后分别用横、纵、水剖面与其相交,最后在工程制图模块对其进行投影得到其轮廓。投影时,除了剖面其余全部隐藏,防止对出图过程有干扰。在投影过程中,通过设定视图坐标系与页面坐标系之间的距离和角度,调整3个投影视图的位置,防止出现重合干涉。CATIA投影视图默认隐藏遮挡住的线条,因此,需要对视图的HiddenLineMode属性进行设定以显示虚线,并自动导出成dwg文件。

3 算例验证

采用图5所示的某船型对以上方法和程序进行验证。限于篇幅选取较少剖面。在程序界面输入了相关参数后,程序自动导出的型值表和型线图见表1和图6。对型线图进行标注加框即可实现型线出图。从型值表可以看出,程序实现了整数非整数站位排序、特殊站位添加、特定格式型值表导出等功能。对于球鼻艏处,也成功地获取了4个型值点。相较于人工量取型值点,极大地提高了工作效率,降低了出错率。

图5 船模型及剖面划分

图6 程序导出的型线图

站号距基线BL高度0纵剖线800纵剖线1 200纵剖线2 400纵剖线水线半宽1 500 WL3 000 WL4 500 WL1A1 218.06 121.11 436.16121.91 584.46 122.82 384.06 128.0984.92 982.63 641.10.5A1 218.05974.01 354.35 974.51 450.25 975.12 029.95 978.61 368.43 316.73 816.601 218.05 843.21 301.55 843.51 364.85 843.91 780.25 846.01 755.33 535.83 911.30.51 218.05 643.91 266.61 266.65 643.91 310.21 310.25 643.91 608.15 643.82 093.23 680.83 962.711 218.05 469.41 275.11 275.15 469.41 325.05 469.31 638.65469.21 994.73 660.53 945.61F1 218.05 319.91 378.15 320.11 481.75 320.41 960.55 321.91 262.83 432.33 869.21.5F1 218.05 281.31 504.65 281.61 666.45 281.92 262.35 283.5788.23 216.13 795.0-200站位283.91 276.73 120.97 561.05 917.47 561.76 540.97 562.6215.4

4 结论

使用VB对CATIA进行二次开发,介绍了程序思想和关键代码,对相关程序开发具有借鉴作用。该程序实现了对船舶型值表和型线图的快速获取功能,具有界面清晰简洁、适应性广、出图效率高的特点,可增强可靠性,减少人为出错。在整个设计生产过程中,可重复性强,当线型改变后,可以快速完成出图任务,可以使得科研设计人员轻松面对多条型号或者多个设计过程中的出图任务。

猜你喜欢

型线线图二次开发
个体化预测结肠癌术后发生并发症风险列线图模型的建立
高次曲线组合型线涡旋盘性能研究*
浅谈基于Revit平台的二次开发
基于箱线图的出厂水和管网水水质分析
浅谈Mastercam后处理器的二次开发
型线绞合导体ZC-YJLHV22-103×630铝合金电缆的设计和生产
西门子Easy Screen对倒棱机床界面二次开发
东山头遗址采集石器线图
变截面复杂涡旋型线的加工几何与力学仿真
基于Pro/E二次开发的推土铲参数化模块开发