王 堯,朱 煜,李海波,孫浩月,朱明華
(江南造船(集團)有限責任公司 江南研究院,上海 201913)
隨著信息技術的不斷發展,三維設計技術憑借直觀易懂的優勢在航空、航天、船舶、汽車、能源和建筑等多個領域得到廣泛而深入的應用[1]。三維設計技術及以該技術為基礎的虛擬仿真技術已成為提高產品研制效率和改善產品質量的重要工具[2]。船舶工業因具有系統復雜、模型數據量大和邊設計邊生產的特點,使得三維設計技術在該領域的應用較為滯后。目前國內已引進Tribon、CADDS5和FORAN等三維設計軟件應用于船舶設計領域,取得了一定的成效,但還未完全實現全三維設計[3-6]。
近年來,法國達索公司推出的三維體驗平臺作為主流的計算機輔助設計(Computer Aided Design,CAD)/計算機輔助制造(Computer Aided Manufacturing,CAM)/計算機輔助工程(Computer Aided Engineering,CAE)一體化解決方案,涵蓋船舶建造從方案設計到生產設計的各個階段,在世界上擁有包括德國Meyer Werft船廠、法國DCNS集團、法國船級社和美國巴斯鋼鐵造船廠(Bath Iron Works,BIW)等在內的諸多客戶,但在國內船舶行業的應用還處于探索階段。
板材套料是船舶建造的重要環節,是船舶設計和建造銜接的紐帶。三維體驗平臺中的板材輪廓曲線多以參數化樣條曲線的形式存在,而在其輸出的XML(可擴展置標語言)文件中以NURBS(非均勻有理B樣條)曲線的形式描述輪廓。在輸出的XML文件導入套料軟件之后,套料軟件需將XML文件中的NURBS曲線轉換為板材切割機識別的直線和圓弧,2次數據轉換可能導致曲線精度下降,繼而影響零件的裝配。因此,若在輸出板材零件時就將其曲線輪廓轉換為直線和圓弧,即可避免上述問題。直線可作為半徑較大圓弧的近似,故通過曲線圓弧樣條插值即可提高三維體驗平臺輸出零件輪廓的精度,保證設計生產的一致性。本文以圓弧樣條插值為切入點,研究三維體驗平臺的數據結構和接口,探索三維體驗平臺的實船應用方法。
三維體驗平臺采用廣義坐標定義曲線,曲線上任意一點的位置由參數W確定,其三維坐標由基于W的參數方程確定。多樣條曲線由多條曲線連接而成,每條曲線均有其曲線參數。多樣條曲線上任意一點的位置既可由曲線全局參數確定,也可由其所在樣條曲線的參數確定。三維體驗平臺曲線具體定義方式見圖1。

圖1 三維體驗平臺曲線定義方式
由于三維體驗平臺并未給出其曲線的確切描述方程,僅給出計算曲線上任意一點的坐標、切線方向和曲率半徑等幾何信息的接口函數,故無法采用解析的方式對曲線進行插值,只能通過多次迭代逼近求解。求解方式為:
1) 求取曲線的拐點,將曲線分割為凹凸性一致的小段曲線;
2) 采用二分法,迭代求取滿足精度要求的各段圓弧,迭代求取給定插值點的最小誤差圓弧及給定圓弧的誤差。
方案流程見圖2。

圖2 圓弧樣條插值流程
在船體結構中,板材的邊界多為凹凸性一致的曲線,但在艏部和艉部的一些以外板為邊界的板,其邊界曲線的曲率變化劇烈,凹凸性不一致。因此,需首先求得邊界曲線中凹凸性變化的損點,將曲線分割為凹凸性一致的小段曲線。
在三維體驗平臺中,曲線多以參數化樣條曲線的形式存在。因此,可通過判斷參數化樣條曲線中控制點處的切向量的變化來判斷曲線的凹凸性變化。可通過差分代微分的方式計算控制點處的切向量變化,通過對比控制點附近點處的切向量與控制點切向量得到后者的變化。
圖3為參數化樣條控制點處曲率變化,參數化曲線上2個控制點A和B處的切向量分別為a、b,其附近點處的切向量分別為a′、b′。若(a×a′ )· (b×b′ ) > 0,則A、B兩點間的凹凸性未發生變化;若(a×a′ )· (b×b′ ) < 0,則A、B兩點間的凹凸性發生變化。

圖3 參數化樣條控制點處曲率變化
在凹凸性發生變化的兩點間,通過二分法多次迭代逼近,即可求得曲線拐點。采用二分法迭代求取拐點的流程見圖4。

圖4 采用二分法迭代求取曲線拐點流程
通過曲線上的拐點即可完成曲線分割,得到凹凸性一致的小段曲線。
在給定插值點之后,僅有2個插值點無法確定插值圓弧,但可求得誤差最小的最佳圓弧。最佳圓弧也通過二分法迭代逼近的方法求取。
在給定插值圓弧之后,需計算插值圓弧與原曲線之間的精度誤差。圖6為插值圓弧誤差計算,其中為待插值曲線為插值圓弧;點O′為插值圓弧的圓心;點D為曲線上的動點;點E為曲線上的動點。點D距插值圓弧的最短距離點E距插值圓弧的最短距離其中為插值圓弧的半徑。分別通過二分法迭代求得1Δ和2Δ的最大值1maxΔ和2maxΔ,二者中的最大值maxΔ即為該插值圓弧的誤差。

圖5 采用二分法求取最佳插值圓弧

圖6 插值圓弧誤差計算
根據上述圓弧樣條插值方案,結合三維體驗平臺的二次開發接口,開發實現曲線的自動插值。在三維體驗平臺上對插值結果進行重建,并將其與原曲線相對比。測試模型選取艉軸部船殼曲面作為邊界,初始誤差為0.1mm,插值結果見圖7,所得插值圓弧共20段。通過分段測量原始曲線與圓弧樣條之間的最大距離,可知插值的最大誤差為0.103mm,滿足精度要求。

圖7 圓弧樣條插值結果
本文針對三維體驗平臺在輸出曲線輪廓時進行多次曲線格式轉換導致精度丟失的問題,提出三維體驗平臺直接將曲線輸出為樣條圓弧的方案。通過對三維體驗平臺曲線定義方式進行分析,探索出采用二分法逐次迭代逼近的圓弧樣條插值方案。通過二次開發實現曲線的自動插值,在三維體驗平臺上將插值結果與原始曲線相對比,結果表明插值結果完全滿足精度要求。相關成果對應用三維體驗平臺進行生產制造具有一定的參考價值。