CATIA二次开发在船舶型线出图中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第47卷㊀第4期2018年8月㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀船海工程SHIP&OCEANENGINEERING㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀
Vol.47㊀No.4
Aug.2018
㊀㊀㊀
DOI:10.3963/j.issn.1671 ̄7953.2018.04.019
CATIA二次开发在船舶型线出图中的应用
冯康佳ꎬ张亦驰ꎬ胡政敏
(深海载人装备国家重点实验室ꎬ江苏无锡214082)
摘㊀要:针对CATIA在船舶制图中的高效使用问题ꎬ使用VB语言对CATIA进行二次开发ꎬ建立界面ꎬ可通过输入站距站位数等参数ꎬ方便地获取复杂船体的型值点和型线图ꎬ并自动导出ꎮ该软件高效精确ꎬ可省去繁琐易错的人工读取型值表数据的过程ꎬ多次成功地应用于船体制图ꎮ
关键词:VBꎻCATIAꎻ型线图ꎻ型值表ꎻ二次开发
中图分类号:U661.43㊀㊀㊀㊀文献标志码:A㊀㊀㊀㊀文章编号:1671 ̄7953(2018)04 ̄0080 ̄04
收稿日期:2017-11-18修回日期:2017-12-14
第一作者:冯康佳(1991 )ꎬ男ꎬ硕士ꎬ助理工程师研究方向:船舶现代设计方法
㊀㊀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()函数即可获得该曲面的句柄ꎮ
为了使结构树更加清晰ꎬ在初始化模块中还应自动创建相应的几何图形集用来容纳出图的中间过程ꎮ除此之外ꎬ还应设定要导出的型值表和型线0
8
图的文件位置ꎮ在型线出图过程中ꎬ可能会对站距㊁站位有调整ꎬ需要再次型线出图ꎬ可以通过勾选删除几何图形集复选框删除上次出图过程中的中间过程ꎮ
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.001mm创建平面ꎬ用其分割纵剖线ꎬ得到曲线2ꎮ曲线2与横剖线相交ꎬ获得最靠近底部平面的点3ꎬ如该点坐标
与点2相同ꎬ表明仅有2个点ꎮ如果二者不同ꎬ继续使用以上方法得到曲线3和点4ꎬ如果点4与点2相同ꎬ表明仅存在3个点ꎬ否则ꎬ存在4个点ꎮ使用以上方法可以自动判断交点的个数ꎬ适应多种复杂情况ꎮ
2.5㊀型线图获取CATIA中的三维模型需要通过工程制图模
块转换成二维型线图ꎬ最终导出dwg格式的文件用于CAD处理ꎮ在程序中首先对主体使用AddNewVolumeCloseSurface函数封闭成实体ꎬ然后分别用横㊁纵㊁水剖面与其相交ꎬ最后在工程制图模块对其进行投影得到其轮廓ꎮ投影时ꎬ除了
1
8
剖面其余全部隐藏ꎬ防止对出图过程有干扰ꎮ在投影过程中ꎬ通过设定视图坐标系与页面坐标系之间的距离和角度ꎬ调整3个投影视图的位置ꎬ防止出现重合干涉ꎮCATIA投影视图默认隐藏遮挡住的线条ꎬ因此ꎬ需要对视图的HiddenLineMode属性进行设定以显示虚线ꎬ并自动导出成dwg文件ꎮ
3㊀算例验证
采用图5所示的某船型对以上方法和程序进行验证ꎮ限于篇幅选取较少剖面ꎮ在程序界面输入了相关参数后ꎬ程序自动导出的型值表和型线图见表1和图6ꎮ对型线图进行标注加框即可实现型线出图ꎮ从型值表可以看出ꎬ程序实现了整数非整数站位排序㊁特殊站位添加㊁特定格式型值表导出等功能ꎮ对于球鼻艏处ꎬ也成功地获取了4个型值点ꎮ相较于人工量取型值点ꎬ极大地提高了工作效率ꎬ降低了出错率
ꎮ
图5㊀
船模型及剖面划分
图6㊀程序导出的型线图表1㊀程序自动导出的型值表
站号
距基线BL高度
0纵剖线800纵剖线1200纵剖线2400纵剖线水线半宽
1500WL3000WL4500WL
1A1218.0
6121.11436.1
6121.9
1584.4
6122.8
2384.0
6128.0984.92982.63641.1
0.5A1218.0
5974.01354.3
5974.5
1450.2
5975.1
2029.9
5978.61368.43316.73816.6
01218.0
5843.21301.5
5843.5
1364.8
5843.9
1780.2
5846.01755.33535.83911.3
0.51218.0
5643.9
1266.6
1266.6
5643.9
1310.2
1310.2
5643.9
1608.1
5643.82093.23680.83962.7
11218.0
5469.4
1275.1
1275.1
5469.4
1325.0
5469.3
1638.6
5469.21994.73660.53945.6
1F1218.0
5319.91378.1
5320.1
1481.7
5320.4
1960.5
5321.91262.83432.33869.2
1.5F1218.0
5281.31504.6
5281.6
1666.4
5281.9
2262.3
5283.5788.23216.13795.0
-200站位283.9
1276.7
3120.9
7561.0
5917.4
7561.7
6540.9
7562.6215.4
4㊀结论
使用VB对CATIA进行二次开发ꎬ介绍了程序思想和关键代码ꎬ对相关程序开发具有借鉴作用ꎮ该程序实现了对船舶型值表和型线图的快速获取功能ꎬ具有界面清晰简洁㊁适应性广㊁出图效率高的特点ꎬ可增强可靠性ꎬ减少人为出错ꎮ在整个设计生产过程中ꎬ可重复性强ꎬ当线型改变后ꎬ可
28
以快速完成出图任务ꎬ可以使得科研设计人员轻松面对多条型号或者多个设计过程中的出图任务ꎮ
参考文献
[1]刘智强ꎬ陈明.基于VB.NET的CATIA三维参数化船舶设备库的开发[J].船海工程ꎬ2012ꎬ41(5):57 ̄60.
[2]徐俊路ꎬ陈顺怀.基于CATIA二次开发的球首参数化
设计[J].船海工程ꎬ2010ꎬ39(11):45 ̄47. [3]曹晶ꎬ陈明ꎬ孙永刚.基于CATIA的三维船舶静水力计算研究[J].中国舰船研究ꎬ2011ꎬ6(2):25 ̄28. [4]谢岳峰ꎬ余雄庆.基于CATIA二次开发的飞机外形参数化设计[J].计算机工程与设计ꎬ2008ꎬ29(14):3792 ̄3794.
[5]李日杰ꎬ吴方良ꎬ刘明静.基于参数化船模的静水力计算[J].舰船科学技术ꎬ2013ꎬ35(1):55 ̄58.
ApplicationofSecondaryDevelopmentofCATIAinMoldedLineDrawing
FENGKang ̄jiaꎬZHANGYi ̄chiꎬHUZheng ̄min
(StateKeyLaboratoryofDeep ̄seaMannedVehiclesꎬWuxiJiangsu214082ꎬChina)Abstract:IntermsoftheproblemofeffectiveusageofCATIAonhulllinesdrawingꎬtheVBprogramminglanguagewasusedtoconductsecondarydevelopmentofCATIAandcreateinterface.Viatheinterfaceꎬitwasconvenienttoinputordinatesta ̄tionsandotherparameterstoachieveandexportcomplexshiphull.Thesoftwareisefficientandaccurateꎬwhichavoidstrouble ̄somemanualtableofoffsetsmeasurementandhasbeenusedindrawingsforhullmanytimes.
Keywords:VBꎻCATIAꎻhulllinesdrawingꎻtableofoffsetsꎻsecondarydevelopment
(上接第79页)
[4]李战ꎬ陈斌ꎬ赵雷刚ꎬ等.FPSO潜液泵系统的构成与特点[J].船海工程ꎬ2017ꎬ46(1):145 ̄147. [5]罗资琴ꎬ任永平ꎬ陈叔平ꎬ等.LNG低温潜液泵结构及设计分析[J].低温技术ꎬ2015ꎬ40(7):13 ̄16. [6]王新海.船用离心泵减振改进数值模拟分析研究[J].船舶工程ꎬ2011(增刊2):72 ̄75. [7]李军ꎬ陈叔平ꎬ毛红威ꎬ等.低温潜液泵出口管系振动
特性分析ꎬ低温技术ꎬ2016ꎬ44(9):29 ̄33. [8]崔巍升.化工厂管道振动原因分析及控制[J].流体机械ꎬ2011ꎬ39(10):34 ̄38.
[9]王新荣ꎬ蒋永波.有限元法基础及Ansys应用[M].北京:科学出版社ꎬ2008.
[10]浦广益.ANSYSWorkbench基础教程与实例详解[M].2版.北京:中国水利水电出版社ꎬ2010.
OptimizationoftheSupportFormforaSubmergedPump
ZHENGJi ̄ping1ꎬYIQi ̄chang1ꎬHUBin ̄bin1ꎬZHENGYu ̄lin2ꎬXIAOWei1
(1.WuhanMarineMachineryPlantCo.Ltd.ꎬWuhan430084ꎬChinaꎻ
2.TheThirdCo.ofHighwayEngineeringBureauofMinistryofCommunicationsꎬBeijing100000ꎬChina)Abstract:Submergedpumpstructureismadeupofslimpipes.Whensubmergedpumpworkatratedrevꎬtheresonancewillhappenatmainpipes.Aimingatthepipesresonanceproblemofsubmergedpumpꎬthepreloadmodalofasubmergedpumpwasanalyzedbyfiniteelementmethod.Supportmethodofthesubmergedpumppipeswasoptimizedaccordingtotheresultsofmodalanalysis.Theresultshowedthattheoptimaldesignavoidstheresonanceofthemainpipesneartheoperatingfrequencyofthesubmergedpumpꎻthevibrationmodeoptimizationmethodcaneffectivelyreducethedisadvantageouseffectoftheresonanceofslenderpipelineonthesystem.
Keywords:submergedpumpꎻfiniteelementmethodꎻmodalanalysisꎻsupportmethod
38。