,,,
(1.武漢理工大學(xué) 交通學(xué)院, 武漢 430063;2.廣州文沖船廠有限責(zé)任公司,廣州 510727)
為了滿足設(shè)計(jì)中不斷改進(jìn),制造中節(jié)約成本,一次成型的需求,關(guān)于快速有效的船用螺旋槳三維建模方法研究集中在不需要計(jì)算,完全利用二維圖“纏繞”變換來(lái)生成螺旋槳三維曲面[1];基于CATIA軟件平臺(tái),將二維圖進(jìn)行“逆向投影”的螺旋槳三維曲面建模[2];通過(guò)坐標(biāo)變換將變換后的螺旋槳曲面型值點(diǎn)導(dǎo)入Pro/E中得到光滑曲面,進(jìn)而得到螺旋槳實(shí)體模型[3-4];設(shè)計(jì)螺旋槳二維圖形和三維實(shí)體之間轉(zhuǎn)換的代碼[5],等方面。為了避免傳統(tǒng)幾何建模方法的手工操作量大的缺點(diǎn),結(jié)合坐標(biāo)變換自動(dòng)化的思想,提出一種基于CATIA二次開發(fā)和坐標(biāo)變換的船用螺旋槳三維建模新方法。
CATIA軟件提供了多種二次開發(fā)的接口,其中包括自動(dòng)化對(duì)象編程(V5 Automation)和開放的基于構(gòu)件的應(yīng)用編程接口(CAA)。其中,Automation開發(fā)模式可以完成絕大部分開發(fā)工作,只有少部分不足之處才采取CAA開發(fā)方式進(jìn)行補(bǔ)充。Automation開發(fā)模式又可分為以下幾種 。
1)VBA Project。采用CATIA提供的VBA集成開發(fā)環(huán)境進(jìn)行程序設(shè)計(jì),屬于CATIA進(jìn)程內(nèi),能夠設(shè)計(jì)窗體界面,且可以方便地把生成的程序添加到CATIA工具條中。
2)CATIA宏腳本。采用VBScript語(yǔ)言編寫代碼,可以把程序集成到CATIA工具條中,但腳本程序的輸入輸出功能較弱,無(wú)法實(shí)現(xiàn)復(fù)雜的交互界面。
3)其他腳本語(yǔ)言。采用VBScript、JavaScript、Python等語(yǔ)言編寫代碼,在CATIA以外執(zhí)行(進(jìn)程外),可以寫成短小靈活的代碼集成到其他應(yīng)用中。
4)高級(jí)語(yǔ)言。采用VB.net、C#等高級(jí)語(yǔ)言編寫代碼,可以制作比較復(fù)雜的交互界面,利用.net優(yōu)勢(shì)簡(jiǎn)化復(fù)雜業(yè)務(wù)流程設(shè)計(jì)任務(wù)。
螺旋槳的主要參數(shù)包括縱斜角(后傾角)、螺距比、盤面比、母線到葉片隨邊的距離、母線到葉片導(dǎo)邊的距離、葉片寬度、葉片厚度、導(dǎo)邊至最厚點(diǎn)的距離和螺旋槳葉切面尺寸表等。
以直徑為0.25 m的MAU4-40型的模型螺旋槳為實(shí)例,根據(jù)MAU型螺旋槳槳葉輪廓尺寸表(見(jiàn)表1)計(jì)算得到模型螺旋槳的伸張輪廓尺寸,包括葉片寬度W(以最大葉片寬度的%表示)、母線到葉片隨邊的距離L1、母線到葉片導(dǎo)邊的距離L2、葉片厚度T(以螺旋槳直徑的%表示)、導(dǎo)邊至最厚點(diǎn)的距離L3(以葉片寬度%表示)等。根據(jù)MAU型葉切面尺寸表(見(jiàn)表2)計(jì)算得到不同半徑葉切面的二維型值點(diǎn),以上數(shù)據(jù)組成了傳統(tǒng)二維圖紙中的數(shù)據(jù)信息。
由表1、2中參數(shù)的排布規(guī)律可知,選擇Excel工具進(jìn)行數(shù)據(jù)的計(jì)算處理和保存十分方便。
表1 MAU螺旋槳槳葉輪廓尺寸表
表2 改進(jìn)MAU型葉切面尺寸表
注:X-葉切面輪廓型值點(diǎn)橫坐標(biāo),Yo-葉背縱坐標(biāo),Yu-葉面縱坐標(biāo)。
根據(jù)螺旋槳的二維圖制圖原理和螺旋槳的幾何特征給出螺旋槳葉切面型值點(diǎn)由二維變換到三維的變換公式[6]。
(1)
Z=Y1sinφ+Z1cosφ+Lsinφ-Ritanθ
式中:Ri為不同葉切面所處圓柱面的半徑值;L為參考線至最厚點(diǎn)的距離;φ為螺旋角;θ為縱傾角;Y1、Z1為中間局部坐標(biāo)系中任一點(diǎn)坐標(biāo)值。
由于坐標(biāo)系的定義方式不同,將葉切面尺寸坐標(biāo)值適應(yīng)到以上計(jì)算公式中需換算。
Y1=y-A-L
(2)
Z1=z
(3)
式中:y、z是由葉切面尺寸表得到的初始坐標(biāo)值;A為導(dǎo)邊至母線的距離。
將以上公式進(jìn)行編輯添加,融入前述二維型值點(diǎn)數(shù)據(jù)保存的Excel文檔中,能夠快速計(jì)算得到相應(yīng)的三維型值點(diǎn)坐標(biāo)值,并以和葉切面尺寸表相同的格式進(jìn)行保存,便于后續(xù)讀取。
在Microsoft Visual Studio 2010中采用VB.net語(yǔ)言編寫坐標(biāo)點(diǎn)批量導(dǎo)入程序,讀取保存在Excel里的型值點(diǎn)坐標(biāo)值數(shù)據(jù),在CATIA中生成描述螺旋槳葉曲面的型值點(diǎn)。VB.net語(yǔ)言屬于高級(jí)語(yǔ)言,使用該語(yǔ)言編寫代碼訪問(wèn)CATIA屬于進(jìn)程外訪問(wèn)。相比于進(jìn)程內(nèi)訪問(wèn)的二次開發(fā)方法進(jìn)行批量導(dǎo)入[7],進(jìn)程外訪問(wèn)需要注意以下2點(diǎn)。
1)建立與CATIA的通信連接。要想訪問(wèn)CATIA內(nèi)部的對(duì)象,首先要與CATIA進(jìn)行通信連接,對(duì)Excel中保存的型值坐標(biāo)值的讀取也是相同道理。使用GetObject或者CreateObject功能函數(shù)來(lái)創(chuàng)建連接。其中,GetObject功能函數(shù)是在CATIA軟件啟動(dòng)的狀態(tài)下創(chuàng)建連接,CreateObject功能函數(shù)是在CATIA軟件未啟動(dòng)的狀態(tài)下首先啟動(dòng)軟件然后創(chuàng)建連接。代碼如下。
On Error Resume Next
CATIA = GetObject(, "CATIA.Application")
If Err.Number <> 0 Then
CATIA = CreateObject("CATIA.Application")
CATIA.Visible = True
End If
2)添加CATIA編程接口引用。在VB.net中操作CATIA COM(component object model,部件對(duì)象模型)對(duì)象,需要為程序添加CATIA編程接口的引用。因?yàn)樵贏utomation中,每個(gè)對(duì)象都包含在某個(gè)接口中,而只有引用了相關(guān)接口后,才能操作對(duì)應(yīng)的對(duì)象。在Automation幫助文檔中,可以很方便地查看某個(gè)對(duì)象所對(duì)應(yīng)的接口,如PartDocument對(duì)象,在Automation中點(diǎn)擊相應(yīng)頁(yè)面上方的“This Framework”命令可以查詢到其對(duì)應(yīng)的接口為MecModInterfaces Framework。在程序代碼的最開始,使用Imports方法對(duì)涉及到的接口依次聲明引用,然后編寫后面的功能代碼。設(shè)計(jì)的槳葉曲面型值點(diǎn)批量導(dǎo)入程序界面見(jiàn)圖1。
圖1 型值點(diǎn)批量導(dǎo)入程序界面
通過(guò)輸入所保存型值點(diǎn)首末點(diǎn)在Excel單元格中的行序和列序值,可以按需自動(dòng)批量導(dǎo)入生成一系列三維型值點(diǎn)。最終生成的型值點(diǎn)云圖見(jiàn)圖2(曲線為后續(xù)手動(dòng)添加)。
圖2 槳葉曲面型值點(diǎn)云圖
在CATIA的GSD(generative shape disign)模塊中對(duì)曲線進(jìn)行曲率分析。對(duì)槳葉輪廓某2條曲線進(jìn)行曲率分析的結(jié)果見(jiàn)圖3。
從圖3能夠很直觀地看到r=0.2R處的葉切面輪廓線不夠光順,因?yàn)橛汕€曲率半徑所組成的曲率梳不光滑,在靠近導(dǎo)邊一側(cè)有明顯的突變,需要進(jìn)行調(diào)整。而r=0.8R處的葉切面輪廓線的曲率半徑組成的曲率梳都很光滑,故該曲線光順性較好,不必修改。通過(guò)對(duì)圖4中選項(xiàng)的調(diào)節(jié),可以讓分析結(jié)果以不同的形式展現(xiàn)出來(lái),使結(jié)果的表現(xiàn)更加直觀,如曲率值和曲率半徑值的切換、曲率梳的密度、特殊曲率值的顯示等。通過(guò)對(duì)每根輪廓線進(jìn)行曲率分析,對(duì)不光順曲線進(jìn)行調(diào)整,為后續(xù)生成光滑的槳葉曲面做鋪墊。
圖3 葉切面輪廓曲線曲率分析
圖4 箭狀曲率分析對(duì)話框
將所有葉切面輪廓曲線、隨邊和導(dǎo)邊進(jìn)行光順后,就可以構(gòu)建槳葉曲面了。并且,構(gòu)建的槳葉曲面的光順性可以進(jìn)一步通過(guò)CATIA軟件中FreeStyle模塊下豐富的曲面分析功能進(jìn)行檢驗(yàn)。
基于光照模型的2種比較直觀的曲面分析方法的分析結(jié)果見(jiàn)圖5。
圖5 斑馬線分析圖
由圖5不難看出,靠近槳轂端的斑馬線比較平滑,而葉稍附近的斑馬線則波動(dòng)較大,即葉稍附近的曲面不夠光順,需要返回對(duì)構(gòu)成它的曲線進(jìn)行進(jìn)一步調(diào)整光順。利用命令分析得到的結(jié)果見(jiàn)圖6。原理是將系統(tǒng)中默認(rèn)的名為“beach”的圖片上的景物映射到曲面上,通過(guò)判斷映射到曲面上景物的紋理的光滑度判斷曲面的光順性。同圖5,容易看出在葉稍附近景象的紋理出現(xiàn)了扭曲,不光滑,因此可以判斷出此處曲面光順性較差,需要調(diào)整。
圖6 環(huán)境映射分析圖
螺旋槳是由槳葉和槳轂兩部分組成。光滑的槳葉曲面(見(jiàn)圖7,包括頁(yè)面、葉背和葉根曲面)構(gòu)建好后,進(jìn)一步生成槳葉實(shí)體(見(jiàn)圖8),通過(guò)圓形陣列,得到4個(gè)槳葉實(shí)體,然后根據(jù)槳轂相關(guān)設(shè)計(jì)參數(shù),繪制槳轂實(shí)體,最終得到螺旋槳三維模型,見(jiàn)圖9。
圖7 槳葉曲面
圖8 槳葉實(shí)體
圖9 螺旋槳實(shí)體
本方法避免了傳統(tǒng)螺旋槳三維建模方法的繁復(fù)的手工操作,充分展現(xiàn)了CATIA軟件靈活的二次開發(fā)方式以及該軟件在曲面造型方面的強(qiáng)大功能。并且,由于CATIA軟件同其他分析軟件(如Fluent,Abaqus等)有很好的數(shù)據(jù)兼容性,使得本方法生成的船用螺旋槳三維模型具有極大的重用性,可以為后期的水動(dòng)力性能分析、強(qiáng)度校核等提供方便。