簡(jiǎn)琤峰 孫 暢
浙江工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,杭州,310023
基于模型定義的產(chǎn)品信息移動(dòng)Web輕量化實(shí)現(xiàn)
簡(jiǎn)琤峰 孫 暢
浙江工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,杭州,310023
針對(duì)STEP AP242提出了多視圖語(yǔ)義模型,在此基礎(chǔ)上進(jìn)行語(yǔ)義本體化實(shí)現(xiàn)對(duì)產(chǎn)品幾何與非幾何語(yǔ)義信息的統(tǒng)一;然后提出了一種基于邊界特征的輕量化算法,該算法在保留產(chǎn)品非幾何信息的前提下,裁剪產(chǎn)品模型,簡(jiǎn)化三角面片,降低數(shù)據(jù)復(fù)雜度;最后給出了實(shí)驗(yàn)數(shù)據(jù)分析以證明該算法的可行性。
移動(dòng)Web;STEP;語(yǔ)義模型;輕量化
STEP產(chǎn)品數(shù)據(jù)用中性描述語(yǔ)言精確描述了零件三維幾何和拓?fù)潢P(guān)系信息。傳統(tǒng)的CAD平臺(tái)通過(guò)解析該中性描述語(yǔ)言,調(diào)用CAD平臺(tái)的圖形引擎繪制渲染,來(lái)實(shí)現(xiàn)產(chǎn)品模型共享,例如STEP的NURBS繪制[1]。這種技術(shù)對(duì)平臺(tái)性能有很高的要求,移動(dòng)終端無(wú)法滿(mǎn)足要求。此外,移動(dòng)網(wǎng)絡(luò)環(huán)境下,瀏覽器難以理解EXPRESS 語(yǔ)言描述的產(chǎn)品數(shù)據(jù),缺乏對(duì)STEP中性文件的支持。常用的方法是將產(chǎn)品數(shù)據(jù)的三角面片網(wǎng)格化,這種繪制方法簡(jiǎn)單但是數(shù)據(jù)量極大,數(shù)據(jù)的傳遞和繪制過(guò)程也很耗時(shí),因此也難以適應(yīng)移動(dòng)終端需求。傳統(tǒng)的STEP產(chǎn)品數(shù)據(jù)三維展示技術(shù)均難以適應(yīng),必須在不影響產(chǎn)品數(shù)據(jù)完整性的前提下對(duì)STEP產(chǎn)品數(shù)據(jù)模型進(jìn)行相應(yīng)的裁剪簡(jiǎn)化才能適應(yīng)移動(dòng)終端的性能。
目前,通過(guò)采用三角化網(wǎng)格模型表達(dá)可實(shí)現(xiàn)大型復(fù)雜模型的快速加載與顯示,TAUBIN等[2]、TOUMA等[3]提出的基于網(wǎng)格幾何無(wú)損壓縮的高效編碼算法可以很好地表述三角化網(wǎng)格模型。網(wǎng)格模型簡(jiǎn)化算法是在保證一定的精度情況下盡可能減少三角網(wǎng)格數(shù)目,比較典型的算法包括基于面合并的算法、頂點(diǎn)刪除算法等[4]。SEO等[5]設(shè)計(jì)了Wrap-around操作算法以及基于特征簡(jiǎn)化的多細(xì)節(jié)層次實(shí)體模型對(duì)實(shí)體模型進(jìn)行簡(jiǎn)化。LEE[6]根據(jù)識(shí)別得到的影響模型外觀的特征,例如模型的孔、槽等細(xì)節(jié)特征,依據(jù)模型所需的細(xì)節(jié)標(biāo)準(zhǔn)刪除某些細(xì)節(jié)特征,生成簡(jiǎn)化模型。張霞等[7-8]根據(jù)各三角形折疊時(shí)產(chǎn)生的誤差大小對(duì)模型進(jìn)行三角形折疊簡(jiǎn)化,并通過(guò)二階加權(quán)傘算子對(duì)簡(jiǎn)化模型中局部存在的狹長(zhǎng)三角形進(jìn)行優(yōu)化處理,以改善三角網(wǎng)格模型的質(zhì)量。另外,迭代邊緣收縮[9]、 XVL壓縮轉(zhuǎn)換[10]、基于語(yǔ)義的輕量級(jí)數(shù)據(jù)集成方法[11]、文件格式轉(zhuǎn)換為適合網(wǎng)絡(luò)流式的輸出[12]以及協(xié)同環(huán)境下的輕量化的3D異構(gòu)CAD模型干涉檢查[13]在產(chǎn)品數(shù)據(jù)輕量化領(lǐng)域的應(yīng)用都具有一定的借鑒意義。
可見(jiàn)輕量化技術(shù)在產(chǎn)品實(shí)體模型剪裁和繪制方面應(yīng)用廣泛。一般輕量化過(guò)程中都著重關(guān)注幾何信息,容易忽略語(yǔ)義信息部分的保留和表達(dá)。傳統(tǒng)的產(chǎn)品數(shù)據(jù)三角面片網(wǎng)格化數(shù)據(jù)量大無(wú)法適應(yīng)移動(dòng)終端的性能,而一般的三角網(wǎng)格簡(jiǎn)化方法會(huì)丟失大量的產(chǎn)品語(yǔ)義信息,無(wú)法滿(mǎn)足STEP產(chǎn)品信息在移動(dòng)終端上的語(yǔ)義交換和展示需求。本文借助STEP AP242[14]標(biāo)準(zhǔn)富于語(yǔ)義信息的特點(diǎn),通過(guò) OWL2/SWRL本體描述的方式建立了多視圖語(yǔ)義模型(multi-view semantic model,MVSM),將產(chǎn)品信息中的幾何信息與非幾何語(yǔ)義信息結(jié)合起來(lái)統(tǒng)一表達(dá)。針對(duì)幾何信息提出了一種基于邊界特征的輕量化算法,在保留產(chǎn)品非幾何語(yǔ)義信息的前提下,裁剪STEP AP242產(chǎn)品信息模型,以適應(yīng)移動(dòng)終端需求。
STEP AP242在擁有大量的幾何信息的基礎(chǔ)上包含有特征信息、PMI制造信息、功能信息以及設(shè)計(jì)意圖信息等豐富的語(yǔ)義信息。本文提出的多視圖語(yǔ)義模型MVSM由設(shè)計(jì)意圖視圖、產(chǎn)品制造信息視圖以及功能信息視圖等組成,其結(jié)構(gòu)如圖 1 所示。MVSM可以在STEP AP242文件的基礎(chǔ)上描述更多的語(yǔ)義表達(dá)信息,實(shí)現(xiàn)產(chǎn)品幾何信息和非幾何信息的綜合表述,因此更有利于產(chǎn)品信息的語(yǔ)義分類(lèi)表達(dá)。通過(guò)結(jié)合OWL2/SWRL可以賦予模型本體描述能力[15-18],同時(shí)也能夠建立語(yǔ)義元之間的語(yǔ)義關(guān)聯(lián)關(guān)系。對(duì)于其中的幾何信息,將通過(guò)輕量化算法進(jìn)行簡(jiǎn)化來(lái)適應(yīng)移動(dòng)端的設(shè)備。
圖1 MVSM模型結(jié)構(gòu)Fig.1 The model structure of MVSM
傳統(tǒng)上STEP交換的信息主要是產(chǎn)品數(shù)據(jù)的幾何信息,對(duì)于非幾何信息尤其是設(shè)計(jì)意圖信息很少會(huì)在系統(tǒng)之間進(jìn)行交換。設(shè)計(jì)意圖可以實(shí)現(xiàn)產(chǎn)品生命周期中各部門(mén)之間協(xié)同設(shè)計(jì),體會(huì)設(shè)計(jì)者的設(shè)計(jì)思想。一部分設(shè)計(jì)意圖體現(xiàn)在產(chǎn)品數(shù)據(jù)的特征信息中,通過(guò)對(duì)特征信息進(jìn)行分析和推理,可以很好地反映設(shè)計(jì)者的設(shè)計(jì)意圖。
產(chǎn)品和制造信息(product and manufacturing information,PMI)包含了幾何尺寸和公差、3D注解、表面紋理規(guī)格、光潔度要求、工藝記錄、材料規(guī)格等其他相關(guān)信息。功能信息主要描述對(duì)應(yīng)零件模型的使用功能。語(yǔ)義化描述可以使用戶(hù)對(duì)產(chǎn)品用途有更加直觀的理解。
MVSM模型中存在的層次關(guān)系如圖2所示。
圖2 MVSM模型中的層次關(guān)系Fig.2 Hierarchical relationships in MVSM
MVSM模型通過(guò)建立產(chǎn)品信息語(yǔ)義元實(shí)現(xiàn)對(duì)幾何信息與非幾何語(yǔ)義信息的綜合表述,產(chǎn)品信息語(yǔ)義元是MVSM模型的基本組成單元,是產(chǎn)品信息交換和語(yǔ)義交互操作的基礎(chǔ)[19]。
通過(guò)定義MVSM模型,保持了STEP產(chǎn)品數(shù)據(jù)的幾何完整性和語(yǔ)義特性,通過(guò)結(jié)合OWL2/SWRL規(guī)則約束增強(qiáng)其語(yǔ)義表達(dá)能力,從而獲取推理隱含語(yǔ)義信息的功能[20]。此外,該模型實(shí)現(xiàn)了對(duì)語(yǔ)義元的層次分類(lèi),將多層次語(yǔ)義引入到模型結(jié)構(gòu)中,構(gòu)建面向?qū)哟蔚漠a(chǎn)品信息表達(dá),結(jié)合OWL2/SWRL規(guī)則,賦予產(chǎn)品數(shù)據(jù)模型轉(zhuǎn)化為本體表達(dá)的能力,并可以通過(guò)規(guī)則實(shí)現(xiàn)語(yǔ)義關(guān)聯(lián)和推理,有助于構(gòu)建移動(dòng)平臺(tái)上的產(chǎn)品數(shù)據(jù)語(yǔ)義網(wǎng)絡(luò)。
STEP產(chǎn)品數(shù)據(jù)輕量化是在不影響產(chǎn)品數(shù)據(jù)完整性的前提下對(duì)STEP產(chǎn)品數(shù)據(jù)模型進(jìn)行相應(yīng)的裁剪簡(jiǎn)化以滿(mǎn)足移動(dòng)終端需求。根據(jù)MVSM模型將STEP物理文件轉(zhuǎn)換成以MVSM模型語(yǔ)義元為基礎(chǔ)單元的本體文件。針對(duì)產(chǎn)品幾何三維展示需求,將通過(guò)STEP本體文件中處于shape的shell語(yǔ)義元單獨(dú)提取,針對(duì)shell語(yǔ)義元層的表達(dá)直接轉(zhuǎn)換成三角網(wǎng)格面片的形式儲(chǔ)存。因此在滿(mǎn)足產(chǎn)品語(yǔ)義信息的前提下如何對(duì)該部分信息進(jìn)行簡(jiǎn)化以適應(yīng)移動(dòng)端交換展示需求是需重點(diǎn)解決的問(wèn)題。
問(wèn)題可以視作如何簡(jiǎn)化擁有大量三角網(wǎng)格的細(xì)節(jié)表現(xiàn)程度高的產(chǎn)品模型從而得到一個(gè)多邊形數(shù)量較少、但是外觀卻與原模型相似的低面模型。較好的策略有:通過(guò)重復(fù)使用一個(gè)簡(jiǎn)單的邊坍塌操作來(lái)降低模型的復(fù)雜度,實(shí)現(xiàn)步驟如下。
(a)坍塌前 (b)坍塌后圖3 邊坍塌Fig.3 Edge collapse
在圖3中,u和v兩個(gè)頂點(diǎn)(邊uv)被選中并且其中一個(gè)頂點(diǎn)(這里是u)“移動(dòng)”(即“坍塌”)到另一個(gè)頂點(diǎn)(點(diǎn)v)。以下是實(shí)現(xiàn)這一操作的步驟:①去除所有包含邊uv的三角形;②更新剩下的三角形,用頂點(diǎn)v代替所有用到頂點(diǎn)u的地方;③移除頂點(diǎn)u。重復(fù)上述步驟,直到多邊形的數(shù)量減少到預(yù)期數(shù)量。每次重復(fù)一般都會(huì)移除一個(gè)頂點(diǎn)、兩個(gè)面、三條邊。圖4展示了一個(gè)多邊形經(jīng)過(guò)邊坍塌之后減少面數(shù)的例子。
圖4 多邊形邊坍塌過(guò)程Fig.4 Edge collapse process of polygons
本文在邊坍塌方法基礎(chǔ)上針對(duì)產(chǎn)品模型提出了基于邊界特征的輕量化算法。輕量化算法的效果取決于怎樣選取坍塌的邊。在坍塌的時(shí)候,產(chǎn)品模型的視覺(jué)變化受到的影響程度越小,算法的效果越好。理論上,算法的目標(biāo)是每一次坍塌的時(shí)候能夠選擇出最小影響的邊。然而實(shí)際上,最好的方法計(jì)算非常復(fù)雜,很難實(shí)現(xiàn),并且需要大量時(shí)間進(jìn)行運(yùn)算。因此需要一種算法,能盡可能保留模型視覺(jué)特征,同時(shí)計(jì)算比較高效。
結(jié)合STEP產(chǎn)品數(shù)據(jù)的實(shí)體特征,考慮首先去除小細(xì)節(jié)。一般情況下同一平面上的面片只需要很少的多邊形就可以很好地表示,而高度彎曲復(fù)雜的曲面則需要更多的多邊形來(lái)表示,這一點(diǎn)可應(yīng)用于邊界特征的保留。我們知道兩個(gè)面相交得到一條邊界,兩個(gè)面越接近于同平面,則模型表面越平坦,邊界特征也就不越明顯,反之,模型表面越起伏,邊界特征也就明顯。另外,邊長(zhǎng)較大的邊界更大程度上影響模型的外觀,即邊長(zhǎng)是邊界特征保留的影響因子之一。由此可定義:是否選擇一條邊坍塌,取決于它的邊長(zhǎng)與曲率值的乘積。這里通過(guò)比較兩個(gè)面的法線(xiàn)的點(diǎn)積來(lái)衡量它們公共邊的曲率值。求邊坍塌值的公式為
cost(u,v)=‖u-v‖·
(1)
其中,u和v代表一條邊的兩個(gè)頂點(diǎn),Tu是包含頂點(diǎn)u的三角形的集合,Tuv是同時(shí)包含頂點(diǎn)u、v的三角形的集合,normal代表一個(gè)面的法向量。式(1)在決定哪一條邊坍塌的同時(shí)對(duì)面的曲率和大小做了平衡。頂點(diǎn)u到v的坍塌值和頂點(diǎn)u到v的坍塌值不一定相同。此外,該公式對(duì)脊?fàn)畹倪叺奶彩怯行У模瑹o(wú)論這條脊是銳角還是直角。
邊坍塌過(guò)程實(shí)質(zhì)是將一條邊收縮為一個(gè)點(diǎn),本算法選定兩頂點(diǎn)的中點(diǎn)為收縮的目標(biāo)點(diǎn)。假設(shè)一條邊的頂點(diǎn)分別為u、v,這條邊記作uv,坍塌邊uv到目標(biāo)點(diǎn)p,p點(diǎn)的計(jì)算公式為
(2)
坍塌邊uv意味著刪除所有包含該邊的三角形,更新剩下的三角形,所有用到的頂點(diǎn)u、v均用新的點(diǎn)p代替。
基于邊界特征的輕量化算法的具體實(shí)現(xiàn)過(guò)程如下:
(1)構(gòu)造頂點(diǎn)和三角面片的數(shù)據(jù)結(jié)構(gòu),存儲(chǔ)產(chǎn)品模型數(shù)據(jù)。頂點(diǎn)結(jié)構(gòu)包括位置信息,它所在的三角面片信息以及鄰接頂點(diǎn)信息(可以看作邊信息)。三角面片結(jié)構(gòu)包括一組頂點(diǎn)信息和法向量信息。
(2)計(jì)算坍塌值。根據(jù)式(1)計(jì)算每個(gè)頂點(diǎn)的坍塌值,并保存坍塌值對(duì)應(yīng)的鄰接點(diǎn)(即坍塌邊),寫(xiě)入頂點(diǎn)信息。
(3)選取折疊邊。比較所有有效頂點(diǎn)的坍塌值,通過(guò)迭代選擇值最小的頂點(diǎn),選定頂點(diǎn)的坍塌邊。
(4)邊坍塌。收縮選定的坍塌邊,刪除相關(guān)的面,并根據(jù)式(2)計(jì)算新頂點(diǎn)并插入,更新相關(guān)的頂點(diǎn)和三角面片信息。
(5)如果已達(dá)到簡(jiǎn)化目標(biāo),則停止。若未達(dá)到則跳至步驟(2)。
在產(chǎn)品模型輕量化過(guò)程中,設(shè)置不同的簡(jiǎn)化率,相應(yīng)即可得到不同層次的簡(jiǎn)化產(chǎn)品模型。算法的效果如表1所示,表中列出了不同量級(jí)的零件模型Bolt、Wheel和Assembly,分別擁有238個(gè)頂點(diǎn)、3515個(gè)頂點(diǎn)和17 094個(gè)頂點(diǎn)。表1列出了頂點(diǎn)數(shù)量100%、75%、50%和25%時(shí)的模型顯示效果,展示了基于邊界特征的輕量化算法對(duì)不同產(chǎn)品模型的簡(jiǎn)化效果。
由表1分析可得,基于邊界特征的輕量化算法在顯示產(chǎn)品外觀方面表現(xiàn)不錯(cuò),尤其體現(xiàn)在邊界特征的保留方面。但隨著頂點(diǎn)數(shù)量的減少,產(chǎn)品模型不可避免地丟失越來(lái)越多的細(xì)節(jié),外觀逐漸失真。保留75%頂點(diǎn)數(shù)量時(shí),Bolt、Wheel和Assembly模型都很好地保持了造型。保留25%頂點(diǎn)數(shù)量時(shí)候,只有Wheel模型最接近原始狀態(tài)。比較相同簡(jiǎn)化率下三個(gè)模型顯示效果,Wheel模型的外觀保留均為最優(yōu),分析原因是Wheel模型包含大量的平面,邊界特征比較少,可以由較少頂點(diǎn)表達(dá)??梢?jiàn),擁有較少起伏邊界,相對(duì)平坦的產(chǎn)品模型能得到更好的簡(jiǎn)化效果。
表1 基于邊界特征的輕量化算法效果Tab.1 The effect of lightweight algorithm based on boundary characteristics
Bolt、Wheel和Assembly模型分別包含102、103、104量級(jí)的數(shù)據(jù)量,Bolt模型原始數(shù)據(jù)量很小,導(dǎo)致保留的25%數(shù)據(jù)頂點(diǎn)不足以表達(dá)所有主特征,模型效果粗糙。上文分析了Wheel模型的特征,對(duì)比Wheel模型,Assembly模型的數(shù)據(jù)量龐大,但同時(shí)包含大量的細(xì)節(jié)特征,保留25%數(shù)據(jù)量的簡(jiǎn)化效果優(yōu)于Bolt模型,劣于Wheel模型。因此,不能簡(jiǎn)單地通過(guò)模型的數(shù)據(jù)量來(lái)衡量輕量化算法效果,要結(jié)合模型所含的特征量來(lái)考慮。
主要從模型簡(jiǎn)化速度和移動(dòng)端的模型載入速度兩個(gè)方面分別對(duì)Bolt、Wheel和Assembly模型進(jìn)行實(shí)驗(yàn)數(shù)據(jù)測(cè)定評(píng)估。模型簡(jiǎn)化速度用于分析算法的性能,移動(dòng)端的模型載入速度用于分析算法在移動(dòng)端的模型載入的表現(xiàn),因此,測(cè)定模型簡(jiǎn)化速度的實(shí)驗(yàn)環(huán)境選擇在PC端,測(cè)定移動(dòng)端的模型載入速度的實(shí)驗(yàn)環(huán)境選擇在移動(dòng)端,具體實(shí)驗(yàn)環(huán)境如下所示。
PC端:ThinkPad T450s,64位操作系統(tǒng)Windows 7,CPU Intel Core i5-5200U,4G內(nèi)存。
移動(dòng)端:魅藍(lán)m1,操作系統(tǒng)Flyme OS 4.2.1.1C,CPU聯(lián)發(fā)科MT6732,GPU Mali-T760,1G內(nèi)存。
4.1 模型簡(jiǎn)化速度
移動(dòng)端的產(chǎn)品信息可視化對(duì)網(wǎng)絡(luò)帶寬依賴(lài)性很強(qiáng)。在保證數(shù)據(jù)完整的前提下,數(shù)據(jù)文件越小所依賴(lài)的網(wǎng)絡(luò)帶寬越小,通過(guò)基于邊界特征的輕量化算法對(duì)STEP數(shù)據(jù)簡(jiǎn)化,降低文件對(duì)網(wǎng)絡(luò)帶寬的要求。在產(chǎn)品模型輕量化過(guò)程中,設(shè)置不同的簡(jiǎn)化率,相應(yīng)即可得到不同層次的簡(jiǎn)化產(chǎn)品模型。表2列出了Bolt、Wheel、Assembly 3個(gè)模型應(yīng)用本文輕量化算法在不同簡(jiǎn)化率下的耗時(shí)。
表2 Bolt、Wheel、Assembly模型簡(jiǎn)化時(shí)間Tab.2 Bolt, Wheel, Assembly model simplification time ms
圖5 算法的簡(jiǎn)化率和模型輕量化消耗時(shí)間關(guān)系圖Fig. 5 The simplification rate of the algorithm and the model lightening consumption time diagram
觀察表2的數(shù)據(jù)可以發(fā)現(xiàn),模型簡(jiǎn)化的耗時(shí)和模型數(shù)據(jù)量成正比,這是輕量化算法速度和模型數(shù)據(jù)量的直觀關(guān)系。繼續(xù)挖掘隱含的算法影響因子,根據(jù)表2數(shù)據(jù)得到圖5,展現(xiàn)了Bolt、Wheel和 Assembly模型的簡(jiǎn)化率和本文輕量化算法耗時(shí)之間的關(guān)系。刪減的頂點(diǎn)數(shù)量等于簡(jiǎn)化率和原始頂點(diǎn)的乘積,刪減的頂點(diǎn)數(shù)量除以算法耗時(shí)即為不同簡(jiǎn)化率下的平均簡(jiǎn)化速度,一個(gè)模型的原始頂點(diǎn)數(shù)固定,因此,簡(jiǎn)化率和簡(jiǎn)化耗時(shí)的比值和某一簡(jiǎn)化率的平均簡(jiǎn)化速度正相關(guān),與圖5的曲線(xiàn)斜率成負(fù)相關(guān)。在基于邊界特征的輕量化算法的作用下,Bolt、Wheel、Assembly模型對(duì)應(yīng)的曲線(xiàn)越來(lái)越平緩,意味著,隨著簡(jiǎn)化率變大,簡(jiǎn)化速度變快,算法的效率變高。但考慮實(shí)際情況,產(chǎn)品模型需要根據(jù)需求選取簡(jiǎn)化程度。
4.2 移動(dòng)端的模型載入速度
為了提高產(chǎn)品數(shù)據(jù)的顯示性能,產(chǎn)品模型考慮顯示多層次細(xì)節(jié),方便網(wǎng)絡(luò)環(huán)境中數(shù)據(jù)的快速顯示,減少等待時(shí)間,也便于用戶(hù)在大規(guī)模模型中快速地旋轉(zhuǎn)、查看圖形。因此,每個(gè)產(chǎn)品模型生成了一系列不同層次的簡(jiǎn)化模型。表3、表4、表5展示了Bolt、Wheel、Assembly各自層次模型的載入時(shí)間和顯示速度,用于分析多層次模型和響應(yīng)速度、操作流暢度的關(guān)系,從而調(diào)整多層次細(xì)節(jié)顯示方法,改善用戶(hù)體驗(yàn)。Bolt原網(wǎng)格的頂點(diǎn)數(shù)為238, 面片數(shù)為472,所占空間為132 kB。Wheel原網(wǎng)格的頂點(diǎn)數(shù)為3515,面片數(shù)為7030, 所占空間1682 kB。Assembly原網(wǎng)格的頂點(diǎn)數(shù)為17 094,面片數(shù)為34 316,所占空間為10 793 kB。
表3 Bolt模型載入時(shí)間和顯示速度Tab.3 Bolt model loading time and display speed
表4 Wheel模型載入時(shí)間和顯示速度Tab.4 Wheel model load time and display speed
表5 Assembly模型載入時(shí)間和顯示速度Tab.5 Assembly model load time and display speed
本算法試驗(yàn)于多種網(wǎng)格模型,有著較好的視覺(jué)效果和較快的速度,通過(guò)將Bolt、Wheel、Assembly各自的層次模型載入時(shí)間轉(zhuǎn)化為圖6的曲線(xiàn)圖,可以直觀看出隨著模型數(shù)據(jù)量的減少,模型加載時(shí)間隨之減少,無(wú)限逼近于0。Bolt、Wheel、Assembly模型分別為102、103、104量級(jí)的產(chǎn)品模型,從圖6中可以看到這三條曲線(xiàn)的斜率趨勢(shì),Bolt曲線(xiàn)走勢(shì)最緩、Wheel曲線(xiàn)次之、Assembly曲線(xiàn)走勢(shì)最急,這意味著相同的簡(jiǎn)化率下,產(chǎn)品模型的原始數(shù)據(jù)量越大,簡(jiǎn)化后的加載時(shí)間縮短效果越明顯。
圖6 模型的簡(jiǎn)化率和模型的載入時(shí)間關(guān)系圖Fig.6 Model simplification rate and model load time diagram
顯示速度用幀每秒(FPS)來(lái)表示,每秒幀數(shù)愈多,所顯示的動(dòng)作就會(huì)愈流暢。通常,避免動(dòng)作不流暢的最低限制是30FPS。通過(guò)表3~表5可以計(jì)算每個(gè)模型的渲染數(shù)量,渲染數(shù)量等于原始數(shù)據(jù)量減去刪減的數(shù)據(jù)量,以計(jì)算所得的數(shù)據(jù)量為橫坐標(biāo),F(xiàn)PS為縱坐標(biāo),繪制它們的關(guān)系,如圖7所示。FPS是衡量移動(dòng)端的模型操作流暢與否的重要指標(biāo),本節(jié)結(jié)合圖7分析模型頂點(diǎn)數(shù)據(jù)量與FPS的關(guān)系。
圖7 模型頂點(diǎn)數(shù)據(jù)量與FPS的關(guān)系圖Fig.7 Model vertex data volume with FPS diagram
如圖7所示,曲線(xiàn)展現(xiàn)了移動(dòng)端的模型實(shí)驗(yàn)數(shù)據(jù),這里WebGL限制渲染的FPS上限為60。由圖7可知,模型頂點(diǎn)數(shù)據(jù)量和渲染的性能成負(fù)相關(guān)。隨著模型數(shù)據(jù)量的增加,F(xiàn)PS數(shù)逐漸減小。在1000個(gè)數(shù)據(jù)頂點(diǎn)之前,實(shí)際渲染模型速度達(dá)到54~60FPS,在1000~4500個(gè)數(shù)據(jù)之間FPS減小較快,4500之后FPS數(shù)減小速度變緩。60FPS渲染速度能流暢地對(duì)模型進(jìn)行平移、旋轉(zhuǎn)、縮放操作。8000個(gè)頂點(diǎn)數(shù)據(jù)時(shí),F(xiàn)PS約為30,此刻是能否流暢渲染和操作產(chǎn)品模型的分界線(xiàn)。當(dāng)產(chǎn)品模型的數(shù)據(jù)量再增大時(shí),移動(dòng)端的模型操作開(kāi)始出現(xiàn)卡頓和跳幀現(xiàn)象,當(dāng)FPS減小到16時(shí),操作明顯卡頓,GPU性能不足。這一結(jié)果表明,移動(dòng)端受硬件配置的制約,渲染和操作產(chǎn)品模型被數(shù)據(jù)量影響,設(shè)計(jì)和實(shí)現(xiàn)多細(xì)節(jié)層次顯示需要考慮此因素,合理安排模型數(shù)據(jù)的表達(dá),以避免因?yàn)閿?shù)據(jù)量過(guò)大而導(dǎo)致系統(tǒng)無(wú)法進(jìn)行渲染。
本文以STEP AP242協(xié)議為基礎(chǔ),研究了基于移動(dòng)終端的產(chǎn)品信息輕量化方法??紤]移動(dòng)終端的性能限制,提出了一種基于邊界特征的輕量化算法,在MVSM模型基礎(chǔ)上裁剪產(chǎn)品模型。使用本文提出的輕量化算法,在保留產(chǎn)品語(yǔ)義信息前提下實(shí)現(xiàn)了面向移動(dòng)web的產(chǎn)品信息輕量化。
[1] 王英, 陳建能, 趙雄, 等. 基于NURBS曲線(xiàn)的凸輪廓線(xiàn)表達(dá)方法的研究及應(yīng)用[J]. 中國(guó)機(jī)械工程, 2013,24(10):1375-1380. WANG Ying, CHEN Jianneng, ZHAO Xiong, et al.Study and Application of Cam Profile Representation Method Based on NURBS Curve [J]. China Mechanical Engineering, 2013,24(10): 1375-1380.
[2] TAUBIN G, ROSSIGNAC J. Geometric Compression through Topological Surgery [J]. ACM Transactions on Graphics, 1997, 17(2): 84-115.
[3] TOUMA C, GOTSMAN C. Triangle Mesh Compression [C]//Eeding of Graphics Interface. Berlin, 1998:26-34.
[4] KALVINA D, TAYLOR R H. Superfaces: Polygonal Mesh Simplification with Bounded Error [J]. Computer Graphics & Applications IEEE, 1996, 16(3): 64-77.
[5] SEO J, SONG Y, KIM S, et al. Wrap-around Operation for Multi-resolution CAD Model [J]. Computer-Aided Design and Applications, 2005, 2(1): 67-76.
[6] LEE S H. Feature-based Multi Resolution Modeling of Solids [J]. ACM Transactions on Graphics, 2005, 24(4): 1417-1441.
[7] 張霞, 段黎明, 劉璐. 保持特征的高質(zhì)量三角網(wǎng)格簡(jiǎn)化方法[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2014, 20(3):486-493. ZHANG Xia, DUAN Liming, LIU Lu. High Quality Triangular Mesh Simplification Method for Retaining Feature[J] .Computer Integrated Manufacturing System, 2014, 20 (3): 486-493.
[8] 張霞,段黎明,薛濤, 基于數(shù)據(jù)重建的三角網(wǎng)格模型簡(jiǎn)化優(yōu)化方法[J]. 強(qiáng)激光與粒子束, 2014, 26(5):308-312. ZHANG Xia, DUAN Liming, XUE Tao, Simplified Optimization Method for Triangular Mesh Model Based on Data Reconstruction[J]. High Power Laser and Particle Beams, 2014, 26 (5): 308-312.
[9] OVREIU E, SULTANA A, RIVEROS J G, et al. Triangular Mesh Simplification Using an Adaptive Subdivision[C]// IEEE Signals, Circuits and Systems International Symposium. Beijing, 2013: 1-4.
[10] 郭雅麗. 超輕量化3D數(shù)據(jù)應(yīng)用——解讀XVL技術(shù)[J]. CAD/CAM與制造業(yè)信息化, 2008(8): 50-51. GUO Yali. Ultra Lightweight 3D Data Application—Interpreting XVL Technology [J]. Digital Manufacturing Industry, 2008 (8): 50-51.
[11] 馮勇, 王明玉. 基于語(yǔ)義的輕量級(jí)數(shù)據(jù)集成方法[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2012, 33(1): 402-406. FENG Yong, WANG Mingyu.Technology of Lightweight Data Integration Based on Semantics[J]. Computer Engineering and Design, 2012, 33 (1): 402-406.
[12] 聞曉, 谷青范. 產(chǎn)品數(shù)據(jù)輕量化訪(fǎng)問(wèn)技術(shù)研究與實(shí)現(xiàn)[J]. 電子科技, 2013, 26(2): 159-161. WEN Xiao,GU Qingfan.Study and Implementation of Lightweight Access Technology for Product Data [J]. Electronic Science and Technology, 2013, 26 (2): 159-161.
[13] 劉清華,李帥,劉云華,萬(wàn)立. 協(xié)同環(huán)境中基于輕量化的3D異構(gòu)CAD模型干涉檢查[J]. 中國(guó)機(jī)械工程,2013,24(1):56-60. LIU Qinghua, LI Shuai, LIU Yunhua, et al. Interference Checking of 3D Heterogeneous CAD Model Based on Lightweight in Collaborative Environment [J]. China Mechanical Engineering, 2013,24(1): 56-60.
[14] International Organization for Standardization. ISO 10303-242:2014 Industrial Automation Systems and Integration, Product Data Representation and Exchange, AP 242: Managed Model Based 3D Engineering [S]. Switzerland: ISO Copyright Office, 2014.
[15] 陳思, 閻艷, 王釗, 等. 產(chǎn)品設(shè)計(jì)知識(shí)服務(wù)中本體推理技術(shù)應(yīng)用[J]. 中國(guó)機(jī)械工程, 2014, 25(19): 2620-2627. CHEN Si, YAN Yan, WANG Zhao, et al. Application of Ontology Reasoning Technology in Product Design Knowledge Service[J]. China Mechanical Engineering, 2014, 25 (19): 2620-2627.
[16] 朱海華, 朱柏青, 李東波. 基于本體的產(chǎn)品服務(wù)知識(shí)表示方法研究[J]. 中國(guó)機(jī)械工程, 2013, 24(18): 2484-2489. ZHU Haihua, ZHU Baiqing, LI Dongbo. Study on Knowledge Representation of Product Service Based on Ontology[J]. China Mechanical Engineering, 2013, 24 (18): 2484-2489.
[17] 胡建,廖文和,徐勇,等.基于本體的概念設(shè)計(jì)知識(shí)管理系統(tǒng)框架研究[J]. 中國(guó)機(jī)械工程,2006,17(2):172-176. HU Jian, LIAO Wenhe, XU Yong, et al. Study on Framework of Conceptual Design Knowledge Management System Based on Ontology[J].China Mechanical Engineering, 2006,17 (2): 172-176.
[18] ABDUL-GHAFOUR S, GHODOUS P, SHARIAT B, et al. Semantic Interoperability of Knowledge in Feature-based CAD Models[J]. Computer-Aided Design, 2014, 56: 45-57.
[19] 簡(jiǎn)琤峰.語(yǔ)義網(wǎng)格環(huán)境下虛擬組織異構(gòu)產(chǎn)品信息的語(yǔ)義在線(xiàn)重組技術(shù)[J].中國(guó)機(jī)械工程,2011,22(1):54-59. JIAN Chengfeng. Heterogeneous Product Information Semantic Online Reconstruction under the Virtual Organization Semantic Grid Environment[J]. China Mechanical Engineering, 2011,22(1):54-59.
[20] LIPMANR, LUBELL J. Conformance Checking of PMI Representation in CAD Model STEP Data Exchange Files[J]. Computer-Aided Design, 2015, 66: 14-23.
(編輯 王旻玥)
Lightening Technological Implementation of Model-based Definition Product Informationon Mobile Web
JIAN Chengfeng SUN Chang
Computer Science and Technology College,Zhejiang University of Technology,Hangzhou,310023
Based on the STEP AP242 protocol, which supported product model definition exchanges, a multi-view semantic model was proposed to classify and keep the non-geometric informations. With the model, semantic ontology was implemented to unify the product geometry and non-geometric semantic informations. Then a boundary-based lightening algorithm was proposed to match the performance of mobile terminals, which might cut product model with the product non-geometric information kept. Finally the experimental data was given to prove the feasibility.
mobile Web; STEP; semantic model; lightening
2016-09-22
國(guó)家自然科學(xué)基金資助項(xiàng)目(61672461,61672463)
TP393
10.3969/j.issn.1004-132X.2017.16.014
簡(jiǎn)琤峰,男,1973年生。浙江工業(yè)大學(xué)計(jì)算機(jī)學(xué)院副教授、博士。主要研究方向?yàn)镃AD、云計(jì)算、圖像識(shí)別。E-mail:jiancf@zjut.edu.cn。孫 暢,男,1996年生。浙江工業(yè)大學(xué)計(jì)算機(jī)學(xué)院碩士研究生。