,,,
(1.華中科技大學(xué) 材料科學(xué)與工程學(xué)院,武漢 430074;2.中國(guó)船級(jí)社技術(shù)研發(fā)中心,北京 100007)
船舶外殼建模是船舶整體建模的重要環(huán)節(jié),也是最復(fù)雜的部分[1-2]。目前主流型線建模軟件如TRIBON,F(xiàn)ORAN,CATIA等,操作較為繁雜,且使用成本較高[3-5]。船體各部分型線之間有著明顯的關(guān)聯(lián)關(guān)系,但目前大多型線建模軟件均未考慮其關(guān)聯(lián)特性,將型線設(shè)計(jì)成一條條獨(dú)立的曲線,缺乏整體性。針對(duì)型線參數(shù)化的研究,大多數(shù)注重對(duì)型線表達(dá)的參數(shù)化,而非考慮型線之間的關(guān)聯(lián)關(guān)系[6-7]。為此,考慮基于NX平臺(tái),充分利用NX平臺(tái)特征建模的優(yōu)勢(shì),建立型線參數(shù)化模型,使得三向光順更容易。在NX平臺(tái)基礎(chǔ)上,進(jìn)行深度二次開(kāi)發(fā)[8-9],增強(qiáng)型線之間關(guān)聯(lián)性以及編輯時(shí)的交互性。
從船殼整體角度出發(fā),考慮型線之間的關(guān)聯(lián)性,設(shè)計(jì)由點(diǎn)驅(qū)動(dòng)的型線模型,見(jiàn)圖1。
在整個(gè)系統(tǒng)中,型線與型線之間的交點(diǎn)僅有一個(gè)點(diǎn),如圖中Point1同時(shí)屬于HullLine1和HullLine2。通過(guò)修改該點(diǎn)(Point1)驅(qū)動(dòng)2條相交的型線(HullLine1、HullLine2)進(jìn)行更新。系統(tǒng)中曲面則由型線驅(qū)動(dòng),所有外殼的面片與型線進(jìn)行關(guān)聯(lián),如圖中Hull Surface與周?chē)?條型線關(guān)聯(lián),型線的修改將帶動(dòng)面片的更新。整個(gè)系統(tǒng)呈現(xiàn)出點(diǎn)動(dòng)則線動(dòng),線動(dòng)則面動(dòng)的同步更新?tīng)顟B(tài),如圖中所示,Point1的變動(dòng)引起HullLine1和HullLine2的更新,并最終帶動(dòng)Hull Surface的形狀發(fā)生變化。
船體型線具有平行中體部分曲率變化較小、船艏船艉曲率變化較大的特點(diǎn)[10- 11]。若將整根型線用一條三次樣條處理,會(huì)導(dǎo)致平行中體與船艏(船艉)連接部分的抖動(dòng),且很難消除。如圖2a)所示,在過(guò)渡區(qū)的誤差達(dá)到了18 mm。型線分段能夠消除連接處的抖動(dòng),增加型線的光順性。如圖2b),在增加了端點(diǎn)后,型線分為3段,完全消除了過(guò)渡區(qū)的抖動(dòng)。因此型線特征采用分段式設(shè)計(jì),分段點(diǎn)位置和分段線類型均可自由設(shè)置。另外,由于船尾部分的肋骨線會(huì)出現(xiàn)2段線分離,因此,分段線類型增加了選項(xiàng) “無(wú)”,加上直線和樣條曲線共有3種分段線類型。型線的分段后仍由型線自定義特征統(tǒng)一管理,雖然分為多段,但仍是一個(gè)特征,提高了型線的完整性。
基于以上觀點(diǎn),結(jié)合NXOpen C++自定義特征,設(shè)計(jì)系統(tǒng)型線自定義特征。見(jiàn)圖3。

為便捷操作,系統(tǒng)功能設(shè)計(jì)見(jiàn)圖4。
結(jié)合型線自定義特征設(shè)計(jì),系統(tǒng)實(shí)現(xiàn)了型線生成功能,可由EXCEL型值表自動(dòng)快速生成型線網(wǎng)格,流程見(jiàn)圖5,過(guò)程中幾乎無(wú)需用戶手工干預(yù),詳細(xì)過(guò)程如下。
圖5 型值表生成型線流程
1)導(dǎo)入型值表。分別將高度表和半寬表的EXCEL文件導(dǎo)入即可,程序自動(dòng)完成表格讀取與存儲(chǔ),并顯示在對(duì)話框中。
2)創(chuàng)建型值點(diǎn)。程序自動(dòng)從型值表中解析出型值點(diǎn)坐標(biāo),并以型線為單位創(chuàng)建出型值點(diǎn)。

4)型線預(yù)分段。為減少建模人員編輯次數(shù),提高操作效率,在型線生成過(guò)程中,系統(tǒng)對(duì)型線進(jìn)行預(yù)分段,預(yù)先設(shè)置好分段端點(diǎn)的切向。對(duì)于橫剖線,若存在與平底線或平邊線的交點(diǎn),則將該交點(diǎn)設(shè)置為端點(diǎn),將橫剖線分為船身、舭部和船底3段,并設(shè)置舭部的分段線類型為樣條曲線,其他2段為直線,舭部樣條曲線的2端點(diǎn)切向設(shè)置為相鄰直線段方向,見(jiàn)圖6a)。對(duì)于縱剖線,若存在與平底線的交點(diǎn),則將該交點(diǎn)設(shè)置為端點(diǎn),將縱剖線分為船艏、船艉及平行中體3段,其中平行中體部分分段線類型設(shè)置為直線,其他2段為樣條曲線,樣條曲線與直線相交處的端點(diǎn)切向設(shè)置為相鄰直線段方向,見(jiàn)圖6b)。對(duì)于水線,若存在與平邊線的交點(diǎn),則將該交點(diǎn)設(shè)置為端點(diǎn),將水線分為船艏、船艉及平行中體3段,其中平行中體部分分段線類型設(shè)置為直線,其他2段為樣條曲線,樣條曲線的端點(diǎn)切向設(shè)置同縱剖線,見(jiàn)圖6c)。
5)逐條生成型線。排序后的型值點(diǎn)按照預(yù)分段結(jié)果逐段擬合,得到完整的型線特征。生成的型線特征是一個(gè)有機(jī)的整體,線與點(diǎn)之間通過(guò)特征關(guān)聯(lián),線與線之間通過(guò)點(diǎn)關(guān)聯(lián)。
型線編輯主要目的是提升系統(tǒng)的容錯(cuò)率和適應(yīng)性,型線編輯的效率決定著建模效率。系統(tǒng)在型線自定義特征基礎(chǔ)上提供了功能全面、操作便捷的參數(shù)化編輯方式,功能點(diǎn)見(jiàn)圖7。
在型線形狀不理想的部位,通過(guò)插入點(diǎn)或移除點(diǎn)來(lái)調(diào)整型線形狀。插入與移除過(guò)程類似,以插入為例。
當(dāng)用戶添加一個(gè)點(diǎn)后,系統(tǒng)處理過(guò)程見(jiàn)圖8。插入點(diǎn)默認(rèn)為普通點(diǎn),記為點(diǎn)A。然后逐一計(jì)算點(diǎn)A與線上各點(diǎn)的距離,取距離最小點(diǎn)作為參考點(diǎn),記為點(diǎn)B。當(dāng)點(diǎn)B不是型線上最后一點(diǎn)時(shí),記型線上的下一個(gè)點(diǎn)為點(diǎn)C,計(jì)算∠ABC,若小于75°則將點(diǎn)A插入到點(diǎn)B后(見(jiàn)圖8a)),否則將點(diǎn)A插入到點(diǎn)B前(見(jiàn)圖8b))。當(dāng)點(diǎn)B是型線上最后一點(diǎn)時(shí),記型線上的上一個(gè)點(diǎn)為點(diǎn)C,計(jì)算∠ABC,若小于75°則將點(diǎn)A插入到點(diǎn)B前(見(jiàn)圖8c)),否則將點(diǎn)A插入到點(diǎn)B后(見(jiàn)圖8d))。點(diǎn)A位置確定后,需要對(duì)線上端點(diǎn)位置做相應(yīng)調(diào)整。若點(diǎn)A位置在兩端端點(diǎn)處,還需對(duì)端點(diǎn)做出相應(yīng)改變。
對(duì)于型線上復(fù)雜部位,如船艏和船艉,用戶可通過(guò)增減端點(diǎn)數(shù),從而改變分段數(shù),再通過(guò)編輯分段線類型,達(dá)到光順型線的目的。設(shè)原分段數(shù)為m,新分段數(shù)為m′。新增端點(diǎn)時(shí),m′=m+1,新增分段其分段線類型默認(rèn)為樣條曲線;減少端點(diǎn)時(shí),m′=m-1,即將原2段合并為1段,其分段線類型默認(rèn)為前一分段的類型。當(dāng)分段線類型為直線時(shí),將以該段2個(gè)端點(diǎn)生成1條直線,并將段內(nèi)其他點(diǎn)自動(dòng)移至直線上;當(dāng)分段線類型為樣條曲線時(shí),將以該段中包括端點(diǎn)在內(nèi)所有點(diǎn)擬合成1條三次樣條曲線。

型值表編輯可快速準(zhǔn)確添加型值點(diǎn),并能直觀修改型值點(diǎn)。為實(shí)現(xiàn)這一功能,提出系統(tǒng)型值表關(guān)聯(lián)技術(shù),主要包含以下3個(gè)部分。
1)型值表讀取與存儲(chǔ) 從EXCEL讀取型值表后,將型值表數(shù)據(jù)存入本地?cái)?shù)據(jù)庫(kù),以便再次使用。
2)型值點(diǎn)生成并關(guān)聯(lián) 從型值表解析出型值點(diǎn)坐標(biāo)后,創(chuàng)建出點(diǎn)特征,并將點(diǎn)的行列信息以NX對(duì)象屬性的方式進(jìn)行記錄,從而實(shí)現(xiàn)雙向關(guān)聯(lián)。
3)型值表再讀取并關(guān)聯(lián) 關(guān)閉型值表再次打開(kāi)時(shí),通過(guò)本地?cái)?shù)據(jù)庫(kù)讀取型值表,并根據(jù)行列信息建立型值點(diǎn)與型值表的關(guān)聯(lián)。
利用該技術(shù),可在型線創(chuàng)建完成后,將型值表中型值的修改同步展現(xiàn)在型線上。此外,用戶亦可在型值表中增刪型值,以在型線網(wǎng)格中同步增刪型值點(diǎn)。
為保證型線之間的關(guān)聯(lián)性,型線交叉部分均需生成交點(diǎn)。系統(tǒng)中,船舶型線采用分段式設(shè)計(jì),2條型線的求交問(wèn)題即為2組曲線的求交問(wèn)題,距離在誤差范圍內(nèi)的最近距離點(diǎn)可作為2條型線的交點(diǎn)。采用改進(jìn)后的離散化方法[12-13],處理過(guò)程見(jiàn)圖10,具體流程如下。
1)選取需求交的兩條型線中的一條,記為C1,求出該型線總長(zhǎng)L,求出截?cái)嚅L(zhǎng)度D=L/20。

3)需求交的2條型線中的另一條記為C2,C2也由多段組成,記為(B1,B2,,Bm)。取Si(i=1,2,,K)分別與Bj(j=1,2,,m)計(jì)算最小距離點(diǎn)PSij,PBj,若二者的距離在誤差范圍之內(nèi),可以認(rèn)為2點(diǎn)為同一點(diǎn),該點(diǎn)即為所要求的交點(diǎn),這里保留點(diǎn)PBi。
4)重復(fù)步驟3,將所有求出的交點(diǎn)保存至一個(gè)序列中記為(P1,P2,,Pt)。其中t為求得的交點(diǎn)個(gè)數(shù)。
5)刪除距離相近的點(diǎn),得到最終的交點(diǎn)集。
在NX 11.0平臺(tái)上,使用C++作為開(kāi)發(fā)語(yǔ)言,根據(jù)上述設(shè)計(jì)開(kāi)發(fā)出船舶型線三維參數(shù)化建模系統(tǒng),并在多種船型上進(jìn)行測(cè)試。測(cè)試計(jì)算機(jī)主要參數(shù)配置:Intel? CoreTMi7-7700 CPU @ 3.60 GHz,16 GB內(nèi)存,64位操作系統(tǒng)。
對(duì)318 000 t超大型油船進(jìn)行外殼建模,過(guò)程見(jiàn)圖11a),主要參數(shù)為:總長(zhǎng)332.9 m,型寬60 m,型深30.6 m。對(duì)180 000 DWT球艏散貨船進(jìn)行外殼建模的過(guò)程見(jiàn)11b),主要參數(shù):總長(zhǎng)295 m,型寬46 m,型深24.8 m。
2船型型線分布見(jiàn)表1。

表1 測(cè)試船型型線分布
圖11中,第一步通過(guò)導(dǎo)入型值表自動(dòng)生成型線,該過(guò)程僅需選擇型值表Excel文件導(dǎo)入,點(diǎn)擊“生成型線”按鈕即可完成。第二步利用系統(tǒng)豐富的型線編輯、插值型線、求交等功能進(jìn)行調(diào)整,達(dá)到曲面擬合要求。第三步利用NX曲線曲面建模功能建成完整外殼。建模過(guò)程時(shí)間消耗見(jiàn)表2。

表2 建模過(guò)程時(shí)間消耗
測(cè)試結(jié)果表明:系統(tǒng)能完成多種船型型線建模,與NX 11.0曲線曲面建模功能結(jié)合能建成多種船型的外殼模型,并能進(jìn)一步用于船舶內(nèi)部結(jié)構(gòu)建模。根據(jù)船型的不同,耗時(shí)有一定偏差,平均用時(shí)約1 h。對(duì)于較為復(fù)雜的球艏船型,能控制在2 h以內(nèi),具有較高的建模效率。
充分考慮各種船舶型線的特征,采用NX自定義特征建立型線模型,實(shí)現(xiàn)了型線之間參數(shù)化關(guān)聯(lián)與同步更新。采用NX二次開(kāi)發(fā)框架實(shí)現(xiàn)了完整的船舶型線三維參數(shù)化建模系統(tǒng)。用戶使用后表明,系統(tǒng)具有以下優(yōu)點(diǎn)。
1)快速型線生成。 型線生成過(guò)程除選擇型值表EXCEL文件外無(wú)需人工干預(yù)。
2)直觀的型值表編輯。 型值表與型值點(diǎn)關(guān)聯(lián),通過(guò)修改型值表能實(shí)現(xiàn)型線的編輯,并同步顯示在圖形區(qū)。
3)型線參數(shù)化設(shè)計(jì)。 型線通過(guò)自定義特征實(shí)現(xiàn),型線之間均通過(guò)型值點(diǎn)進(jìn)行關(guān)聯(lián)。
4)豐富的型線編輯功能。 型線自由度高,編輯功能齊全且均能通過(guò)型線自定義特征自動(dòng)引起相關(guān)聯(lián)型線同步更新,并實(shí)時(shí)顯示在圖形區(qū)。