,,
(深海載人裝備國家重點(diǎn)實(shí)驗室,江蘇 無錫 214082)
CATIA具有強(qiáng)大的船舶協(xié)同設(shè)計能力,在缺乏母型的船舶設(shè)計過程中,可以利用CATIA強(qiáng)大的曲面造型功能直接對外形進(jìn)行建模設(shè)計。在整個船舶設(shè)計周期中,從方案設(shè)計、技術(shù)設(shè)計、詳細(xì)設(shè)計到最后的施工設(shè)計中,涉及到多次船體型線的出圖工作。與Napa、Tribon等船舶專用設(shè)計軟件不同,CATIA軟件無法直接生成型值表和型線圖。因此,有的部門采用人工手動量取型值的方法。但是,以正常站位劃分,一次出圖往往需要多達(dá)幾百次的型值獲取,肋骨型線圖更是多達(dá)幾千個型值點(diǎn)。這種方法費(fèi)時費(fèi)力、重復(fù)性多、出錯率高,嚴(yán)重降低了工作效率。為此,考慮采用VB對CATIA進(jìn)行二次開發(fā),得到可以快速獲取復(fù)雜外形型值點(diǎn)和型線圖的程序,解決型線圖出圖效率低、繁瑣易錯的問題。
CATIA提供了COM和DCOM接口,支持從腳本到VB、VC、Delphi等通用開發(fā)工具,方便用戶特殊需求的定制[1]。VB6.0使用面向?qū)ο蠹夹g(shù),擁有多種功能強(qiáng)大的控件,可快速方便地進(jìn)行中小程序的開發(fā),在非專業(yè)程序設(shè)計人員中的使用量較大。本文采用VB6.0對CATIA進(jìn)行二次開發(fā)。在VB中,CATIA作為一個OLE自動化服務(wù)器,通過COM接口即可訪問CATIA內(nèi)部對象,引用CATIA的類庫對象即可對CATIA進(jìn)行相關(guān)的操作[2-4]。此外,程序還引用了EXCEL庫,可以方便地將型值表直接導(dǎo)出成Excel文件。運(yùn)用VB編寫程序設(shè)計界面,更直觀地進(jìn)行參數(shù)的輸入和數(shù)據(jù)的傳遞,驅(qū)動剖面型線劃分,最終導(dǎo)出型值表和型線圖。整個程序流程見圖1。
圖1 程序流程
在進(jìn)行完船舶外形三維建模后,將整個船殼外形結(jié)合成一張完整的曲面,沿中縱剖面對其分割,取其一半曲面并命名,比如命名為hull。在本程序的初始化設(shè)定模塊中,輸入該曲面所在幾何圖形集名稱和曲面名稱。通過該名稱,vb調(diào)用CAITA的Item()函數(shù)即可獲得該曲面的句柄。為了使結(jié)構(gòu)樹更加清晰,在初始化模塊中還應(yīng)自動創(chuàng)建相應(yīng)的幾何圖形集用來容納出圖的中間過程。除此之外,還應(yīng)設(shè)定要導(dǎo)出的型值表和型線圖的文件位置。在型線出圖過程中,可能會對站距、站位有調(diào)整,需要再次型線出圖,可以通過勾選刪除幾何圖形集復(fù)選框刪除上次出圖過程中的中間過程。
為了對剖面線與主體是否相交的判斷提供依據(jù),需要獲得曲面所在區(qū)域。AddNewExtremum語句可以獲得某一方向的極值,但是,某些特殊艇型艉部存在平面或者直線(見圖2),這種情況下獲得的X方向極值并不是點(diǎn)而是平面或者直線。
圖2 特殊艉部構(gòu)型
因此,可以進(jìn)一步增加Y和Z方向的極大值約束,來確保極值是單個點(diǎn)。
在型線參數(shù)設(shè)置界面對主要參數(shù)進(jìn)行輸入,見圖3。
圖3 型線參數(shù)設(shè)定界面
對橫剖面的中間整數(shù)站位數(shù)可以設(shè)置為11站、21站等任意站數(shù),可以方便地應(yīng)用于主體或圍殼出圖。艏部和艉部可以增加站位,分別以A和F代表,且站位數(shù)和站距可分別設(shè)置。在特定的位置,還可以添加1/2、1/4A、1/8F等非整數(shù)站位。增加的非整數(shù)剖面位置,通過使用冒泡排序法進(jìn)行排序,得到從小到大的序列,便于型值表導(dǎo)出。如果船型有特殊要求,也可以通過添加x坐標(biāo)添加任意站位??v剖面和水線面除了可以設(shè)置常規(guī)站位外,也可以添加任意位置剖面。
以高度值為例,半寬值方法相同。特定站位橫剖線與某一個縱剖線相交點(diǎn)數(shù)可能是0、1、2等,常見的復(fù)雜船型一般最多有4個型值點(diǎn),因此本程序在設(shè)置上最多能計算4個型值點(diǎn),如果型值點(diǎn)更多,可以對程序進(jìn)行擴(kuò)充來適應(yīng)更復(fù)雜的情況。
通過獲取縱剖線沿船長方向的極大值和極小值點(diǎn),得到該縱剖線沿船長方向的范圍。將橫剖線位置分別與其進(jìn)行比較,即可判斷二者是否存在交點(diǎn)。當(dāng)存在交點(diǎn)時,通過以下方法來確定交點(diǎn)個數(shù)。
對橫縱剖面交點(diǎn)hybridShapeIntersection采用AddNewNear語句添加離底部平面最近的約束,以得到最下方的單個點(diǎn)(點(diǎn)1),見圖4。
圖4 型值點(diǎn)數(shù)判斷方法
同時獲取靠近頂部平面最近的點(diǎn)2。如果2點(diǎn)坐標(biāo)相同,表明該處僅有1個交點(diǎn)。當(dāng)二者不同時,沿Z正方向從點(diǎn)1偏移0.001 mm創(chuàng)建平面,用其分割縱剖線,得到曲線2。曲線2與橫剖線相交,獲得最靠近底部平面的點(diǎn)3,如該點(diǎn)坐標(biāo)與點(diǎn)2相同,表明僅有2個點(diǎn)。如果二者不同,繼續(xù)使用以上方法得到曲線3和點(diǎn)4,如果點(diǎn)4與點(diǎn)2相同,表明僅存在3個點(diǎn),否則,存在4個點(diǎn)。使用以上方法可以自動判斷交點(diǎn)的個數(shù),適應(yīng)多種復(fù)雜情況。
CATIA中的三維模型需要通過工程制圖模塊轉(zhuǎn)換成二維型線圖,最終導(dǎo)出dwg格式的文件用于CAD處理。在程序中首先對主體使用AddNewVolumeCloseSurface函數(shù)封閉成實(shí)體,然后分別用橫、縱、水剖面與其相交,最后在工程制圖模塊對其進(jìn)行投影得到其輪廓。投影時,除了剖面其余全部隱藏,防止對出圖過程有干擾。在投影過程中,通過設(shè)定視圖坐標(biāo)系與頁面坐標(biāo)系之間的距離和角度,調(diào)整3個投影視圖的位置,防止出現(xiàn)重合干涉。CATIA投影視圖默認(rèn)隱藏遮擋住的線條,因此,需要對視圖的HiddenLineMode屬性進(jìn)行設(shè)定以顯示虛線,并自動導(dǎo)出成dwg文件。
采用圖5所示的某船型對以上方法和程序進(jìn)行驗證。限于篇幅選取較少剖面。在程序界面輸入了相關(guān)參數(shù)后,程序自動導(dǎo)出的型值表和型線圖見表1和圖6。對型線圖進(jìn)行標(biāo)注加框即可實(shí)現(xiàn)型線出圖。從型值表可以看出,程序?qū)崿F(xiàn)了整數(shù)非整數(shù)站位排序、特殊站位添加、特定格式型值表導(dǎo)出等功能。對于球鼻艏處,也成功地獲取了4個型值點(diǎn)。相較于人工量取型值點(diǎn),極大地提高了工作效率,降低了出錯率。
圖5 船模型及剖面劃分
圖6 程序?qū)С龅男途€圖
站號距基線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
使用VB對CATIA進(jìn)行二次開發(fā),介紹了程序思想和關(guān)鍵代碼,對相關(guān)程序開發(fā)具有借鑒作用。該程序?qū)崿F(xiàn)了對船舶型值表和型線圖的快速獲取功能,具有界面清晰簡潔、適應(yīng)性廣、出圖效率高的特點(diǎn),可增強(qiáng)可靠性,減少人為出錯。在整個設(shè)計生產(chǎn)過程中,可重復(fù)性強(qiáng),當(dāng)線型改變后,可以快速完成出圖任務(wù),可以使得科研設(shè)計人員輕松面對多條型號或者多個設(shè)計過程中的出圖任務(wù)。