王 堯,朱 煜,李海波,孫浩月,朱明華
(江南造船(集團(tuán))有限責(zé)任公司 江南研究院,上海 201913)
隨著信息技術(shù)的不斷發(fā)展,三維設(shè)計(jì)技術(shù)憑借直觀易懂的優(yōu)勢(shì)在航空、航天、船舶、汽車(chē)、能源和建筑等多個(gè)領(lǐng)域得到廣泛而深入的應(yīng)用[1]。三維設(shè)計(jì)技術(shù)及以該技術(shù)為基礎(chǔ)的虛擬仿真技術(shù)已成為提高產(chǎn)品研制效率和改善產(chǎn)品質(zhì)量的重要工具[2]。船舶工業(yè)因具有系統(tǒng)復(fù)雜、模型數(shù)據(jù)量大和邊設(shè)計(jì)邊生產(chǎn)的特點(diǎn),使得三維設(shè)計(jì)技術(shù)在該領(lǐng)域的應(yīng)用較為滯后。目前國(guó)內(nèi)已引進(jìn)Tribon、CADDS5和FORAN等三維設(shè)計(jì)軟件應(yīng)用于船舶設(shè)計(jì)領(lǐng)域,取得了一定的成效,但還未完全實(shí)現(xiàn)全三維設(shè)計(jì)[3-6]。
近年來(lái),法國(guó)達(dá)索公司推出的三維體驗(yàn)平臺(tái)作為主流的計(jì)算機(jī)輔助設(shè)計(jì)(Computer Aided Design,CAD)/計(jì)算機(jī)輔助制造(Computer Aided Manufacturing,CAM)/計(jì)算機(jī)輔助工程(Computer Aided Engineering,CAE)一體化解決方案,涵蓋船舶建造從方案設(shè)計(jì)到生產(chǎn)設(shè)計(jì)的各個(gè)階段,在世界上擁有包括德國(guó)Meyer Werft船廠、法國(guó)DCNS集團(tuán)、法國(guó)船級(jí)社和美國(guó)巴斯鋼鐵造船廠(Bath Iron Works,BIW)等在內(nèi)的諸多客戶,但在國(guó)內(nèi)船舶行業(yè)的應(yīng)用還處于探索階段。
板材套料是船舶建造的重要環(huán)節(jié),是船舶設(shè)計(jì)和建造銜接的紐帶。三維體驗(yàn)平臺(tái)中的板材輪廓曲線多以參數(shù)化樣條曲線的形式存在,而在其輸出的XML(可擴(kuò)展置標(biāo)語(yǔ)言)文件中以NURBS(非均勻有理B樣條)曲線的形式描述輪廓。在輸出的XML文件導(dǎo)入套料軟件之后,套料軟件需將XML文件中的NURBS曲線轉(zhuǎn)換為板材切割機(jī)識(shí)別的直線和圓弧,2次數(shù)據(jù)轉(zhuǎn)換可能導(dǎo)致曲線精度下降,繼而影響零件的裝配。因此,若在輸出板材零件時(shí)就將其曲線輪廓轉(zhuǎn)換為直線和圓弧,即可避免上述問(wèn)題。直線可作為半徑較大圓弧的近似,故通過(guò)曲線圓弧樣條插值即可提高三維體驗(yàn)平臺(tái)輸出零件輪廓的精度,保證設(shè)計(jì)生產(chǎn)的一致性。本文以圓弧樣條插值為切入點(diǎn),研究三維體驗(yàn)平臺(tái)的數(shù)據(jù)結(jié)構(gòu)和接口,探索三維體驗(yàn)平臺(tái)的實(shí)船應(yīng)用方法。
三維體驗(yàn)平臺(tái)采用廣義坐標(biāo)定義曲線,曲線上任意一點(diǎn)的位置由參數(shù)W確定,其三維坐標(biāo)由基于W的參數(shù)方程確定。多樣條曲線由多條曲線連接而成,每條曲線均有其曲線參數(shù)。多樣條曲線上任意一點(diǎn)的位置既可由曲線全局參數(shù)確定,也可由其所在樣條曲線的參數(shù)確定。三維體驗(yàn)平臺(tái)曲線具體定義方式見(jiàn)圖1。
圖1 三維體驗(yàn)平臺(tái)曲線定義方式
由于三維體驗(yàn)平臺(tái)并未給出其曲線的確切描述方程,僅給出計(jì)算曲線上任意一點(diǎn)的坐標(biāo)、切線方向和曲率半徑等幾何信息的接口函數(shù),故無(wú)法采用解析的方式對(duì)曲線進(jìn)行插值,只能通過(guò)多次迭代逼近求解。求解方式為:
1) 求取曲線的拐點(diǎn),將曲線分割為凹凸性一致的小段曲線;
2) 采用二分法,迭代求取滿足精度要求的各段圓弧,迭代求取給定插值點(diǎn)的最小誤差圓弧及給定圓弧的誤差。
方案流程見(jiàn)圖2。
圖2 圓弧樣條插值流程
在船體結(jié)構(gòu)中,板材的邊界多為凹凸性一致的曲線,但在艏部和艉部的一些以外板為邊界的板,其邊界曲線的曲率變化劇烈,凹凸性不一致。因此,需首先求得邊界曲線中凹凸性變化的損點(diǎn),將曲線分割為凹凸性一致的小段曲線。
在三維體驗(yàn)平臺(tái)中,曲線多以參數(shù)化樣條曲線的形式存在。因此,可通過(guò)判斷參數(shù)化樣條曲線中控制點(diǎn)處的切向量的變化來(lái)判斷曲線的凹凸性變化??赏ㄟ^(guò)差分代微分的方式計(jì)算控制點(diǎn)處的切向量變化,通過(guò)對(duì)比控制點(diǎn)附近點(diǎn)處的切向量與控制點(diǎn)切向量得到后者的變化。
圖3為參數(shù)化樣條控制點(diǎn)處曲率變化,參數(shù)化曲線上2個(gè)控制點(diǎn)A和B處的切向量分別為a、b,其附近點(diǎn)處的切向量分別為a′、b′。若(a×a′ )· (b×b′ ) > 0,則A、B兩點(diǎn)間的凹凸性未發(fā)生變化;若(a×a′ )· (b×b′ ) < 0,則A、B兩點(diǎn)間的凹凸性發(fā)生變化。
圖3 參數(shù)化樣條控制點(diǎn)處曲率變化
在凹凸性發(fā)生變化的兩點(diǎn)間,通過(guò)二分法多次迭代逼近,即可求得曲線拐點(diǎn)。采用二分法迭代求取拐點(diǎn)的流程見(jiàn)圖4。
圖4 采用二分法迭代求取曲線拐點(diǎn)流程
通過(guò)曲線上的拐點(diǎn)即可完成曲線分割,得到凹凸性一致的小段曲線。
在給定插值點(diǎn)之后,僅有2個(gè)插值點(diǎn)無(wú)法確定插值圓弧,但可求得誤差最小的最佳圓弧。最佳圓弧也通過(guò)二分法迭代逼近的方法求取。
在給定插值圓弧之后,需計(jì)算插值圓弧與原曲線之間的精度誤差。圖6為插值圓弧誤差計(jì)算,其中為待插值曲線為插值圓弧;點(diǎn)O′為插值圓弧的圓心;點(diǎn)D為曲線上的動(dòng)點(diǎn);點(diǎn)E為曲線上的動(dòng)點(diǎn)。點(diǎn)D距插值圓弧的最短距離點(diǎn)E距插值圓弧的最短距離其中為插值圓弧的半徑。分別通過(guò)二分法迭代求得1Δ和2Δ的最大值1maxΔ和2maxΔ,二者中的最大值maxΔ即為該插值圓弧的誤差。
圖5 采用二分法求取最佳插值圓弧
圖6 插值圓弧誤差計(jì)算
根據(jù)上述圓弧樣條插值方案,結(jié)合三維體驗(yàn)平臺(tái)的二次開(kāi)發(fā)接口,開(kāi)發(fā)實(shí)現(xiàn)曲線的自動(dòng)插值。在三維體驗(yàn)平臺(tái)上對(duì)插值結(jié)果進(jìn)行重建,并將其與原曲線相對(duì)比。測(cè)試模型選取艉軸部船殼曲面作為邊界,初始誤差為0.1mm,插值結(jié)果見(jiàn)圖7,所得插值圓弧共20段。通過(guò)分段測(cè)量原始曲線與圓弧樣條之間的最大距離,可知插值的最大誤差為0.103mm,滿足精度要求。
圖7 圓弧樣條插值結(jié)果
本文針對(duì)三維體驗(yàn)平臺(tái)在輸出曲線輪廓時(shí)進(jìn)行多次曲線格式轉(zhuǎn)換導(dǎo)致精度丟失的問(wèn)題,提出三維體驗(yàn)平臺(tái)直接將曲線輸出為樣條圓弧的方案。通過(guò)對(duì)三維體驗(yàn)平臺(tái)曲線定義方式進(jìn)行分析,探索出采用二分法逐次迭代逼近的圓弧樣條插值方案。通過(guò)二次開(kāi)發(fā)實(shí)現(xiàn)曲線的自動(dòng)插值,在三維體驗(yàn)平臺(tái)上將插值結(jié)果與原始曲線相對(duì)比,結(jié)果表明插值結(jié)果完全滿足精度要求。相關(guān)成果對(duì)應(yīng)用三維體驗(yàn)平臺(tái)進(jìn)行生產(chǎn)制造具有一定的參考價(jià)值。