副標題#e#
0前言
船舶設計時,需要繪制出船體肋骨型線圖和外板展開圖用于船體建造,使用傳統(tǒng)二維設計方法費時費力,需要計算出大量數(shù)據(jù)并人工進行大量的繪圖工作.而運用現(xiàn)在流行的三維實體技術(shù)可完成從草圖設計、計算加工到產(chǎn)品數(shù)據(jù)管理等一系列功能,可充分利用計算機高效準確的計算功能、圖形處理功能以及對復雜上程數(shù)據(jù)的存儲、傳遞、加上功能本文基于三維參數(shù)化設計技術(shù),借助計算機編程手段實現(xiàn)船體肋骨型線圖和外板展開圖的自動繪制和外板模型的建立;不僅可縮短船體肋骨型線圖和外板展開圖的繪制周期,也能保證船舶設計建造過程中外板數(shù)據(jù)信息的精確性和致性,以及為造船生產(chǎn)及定貨提供必要的條件.
1 軟件結(jié)構(gòu)
本文使用支持OLE和COM的編程語言VB.NET控制Solidworks API函數(shù)進行開發(fā)VB.NET建立的程序與Windows的操作界面一致,交互能力強大,可以方便地根據(jù)用戶需求進行設計與修改.采用Solidworks三維實體特征建模軟件作為圖形平臺Solidworks提供了幾百個API函數(shù),這此API函數(shù)是Solidworks的OLE或COM接口,對其進行二次開發(fā),就可建立需要的功能模塊.產(chǎn)品數(shù)據(jù)管理(PDM )是實現(xiàn)船舶產(chǎn)品設計和信息集成的重要手段,產(chǎn)品結(jié)構(gòu)與物料需求表(BOM)產(chǎn)生于產(chǎn)品的設計過程,木文將記錄的數(shù)據(jù)以BOM表的形式應用于后續(xù)的設計和制造.SQL Server作為后臺數(shù)據(jù)庫,提供信息管理模塊供用戶進行數(shù)據(jù)的管理、維護和輸出.軟件結(jié)構(gòu)如圖1所示.
2船體曲線與曲面的裹達與計算
2.1肋骨型線的表達與計算
鑒于船體型線具有造型靈活和局部性,選用非均勻有理B樣條CNURBS)曲線來描述肋骨型線可以保證計算的精確性控制點的權(quán)因子在程序中能影響到曲線形狀,具有局部性,方便對曲線進行分段處理,同時可以修改曲線的局部形狀程序中先獲取相應肋位的肋骨型線,在指定高度利用拉格朗日插值添加控制點,并讀取控制點的三維坐標信息.程序采用曲線擬和的方法求出曲線的經(jīng)驗公式,再將公式編入程序.采用最小二乘法.擬合完畢通過辛浦生公式計算出所有肋骨型線的實長,并把長度與肋位號保存入肋骨型線數(shù)據(jù)表中.
2.2船體曲面裹達與計算
NURBS曲面是一種對控制點加權(quán)的B樣條曲面.可以通過改變控制點的位置或控制點的權(quán)值來改變曲面的形狀,對個別控制頂點和權(quán)值的調(diào)整只影響曲而的局部形狀.因此用雙參數(shù)變量分段有理多項式來定義u向k次具有n+1個控制點,v向l次具有m+1個控制點的船體曲面:
船舶設計時,需要繪制出船體肋骨型線圖和外板展開圖用于船體建造,使用傳統(tǒng)二維設計方法費時費力,需要計算出大量數(shù)據(jù)并人工進行大量的繪圖工作.而運用現(xiàn)在流行的三維實體技術(shù)可完成從草圖設計、計算加工到產(chǎn)品數(shù)據(jù)管理等一系列功能,可充分利用計算機高效準確的計算功能、圖形處理功能以及對復雜上程數(shù)據(jù)的存儲、傳遞、加上功能本文基于三維參數(shù)化設計技術(shù),借助計算機編程手段實現(xiàn)船體肋骨型線圖和外板展開圖的自動繪制和外板模型的建立;不僅可縮短船體肋骨型線圖和外板展開圖的繪制周期,也能保證船舶設計建造過程中外板數(shù)據(jù)信息的精確性和致性,以及為造船生產(chǎn)及定貨提供必要的條件.
1 軟件結(jié)構(gòu)
本文使用支持OLE和COM的編程語言VB.NET控制Solidworks API函數(shù)進行開發(fā)VB.NET建立的程序與Windows的操作界面一致,交互能力強大,可以方便地根據(jù)用戶需求進行設計與修改.采用Solidworks三維實體特征建模軟件作為圖形平臺Solidworks提供了幾百個API函數(shù),這此API函數(shù)是Solidworks的OLE或COM接口,對其進行二次開發(fā),就可建立需要的功能模塊.產(chǎn)品數(shù)據(jù)管理(PDM )是實現(xiàn)船舶產(chǎn)品設計和信息集成的重要手段,產(chǎn)品結(jié)構(gòu)與物料需求表(BOM)產(chǎn)生于產(chǎn)品的設計過程,木文將記錄的數(shù)據(jù)以BOM表的形式應用于后續(xù)的設計和制造.SQL Server作為后臺數(shù)據(jù)庫,提供信息管理模塊供用戶進行數(shù)據(jù)的管理、維護和輸出.軟件結(jié)構(gòu)如圖1所示.
2船體曲線與曲面的裹達與計算
2.1肋骨型線的表達與計算
鑒于船體型線具有造型靈活和局部性,選用非均勻有理B樣條CNURBS)曲線來描述肋骨型線可以保證計算的精確性控制點的權(quán)因子在程序中能影響到曲線形狀,具有局部性,方便對曲線進行分段處理,同時可以修改曲線的局部形狀程序中先獲取相應肋位的肋骨型線,在指定高度利用拉格朗日插值添加控制點,并讀取控制點的三維坐標信息.程序采用曲線擬和的方法求出曲線的經(jīng)驗公式,再將公式編入程序.采用最小二乘法.擬合完畢通過辛浦生公式計算出所有肋骨型線的實長,并把長度與肋位號保存入肋骨型線數(shù)據(jù)表中.
2.2船體曲面裹達與計算
NURBS曲面是一種對控制點加權(quán)的B樣條曲面.可以通過改變控制點的位置或控制點的權(quán)值來改變曲面的形狀,對個別控制頂點和權(quán)值的調(diào)整只影響曲而的局部形狀.因此用雙參數(shù)變量分段有理多項式來定義u向k次具有n+1個控制點,v向l次具有m+1個控制點的船體曲面:
船體的大部分曲面為雙曲度曲面,先縱向展開,再確定其橫向位置.這樣可以最大限度地保證每根肋骨在展開圖上為直線,整個船體曲面的面積與展開后所有外板的面積和是一樣的,保證數(shù)據(jù)統(tǒng)計的精確性.按照程序設計的習慣先定義外板類,主要參數(shù)是展開后每塊四邊形外板的四點坐標,所有的信息被自動保存在數(shù)據(jù)庫中進行處理,按照設計者給定的距離劃分網(wǎng)格,利用區(qū)域面積不變的原則保證每個網(wǎng)格中曲面面積大小不變,畫出展開圖.
以肋骨#0和肋骨#1的展開為例.設定肋骨#0的橫向位置(沿船長方向)x1為己知,肋骨的起點高度和長度在肋骨設計中已經(jīng)求出,即其Y小標可知,利用求出的四邊形面積與兩條肋骨圍成的曲面面積S相等的原則,可計算出X2=2S/(H1+H2)+X1為肋骨#1的橫向位置(H1和H2分別為兩條肋骨的高度).類似地,從艦部肋骨開始計算直至船舷最后一根肋骨,依次計算并得到兩根肋骨間的曲面表達式,算出其面積,最終繪出展開圖.