單東生,龔京風(fēng),姚炎炎,王 晴
(1.武漢科技大學(xué)汽車與交通工程學(xué)院,湖北 武漢 430065;2.中國(guó)艦船研究設(shè)計(jì)中心,湖北 武漢 430064)
螺旋槳由于性能良好、效率較高等特點(diǎn),是目前使用最為廣泛的艦船推進(jìn)設(shè)備。它通過(guò)旋轉(zhuǎn)方式將主機(jī)傳遞過(guò)來(lái)的轉(zhuǎn)矩轉(zhuǎn)化為對(duì)外的推力,執(zhí)行船舶動(dòng)力的輸出。螺旋槳槳葉是典型的自由曲面零件,建模的關(guān)鍵問(wèn)題是較難準(zhǔn)確、快速得到螺旋槳葉切面的空間三維坐標(biāo)。螺旋槳的形狀無(wú)法用數(shù)學(xué)公式進(jìn)行描述,只能用數(shù)百個(gè)甚至更多的型值點(diǎn)來(lái)表示,并且從二維基礎(chǔ)數(shù)據(jù)到三維螺旋槳模型,需要大量的坐標(biāo)變換及建模操作。
近年來(lái),文獻(xiàn)[1]提出了螺旋槳型值點(diǎn)坐標(biāo)計(jì)算程序設(shè)計(jì)方法,通過(guò)ProE軟件將數(shù)據(jù)文件手動(dòng)導(dǎo)入進(jìn)行實(shí)體建模,但未進(jìn)行型值點(diǎn)導(dǎo)入軟件后的快速建模方法研究。文獻(xiàn)[2]對(duì)UG/Grip進(jìn)行二次開發(fā),對(duì)螺旋槳建模關(guān)鍵技術(shù)進(jìn)行探討,對(duì)槳葉葉尖、根部過(guò)度等關(guān)鍵部位進(jìn)行合理處理,建立精確的三維螺旋槳模型。文獻(xiàn)[3]利用MATLAB計(jì)算螺旋槳槳葉空間坐標(biāo)點(diǎn),通過(guò)ProE一次性讀入空間坐標(biāo)點(diǎn),但需手動(dòng)建立三維實(shí)體螺旋槳。文獻(xiàn)[4]利用Ex‐cel手動(dòng)操作完成槳葉型值點(diǎn)的計(jì)算,采用VB.NET 語(yǔ)言編寫程序,將Excel里的型值點(diǎn)坐標(biāo)值數(shù)據(jù)導(dǎo)入CATIA 中,生成型值點(diǎn)云圖,但最終仍需手動(dòng)完成螺旋槳三維模型的建立。
針對(duì)螺旋槳葉片模型結(jié)構(gòu)較為復(fù)雜,手工進(jìn)行三維建模操作繁瑣,并且容易出錯(cuò),需花費(fèi)較多的時(shí)間和精力,本文提出了一種快速、精確地螺旋槳建模方法。通過(guò)VB.NET對(duì)CATIA進(jìn)行二次開發(fā),實(shí)現(xiàn)了從輸入螺旋槳數(shù)據(jù)、螺旋槳三維空間點(diǎn)的計(jì)算及螺旋槳三維實(shí)體模型建立完全程序化,使得復(fù)雜的螺旋槳建模變得簡(jiǎn)單易操作。
螺旋槳二維基礎(chǔ)數(shù)據(jù)由不同半徑的同軸圓柱面與槳葉相切,經(jīng)過(guò)復(fù)雜投影變換得到。
二維基礎(chǔ)數(shù)據(jù)是局部平面坐標(biāo)系內(nèi)的數(shù)值,不可以直接用于三維建模,需要將各半徑處的葉切面二維基礎(chǔ)數(shù)據(jù)還原到對(duì)應(yīng)的三維空間坐標(biāo)系中[5]。
螺旋槳二維基礎(chǔ)數(shù)據(jù)包括:葉片弦長(zhǎng)方向坐標(biāo)X,葉片葉背及葉面坐標(biāo)(葉背及葉面與弦線的垂直距離)Y1、Y2,弦長(zhǎng)C,螺距P,半徑r,螺距角b,縱傾Ra,側(cè)斜Cs。通過(guò)以上參數(shù),可以推導(dǎo)出從平面局部坐標(biāo)系到空間全局坐標(biāo)系的坐標(biāo)變換公式。
首先建立坐標(biāo)系:以螺旋槳軸線為z軸,指向船尾為正;以弦長(zhǎng)為y軸,指向隨邊為正。由已知的X、Y1、Y2繪制葉片展開型線,如圖1所示。葉片型線坐標(biāo)為:
圖1 葉片展開型線Fig.1 Profile of Blade Expansion
式中:X—葉片弦長(zhǎng)方向坐標(biāo);C—弦長(zhǎng);Y1、Y2—葉片葉背及葉面坐標(biāo)(葉背及葉面與弦線的垂直距離);y0—由輸入表格中得到的葉片型線y坐標(biāo);z0背—由輸入表格中得到的葉片型線葉背z坐標(biāo);z0面—輸入表格中得到的葉片型線葉面z坐標(biāo)。
將葉片二維基礎(chǔ)數(shù)據(jù)沿y軸移動(dòng)Cs距離,繞x軸逆時(shí)針旋轉(zhuǎn)β角度,然后沿z軸正方向移動(dòng)總縱頃Ra距離,最后向同軸圓柱面投影,得到各切面處型值點(diǎn)的三維空間坐標(biāo)。最終得到螺旋槳葉切面二維基礎(chǔ)數(shù)據(jù)與三維型值點(diǎn)之間的轉(zhuǎn)換公式:
式中:x背—葉背x軸坐標(biāo)值;y背—葉背y軸坐標(biāo)值;z背—葉背z軸坐標(biāo)值;x面—葉面x軸坐標(biāo)值;y面—葉面y軸坐標(biāo)值;z面—葉面z軸坐標(biāo)值;r—半徑;X—給定的葉片弦長(zhǎng)方向坐標(biāo);C—弦長(zhǎng);Cs—側(cè)斜;β—螺距角;Y1—葉背與弦線的垂直距離;Y2—葉面與弦線的垂直距離;Ra—縱傾。
采用Excel完成螺旋槳二維基礎(chǔ)數(shù)據(jù)和三維型值點(diǎn)的存儲(chǔ),利用CATIA完成螺旋槳三維型值點(diǎn)的導(dǎo)入、曲面建模、實(shí)體填充等建模流程。選用VB.NET編程語(yǔ)言將螺旋槳槳葉型值點(diǎn)轉(zhuǎn)換公式程序化,同時(shí)實(shí)現(xiàn)與Excel、CATIA軟件的交互,最終輸出三維螺旋槳模型,建模過(guò)程中不再需要人工繁瑣操作。螺旋槳自動(dòng)建模流程圖,如圖2所示。
圖2 螺旋槳自動(dòng)建模流程圖Fig.2 Flow Chart of Propeller Automatic Modeling
在VB.NET環(huán)境下訪問(wèn)Excel文件,需要引用Excel對(duì)象庫(kù)[6]。添加的方法是在項(xiàng)目菜單欄下,選擇添加引用子菜單,然后在添加引用對(duì)話框的Com 選項(xiàng)卡下選擇Microsoft Excel 14.0 Object Library,如圖3所示。
圖3 添加Excel對(duì)象庫(kù)Fig.3 Addition of the Excel Object Library
螺旋槳二維基礎(chǔ)數(shù)據(jù)按照固定格式存儲(chǔ)在Excel中,程序?qū)⒆詣?dòng)讀取Excel中的數(shù)據(jù),利用螺旋槳槳葉數(shù)據(jù)轉(zhuǎn)換公式,計(jì)算得到螺旋槳三維空間型值點(diǎn),并存儲(chǔ)在三維型值點(diǎn)Excel文件中,便于后續(xù)導(dǎo)入CATIA。型值點(diǎn)轉(zhuǎn)換公式程序代碼如下所示:
XB=r*System.Math.Cos(((X?0.5*C+Cs)*System.Math.Cos(beta)+Y1*System.Math.Sin(beta))/r)
YB=r*System.Math.Sin(((X?0.5*C+Cs)*System.Math.Cos(beta)+Y1*System.Math.Sin(beta))/r)
ZB=(X?0.5*C+Cs)*System.Math.Sin(beta)?Y1*System.Math.Cos(beta)+Ra
XC=r*System.Math.Cos(((X?0.5*C+Cs)*System.Math.Cos(beta)+Y2*System.Math.Sin(beta))/r)
YC=r*System.Math.Sin(((X?0.5*C+Cs)*System.Math.Cos(beta)+Y2*System.Math.Sin(beta))/r)
ZC=(X?0.5*C+Cs)*System.Math.Sin(beta)?Y2*System.Math.Cos(beta)+Ra
3.2.1 螺旋槳三維建模方法
螺旋槳在CATIA 中的建模過(guò)程為:(1)按照槳轂尺寸數(shù)據(jù),構(gòu)建槳轂;(2)將槳葉三維型值點(diǎn)導(dǎo)入,按各截面位置連接成曲線,得到型值點(diǎn)云圖,如圖4所示;(3)通過(guò)多截面曲線,曲面填充等操作,得到閉合的槳葉曲面;(4)將曲面縫合,形成實(shí)體;(5)以Z軸為軸線,將槳葉進(jìn)行圓周陣列,得到完整螺旋槳,如圖5所示。
圖4 槳葉曲面型值點(diǎn)Fig.4 Points of Blade Surface
圖5 螺旋槳實(shí)體模型Fig.5 Model of the Propeller
3.2.2 CATIA的二次開發(fā)
通過(guò)編程方式訪問(wèn)CATIA對(duì)象有進(jìn)程內(nèi)訪問(wèn)和進(jìn)程外訪問(wèn)兩種方式。進(jìn)程內(nèi)訪問(wèn)是指腳本和CATIA 在同一進(jìn)程內(nèi)運(yùn)行,即在CATIA環(huán)境中運(yùn)用宏腳本實(shí)現(xiàn)。
進(jìn)程外訪問(wèn)是指腳本運(yùn)行不由CATIA 調(diào)用,CATIA 作為一個(gè)OLE(Object Linking and Embedding)自動(dòng)化服務(wù)器,外部程序通過(guò)COM(Component Object Model)接口來(lái)訪問(wèn)CATIA內(nèi)部的對(duì)象[7]。與進(jìn)程內(nèi)訪問(wèn)相比,進(jìn)程外訪問(wèn)功能強(qiáng)大,能夠制作個(gè)性化用戶界面,創(chuàng)建修改CATIA環(huán)境的數(shù)據(jù)參數(shù),并且擁有豐富的函數(shù)庫(kù)來(lái)滿足復(fù)雜的開發(fā)需要[8],因此本文選擇進(jìn)程外訪問(wèn)。
CATIA的二次開發(fā)主要有兩種:一種采用Automation技術(shù),另一種采用CAA(Component Application Architecture,組件應(yīng)用架構(gòu))技術(shù)[9]。
由于CAA 開發(fā)中涉及大量復(fù)雜的設(shè)計(jì)模式,而且必須用C++開發(fā),編譯環(huán)境也必須是達(dá)索提供的編譯環(huán)境,而Automation開發(fā)可以基于C++,也可以使用C#、VB.NET等語(yǔ)言,這使得開發(fā)難度大大降低。這里以VB.NET為開發(fā)工具,利用Automation技術(shù),建立進(jìn)程外應(yīng)用程序的方法進(jìn)行二次開發(fā)工作。
在Visual Studio下對(duì)CATIA進(jìn)行二次開發(fā),需要引用CATIA的對(duì)象庫(kù)。與引用Excel對(duì)象庫(kù)步驟相同,引用CATIA對(duì)象庫(kù)只需在添加引用對(duì)話框中選擇“CATIA V5 GSMInterfaces Object Li‐brary”,“CATIA V5 MecModInterfaces Object Library”,“CATIA V5 PartInterfaces Object Library”,“CATIA V5 ProductStructureIn‐terfaces Object Library”。
上述對(duì)象庫(kù)的引用包含了零件設(shè)計(jì)、GSD模塊、裝配設(shè)計(jì)等基本模塊。如需對(duì)其他模塊中操作,添加相關(guān)對(duì)象庫(kù)即可。在引用對(duì)象庫(kù)后,需要在代碼最前面加入相關(guān)Imports 語(yǔ)句,如下所示:
Imports ProductStructureTypeLib
Imports MECMOD
Imports PARTITF
Imports HybridShapeTypeLib
通過(guò)進(jìn)程外訪問(wèn)CATIA,存在GetObject或CreateObject兩種方法連接到CATIA上。其中,GetObject方法是在CATIA已經(jīng)運(yùn)行時(shí)建立連接,而CreateObject方法則是先啟動(dòng)CATIA后再建立連接。
一般將兩種方法合并起來(lái)使用,即無(wú)論CATIA是否運(yùn)行,程序都可以訪問(wèn)CATIA,代碼如下:
Dim CATIA As Object
On Error Resume Next
CATIA=GetObjec(t,"CATIA.Application")
If Err.Number<>0 Then
CATIA=CreateObjec(t"CATIA.Application")
CATIA.Visible=True
End If
On Error GoTo 0
與CATIA 建立連接,將建模過(guò)程宏錄制產(chǎn)生的VBScript 腳本進(jìn)行修改,得到可使用的VB.NET腳本,從而避免大量繁瑣代碼的編寫,提高開發(fā)效率[10]。
采用VB.NET建立的螺旋槳自動(dòng)建模軟件界面,如圖6所示。為了方便操作,界面上設(shè)置了三個(gè)按鈕、若干個(gè)TextBox控件以及一個(gè)PictureBox控件。通過(guò)單擊“打開Excel”按鈕,可以選擇存儲(chǔ)數(shù)據(jù)的Excel文件;單擊“讀取數(shù)據(jù)”按鈕,軟件讀取槳葉數(shù)據(jù)并轉(zhuǎn)換為三維型值點(diǎn);最后單擊“螺旋槳生成”按鈕,在CATIA中自動(dòng)生成螺旋槳實(shí)體模型。
圖6 螺旋槳自動(dòng)建模軟件界面Fig.6 Interface of Propeller Automatic Modeling Software
利用本文建立的螺旋槳自動(dòng)建模方法,基于P4119螺旋槳二維基礎(chǔ)數(shù)據(jù),建立槳葉三維模型。利用斑馬線檢查槳葉曲面光順性,結(jié)果,如圖7所示。
圖7 槳葉光順性檢查Fig.7 Inspection of Blade Smoothness
由圖可以看到,靠近槳轂處的斑馬線較為平滑,而葉稍處波動(dòng)較大,即葉稍處曲面不夠光順,因此需要通過(guò)CATIA對(duì)其構(gòu)成曲線進(jìn)行光順性調(diào)整。
將建立的p4119螺旋槳單個(gè)槳葉模型導(dǎo)入Workbench中,進(jìn)行模態(tài)分析。螺旋槳的楊氏模量為127GPa,泊松比為0.33,密度為8410kg/m3。采用四面體單元進(jìn)行網(wǎng)格劃分,單元長(zhǎng)度為2 mm,網(wǎng)格總數(shù)為13209,節(jié)點(diǎn)總數(shù)為24306,如圖8所示。
圖8 有限元模型Fig.8 Finite Element Model
將槳葉底面設(shè)置固定約束進(jìn)行模態(tài)計(jì)算,模態(tài)分析結(jié)果,如表1所示,各階振型圖,如圖9所示。
表1 螺旋槳葉前5階固有頻率Tab.1 First Five Natural Frequencies of Propeller Blades
模態(tài)分析獲得物體的固有頻率和振型,并且固有頻率是其本身的一種物理特征,由結(jié)構(gòu)、大小、形狀等因素決定。根據(jù)模態(tài)振型圖,看出葉梢部分變形最大,如圖9所示。與文獻(xiàn)[11]計(jì)算得到的前五階固有頻率相比,偏差都在5%以內(nèi)。主要原因是文獻(xiàn)[11]將FLUENT 劃分的網(wǎng)格模型經(jīng)過(guò)編程處理導(dǎo)入ANSYS 中,有限元模型建模方法以及網(wǎng)格模型不同,使得這里計(jì)算結(jié)果與其相比有所差別。
圖9 單個(gè)槳葉前5階振型Fig.9 First Five Modes of the Single Blade
這里利用VB.NET語(yǔ)言開發(fā)了螺旋槳自動(dòng)建模軟件,介紹了對(duì)Excel及CATIA軟件開發(fā)內(nèi)容,通過(guò)軟件建立p4119模型,并且運(yùn)用光順性檢查和模態(tài)分析檢驗(yàn)螺旋槳建模的正確性,得到如下結(jié)論:
(1)運(yùn)用推導(dǎo)的型值點(diǎn)轉(zhuǎn)換公式并且程序化,實(shí)現(xiàn)二維基礎(chǔ)數(shù)據(jù)到三維型值點(diǎn)的批量轉(zhuǎn)換,提高轉(zhuǎn)換效率以及正確率。
(2)通過(guò)對(duì)CATIA 的二次開發(fā),實(shí)現(xiàn)螺旋槳的自動(dòng)建模,避免手動(dòng)建模的繁瑣操作。
(3)基于本文提供的建模方法,可以有效簡(jiǎn)化建模過(guò)程,提高建模效率,為船用螺旋槳提供三維建模工具,為螺旋槳后續(xù)水動(dòng)力特性、結(jié)構(gòu)振動(dòng)特性等研究提供了便利。