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

為便捷操作,系統功能設計見圖4。
結合型線自定義特征設計,系統實現了型線生成功能,可由EXCEL型值表自動快速生成型線網格,流程見圖5,過程中幾乎無需用戶手工干預,詳細過程如下。
圖5 型值表生成型線流程
1)導入型值表。分別將高度表和半寬表的EXCEL文件導入即可,程序自動完成表格讀取與存儲,并顯示在對話框中。
2)創建型值點。程序自動從型值表中解析出型值點坐標,并以型線為單位創建出型值點。

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

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

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

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

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