張亞運(yùn),伍英杰,馬彥軍,田榴敏,肖 赟
(1. 滬東中華造船(集團(tuán))有限公司 信息技術(shù)研究所,上海 200129;2. 上海交通大學(xué) 船舶海洋與建筑工程學(xué)院,上海 200240)
關(guān)鍵字:集成策略;模型輕量化;三維標(biāo)注;統(tǒng)一模型
三維作業(yè)指導(dǎo)書使用定義到統(tǒng)一數(shù)字模型的集成工藝信息對生產(chǎn)環(huán)節(jié)中的中間產(chǎn)品進(jìn)行了數(shù)字化作業(yè)指示。目前,三維作業(yè)指導(dǎo)已廣泛應(yīng)用于航空和汽車工業(yè),但其在船舶工業(yè)的應(yīng)用才剛剛起步。同時(shí),國內(nèi)關(guān)于船舶工業(yè)實(shí)施三維作業(yè)指導(dǎo)的研究多集中于作業(yè)指導(dǎo)書的形式、基于國外CAD軟件和三維作業(yè)指導(dǎo)平臺的二次開發(fā)、針對船舶制造中特定生產(chǎn)環(huán)節(jié)的具體應(yīng)用等方面[1-4]。然而,基于自主造船CAD軟件,從設(shè)計(jì)源數(shù)據(jù)開始進(jìn)行工藝信息的系統(tǒng)集成與開發(fā),而后在自主三維作業(yè)指導(dǎo)平臺進(jìn)行應(yīng)用實(shí)踐等領(lǐng)域的研究工作尚為空白。
為實(shí)現(xiàn)基于自主造船設(shè)計(jì)系統(tǒng)(Ship Product Design,SPD)的三維工藝信息的系統(tǒng)集成,支撐自主三維作業(yè)指導(dǎo)平臺在船舶工業(yè)的應(yīng)用實(shí)踐,需要制定合適的工藝信息集成策略,并解決SPD系統(tǒng)的模型、標(biāo)注在三維作業(yè)指導(dǎo)平臺上應(yīng)用時(shí)的模型輕量化、三維標(biāo)注生成等問題。
實(shí)現(xiàn)工藝信息的集成,即將標(biāo)注、屬性等非模型信息定義到統(tǒng)一的工藝模型上,具體表現(xiàn)為將從SPD抽取的模型、標(biāo)注、屬性等數(shù)據(jù)文件相互一一對應(yīng)地關(guān)聯(lián)起來。這里采用在所有數(shù)據(jù)文件中嵌入模型 ID字段信息的方法,以期達(dá)到模型與標(biāo)注、屬性的唯一對應(yīng),以及各個(gè)信息之間可以直接索引的效果。
為滿足設(shè)計(jì)要求,SPD系統(tǒng)中的船體模型采用直線圓弧樣條曲線的表達(dá)方式,以便在建模過程中支持較高建模精度下的模型編輯功能。但三維作業(yè)指導(dǎo)平臺只會使用三角面片對模型進(jìn)行三維展示,精度也有所降低。由此,結(jié)合SPD系統(tǒng)的具體實(shí)際,采用降低弧線段分割密度的方法對船體模型進(jìn)行輕量化轉(zhuǎn)換,以滿足三維作業(yè)指導(dǎo)的模型顯示需求。
SPD系統(tǒng)擁有對模型進(jìn)行自動(dòng)二維標(biāo)注的功能,暫不支持三維標(biāo)注,但三維作業(yè)指導(dǎo)需要使用三維標(biāo)注對三維模型進(jìn)行說明。這里采用結(jié)合SPD模型對二維標(biāo)注進(jìn)行轉(zhuǎn)換的方法,生成三維標(biāo)注。
通過上述集成策略的使用以及相關(guān)問題的解決,以期實(shí)現(xiàn)基于SPD設(shè)計(jì)系統(tǒng)的工藝信息集成,能夠在自研三維作業(yè)指導(dǎo)平臺上實(shí)施作業(yè)指導(dǎo),并使用工程實(shí)例驗(yàn)證上述技術(shù)路線的可行性。
如圖1所示,在獲取到輕量化三維模型、三維標(biāo)注、制造屬性等數(shù)據(jù)后,分別將其按照指定格式存儲為JSON、XML類型的數(shù)據(jù)文件,并通過模型ID將3種信息一一對應(yīng)關(guān)聯(lián),從而將標(biāo)注、屬性定義到統(tǒng)一的工藝模型上,實(shí)現(xiàn)了工藝信息數(shù)據(jù)集的可檢索、可解析和可結(jié)構(gòu)化組織,為在三維作業(yè)指導(dǎo)平臺上的應(yīng)用提供了數(shù)據(jù)支撐。
圖1 三維工藝信息集成策略
三維模型本身的復(fù)雜性決定了模型龐大的數(shù)據(jù)量,如果不對三維模型進(jìn)行輕量化,則將使供終端渲染的中間數(shù)據(jù)交換文件過大,對計(jì)算機(jī)資源要求也較高,無法滿足制造現(xiàn)場快速瀏覽三維模型的需求。中性顯示模型數(shù)據(jù)交換采用三角面片表示零件的幾何形狀,具有實(shí)現(xiàn)快速瀏覽的顯著優(yōu)點(diǎn),本文采用的就是這種數(shù)據(jù)交換模式[5],即將SPD的三維模型數(shù)據(jù)輸出為三角面片供終端渲染使用。SPD在對三維模型的面片劃分過程中,遇到模型實(shí)體的邊界是曲線時(shí),要將曲線擬合成近似直線段來進(jìn)行描述,這與輸出模型時(shí)的輕量化控制密切相關(guān)[6]:1)擬合劃分得到的直線段越密集,三角面片數(shù)就越多,精度越高,中間模型文件則越大;2)劃分得到的直線段越稀疏,三角面片數(shù)就越少,精度就越低,中間模型文件就越小。
SPD系統(tǒng)采用圓弧直線樣條來描述曲線,以下圖2中的曲線ABC為例,其描述格式為(A點(diǎn)坐標(biāo)(XA,YA),AB段圓弧的半徑R,B點(diǎn)坐標(biāo)(XB,YB),0(標(biāo)識BC兩點(diǎn)之間為直線段),C點(diǎn)坐標(biāo)(XC,YC))。
圖2 SPD圓弧直線樣條曲線
通過設(shè)定圓弧段拱高對圓弧樣條曲線進(jìn)行精度控制步驟如下。
1)設(shè)定圓弧段拱高閥值σ。
2)計(jì)算劃分角度α。只有當(dāng)AB圓弧段的拱高H>σ時(shí),AB圓弧才段需要?jiǎng)澐?,劃分的原則是要使得劃分后的 PB段拱高h(yuǎn)≤σ,則劃分角度α=2arccos(1-σ/R)。
3)計(jì)算劃分段數(shù)N,N=θ/α向下取整再+1。
4)計(jì)算所有劃分點(diǎn)PK(K=1, 2, 3…N)。
由A、B這2個(gè)點(diǎn)確定直線方程為
由方程組計(jì)算O點(diǎn)(XO,YO),如下:
由極坐標(biāo)計(jì)算圓弧段起始角度θ1與終止角度θ2。
計(jì)算各等分角度Ak為
計(jì)算坐標(biāo)Pk(k=1,2,3…N)為
如圖3所示是設(shè)定2個(gè)不同σ值的情況下,一塊船體結(jié)構(gòu)板轉(zhuǎn)換成面片模型時(shí)的面片數(shù)對比,其中圖3b)中面片數(shù)約為圖3a)中的40%。所以,使用SPD輸出面向三維作業(yè)指導(dǎo)的輕量化模型時(shí),一般采用一個(gè)滿足終端顯示精度要求的較大閥值θ來進(jìn)行擬合劃分,從而輸出較輕量化的模型數(shù)據(jù)文件。
圖3 船體板模型三角面片化精度控制
基于SPD,為了實(shí)現(xiàn)三維作業(yè)指導(dǎo)平臺快速生成三維標(biāo)注數(shù)據(jù),本文采用了由已有二維標(biāo)注直接生成三維標(biāo)注的方法。三維標(biāo)注位置由所在標(biāo)注平面法矢和標(biāo)注基點(diǎn)決定,考慮到SPD二維工程圖紙上的視圖模型與三維設(shè)計(jì)模型一一對應(yīng),且SPD記錄了二維標(biāo)注的局部坐標(biāo)系、對應(yīng)的三維模型所在的三維模型空間坐標(biāo)系和標(biāo)注的二維繪制數(shù)據(jù)等信息,通過計(jì)算得到三維標(biāo)注平面法矢和標(biāo)注基點(diǎn),便可構(gòu)造出三維標(biāo)注。
SPD繪制二維標(biāo)注所在的基準(zhǔn)坐標(biāo)系為O-UVW,二維標(biāo)注繪制于UOV平面上,W為平面法向。O-UVW對應(yīng)于一個(gè)全船三維坐標(biāo)系下的局部坐標(biāo)系O1-X1Y1Z1,將法向W通過坐標(biāo)轉(zhuǎn)換到全船三維坐標(biāo)下,即可得到三維標(biāo)注繪制平面的法向向量W1,如式(6)
在二維圖紙中,尺寸標(biāo)注和引線標(biāo)注是最常用的,二者需要轉(zhuǎn)換計(jì)算的標(biāo)注基點(diǎn)有所不同,如下圖所示。
圖4 二維標(biāo)注的標(biāo)注基點(diǎn)
針對船體小組立和管子零件,其標(biāo)注基點(diǎn)的轉(zhuǎn)換計(jì)算策略分別如下。
3.2.1 船體結(jié)構(gòu)三維標(biāo)基點(diǎn)注轉(zhuǎn)換策略
在船體結(jié)構(gòu)的二維標(biāo)注中,尺寸標(biāo)注類型已包含三維標(biāo)注基點(diǎn)數(shù)據(jù),但引線標(biāo)注僅含有二維標(biāo)注數(shù)據(jù),所以需要計(jì)算得出三維標(biāo)注基點(diǎn),如下圖 5所示,計(jì)算引線二維標(biāo)注基點(diǎn)對應(yīng)的三維標(biāo)注基點(diǎn)的步驟如下:
1)將二維標(biāo)注基點(diǎn)P(UP, VP,0)轉(zhuǎn)換到全船三維坐標(biāo)系下,得到三維點(diǎn)P'(XP',YP',ZP'),計(jì)算采用式(6);
2)將垂直于視圖平面的W向量轉(zhuǎn)換到三維模型空間中,得到相應(yīng)三維方向的向量W',計(jì)算采用式(6);
3)三維點(diǎn)P'與W'確定一空間直線L,直線L與三維模型實(shí)體產(chǎn)生一系列的實(shí)體交點(diǎn),實(shí)體最上端的交點(diǎn)取為二維標(biāo)注基點(diǎn)對應(yīng)的三維標(biāo)注基點(diǎn)。
圖5 船體結(jié)構(gòu)二維標(biāo)注基點(diǎn)轉(zhuǎn)換計(jì)算
3.2.2 管子三維標(biāo)注基點(diǎn)轉(zhuǎn)換策略
SPD系統(tǒng)將三維管路模型在二維標(biāo)注坐標(biāo)平面上投影,三維管路節(jié)點(diǎn)(端點(diǎn)、中點(diǎn)等)投影出的二維節(jié)點(diǎn),便是二維標(biāo)注的標(biāo)注參考基點(diǎn)。因此,可以將相應(yīng)的三維管路節(jié)點(diǎn)作為二維標(biāo)注的三維標(biāo)注基點(diǎn)。已知二維視圖坐標(biāo)為O'-UVW(其中O'、W項(xiàng)在SPD中默認(rèn)為垂直于視圖平面的(0, 0, 1)),對應(yīng)的三維模型視區(qū)坐標(biāo)系O-XYZ,如下圖6所示,以前視圖的線性標(biāo)注為例,說明三維標(biāo)注基點(diǎn)的計(jì)算步驟。
1)將二維標(biāo)注基點(diǎn)P(UP, VP,0)轉(zhuǎn)換到三維模型空間中,得到三維點(diǎn)P'(XP', Y P', Z P'),計(jì)算采用式(6);
圖6 管子三維標(biāo)注基點(diǎn)轉(zhuǎn)換計(jì)算(單位:mm)
2)將垂直于視圖平面的W向量轉(zhuǎn)換到三維模型空間中,得到相應(yīng)的三維方向向量W',計(jì)算采用式(6);
3)三維點(diǎn)P'與W'確定空間直線L,求取距離直線L最近的三維管路模型節(jié)點(diǎn)Node,并取為三維標(biāo)注基點(diǎn)。
以VS C++為開發(fā)工具,使用面向?qū)ο蟮姆椒▽?shí)現(xiàn)了基于 SPD的三維工藝信息集成接口模塊的開發(fā)。而自研三維作業(yè)指導(dǎo)平臺系統(tǒng),則通過三維工藝信息集成模塊與SPD實(shí)現(xiàn)信息對接,并使用三維交互、結(jié)構(gòu)樹、屬性表、多視圖等功能進(jìn)行三維作業(yè)指示。
選取了SPD系統(tǒng)的多艘實(shí)船設(shè)計(jì)數(shù)據(jù),對一系列船體小組立和管子零件模型進(jìn)行了集成轉(zhuǎn)換輸出,將獲取的三維工藝集成信息在三維作業(yè)指導(dǎo)平臺上進(jìn)行工程驗(yàn)證。圖7和圖8
分別選取了一例船體小組立和管子零件在轉(zhuǎn)換前和轉(zhuǎn)換后的結(jié)果進(jìn)行展示,結(jié)果顯示SPD的輕量化幾何模型可以準(zhǔn)確渲染、轉(zhuǎn)換生成后的三維標(biāo)注,并準(zhǔn)確地描述產(chǎn)品的尺寸信息和制造屬性以滿足制造需求。
實(shí)例驗(yàn)證的結(jié)果表明:
1)信息集成策略滿足了將離散的工藝信息定義到統(tǒng)一三維模型的需求,并支持在三維作業(yè)指導(dǎo)平臺上對集成工藝信息的結(jié)構(gòu)化組織和快速索引;
圖7 船體小組立作業(yè)指導(dǎo)書
a) 二維作業(yè)指導(dǎo)書
2)輕量化后的SPD幾何模型滿足了三維作業(yè)指導(dǎo)平臺在終端機(jī)器上的低負(fù)擔(dān)渲染要求;
3)由二維標(biāo)注轉(zhuǎn)換得到的三維標(biāo)注對模型的描述準(zhǔn)確,可見本文中信息集成思路是可行的,且基于自主設(shè)計(jì)系統(tǒng) SPD和自研三維作業(yè)指導(dǎo)平臺的研究思路也為后續(xù)進(jìn)一步拓展研發(fā)提供了有力的技術(shù)基礎(chǔ)支撐。
圖8 管子零件作業(yè)指導(dǎo)書(單位:mm)