吳冠雄,馮 濤
(天津渤海職業(yè)技術(shù)學(xué)院,天津 300402)
在實(shí)物的產(chǎn)品原型的基礎(chǔ)上,可以通過對產(chǎn)品實(shí)體模型進(jìn)行逆向處理,包括點(diǎn)云數(shù)據(jù)獲取、點(diǎn)云數(shù)據(jù)預(yù)處理、多邊形處理、曲面片劃分與調(diào)整、NURBS曲面擬合、CAD建模等過程獲得數(shù)據(jù)參數(shù)。通過軟件可以實(shí)現(xiàn)從實(shí)體工件掃描獲得的點(diǎn)云數(shù)據(jù)處理到快速生成NURBS曲面的過程。本文對一種典型的逆向工程軟件——Geomagic Studio進(jìn)行了分析,內(nèi)容包括從點(diǎn)云數(shù)據(jù)獲取及處理到CAD三維實(shí)體模型創(chuàng)建的整個(gè)過程。其中對逆向成形曲面階段進(jìn)行了重點(diǎn)研究,將三種不同的曲面重建思路和手段進(jìn)行對比分析,并通過在實(shí)際案例中的應(yīng)用得出這三種不同手段所具備的優(yōu)缺點(diǎn)和實(shí)際應(yīng)用的差異所在。
逆向工程(Reverse Engineering,RE)也被稱為反求工程或反向技術(shù),其實(shí)質(zhì)就是對實(shí)體或者工件提取其本身固有數(shù)據(jù)信息的過程,是常見的競爭力的基準(zhǔn)或者是對受歡迎產(chǎn)品的良性剖析。逆向工程主要由相對傳統(tǒng)的正向設(shè)計(jì)工藝過程提出的,正向的設(shè)計(jì)過程主要是先由設(shè)計(jì)思路產(chǎn)生草圖,然后到具體細(xì)節(jié)設(shè)計(jì)并構(gòu)造三維模型,最后根據(jù)加工工序進(jìn)行生產(chǎn)制造。而逆向工程則是由已有的實(shí)物樣件通過一定的技術(shù)手段,將其變換為CAD模型,對模型進(jìn)行分析、改進(jìn),實(shí)現(xiàn)再設(shè)計(jì),最后可以利用計(jì)算機(jī)輔助制造(CAM)或者快速成型技術(shù)(RP)來實(shí)現(xiàn)產(chǎn)品的制造。在逆向技術(shù)應(yīng)用的各個(gè)階段中,最復(fù)雜、最核心的階段就是對實(shí)體進(jìn)行三維曲面模型重構(gòu)。這種三維實(shí)體模型重構(gòu)體系是在逆向工程處理軟件建模內(nèi)核算法的框架下進(jìn)行的,主要有三種不同的形式:第一種基于非均勻有理B樣條曲面或者B-Spline多邊形(以四邊形最為常見)曲面進(jìn)行曲面重構(gòu);第二種基于Bezier三角曲面進(jìn)行曲面重構(gòu);第三種基于多種形式的多面體進(jìn)行曲面重建。再進(jìn)一步分析研究,通過對逆向三維模型重建策略和方法路徑加以區(qū)分,又能將曲面三維重構(gòu)重新分為2大類:相對比較傳統(tǒng)的曲面重構(gòu)方法和比較新穎的曲面快速重構(gòu)方法。第一種曲面重構(gòu)的方法是相對比較傳統(tǒng)的通過點(diǎn)生成線、線生成面的曲面重構(gòu)過程。第二種快速曲面重構(gòu)方法是通過使用多邊形網(wǎng)格化功能對獲取的大量的點(diǎn)云數(shù)據(jù)進(jìn)行處理,同時(shí)對生成的網(wǎng)格進(jìn)行Bezier或者NURBS曲面擬合進(jìn)而產(chǎn)生的曲面。
對于實(shí)體工件的逆向處理過程,其完整工藝流程如下:
(一)點(diǎn)云數(shù)據(jù)獲取,主要通過接觸式獲取或非接觸式獲取。
(二)通過三角形面片化對點(diǎn)云數(shù)據(jù)進(jìn)行處理,獲得三角形面片網(wǎng)格曲面。
(三)對已經(jīng)獲取的三角網(wǎng)格面片曲面進(jìn)行編輯處理。
(四)將形成的曲面切片進(jìn)行模型切分和參數(shù)化切片處理。
(五)通過對其進(jìn)行柵格化處理后,再使用NURBS進(jìn)行曲面擬合,最終獲取成三維模型。
數(shù)據(jù)獲取是使用一定的測量儀器和方法來獲取產(chǎn)品表面的幾何坐標(biāo)數(shù)據(jù),通過獲取的數(shù)據(jù)才能實(shí)現(xiàn)產(chǎn)品的逆向重構(gòu)。故逆向工程的一個(gè)主要研究內(nèi)容就是如何實(shí)現(xiàn)高效、高精度的數(shù)據(jù)獲取。根據(jù)測量手段的不同,其主要可以分為非接觸式測量和接觸式測量兩大類。非接觸式測量主要是利用聲學(xué)、磁學(xué)、光學(xué)等通過某種特定的算法轉(zhuǎn)化來獲取數(shù)據(jù)點(diǎn)坐標(biāo)信息。接觸式測量則是通過測量頭與物體接觸來記錄數(shù)據(jù)點(diǎn)坐標(biāo)信息的。
在本文進(jìn)行的逆向處理過程中,點(diǎn)云數(shù)據(jù)獲取過程多是通過非接觸式處理——三維掃描系統(tǒng)采集獲得的,這些點(diǎn)云數(shù)據(jù)可以描繪出實(shí)體或者模型的基本形狀。通常情況下,或多或少的都會產(chǎn)生噪聲點(diǎn),這可能是因?yàn)槿S掃描設(shè)備本身的技術(shù)短板或者外界干擾(如強(qiáng)光、反射等)等很多因素。我們可以通過三維掃描儀獲取大量點(diǎn)云數(shù)據(jù),其點(diǎn)云數(shù)量可以達(dá)到幾十萬,甚至上百萬,但是為了提升計(jì)算機(jī)運(yùn)算處理效率,必須對獲取的原始點(diǎn)云數(shù)據(jù)在不破壞其主要結(jié)構(gòu)特征的前提下進(jìn)行精簡。Geomagic Studio可以進(jìn)行按曲率采樣、統(tǒng)一采樣、按等距進(jìn)行采樣和隨機(jī)采樣四種模式。根據(jù)各種曲面的特征點(diǎn)和復(fù)雜程度不同,來選擇合適的數(shù)據(jù)采樣方式。通過不同百分比的選擇性采樣可得到相對理想的點(diǎn)云數(shù)量,從而達(dá)到精簡的目的,對簡化后數(shù)據(jù)進(jìn)行封裝(wrap),最終通過三角形面片化處理實(shí)現(xiàn)曲面的快速重構(gòu)。
在對點(diǎn)云數(shù)據(jù)進(jìn)行三角形面片化處理完成后,就可以開始多邊形處理。在進(jìn)行多邊形處理時(shí),其組成主要是由數(shù)據(jù)點(diǎn)和三角形面片網(wǎng)格這兩部分組成。通常情況下,需要對描述不精確的、有明顯誤差或錯(cuò)誤的點(diǎn)數(shù)據(jù)或三角形網(wǎng)格進(jìn)行處理。通過使用“清除”或者“消除釘狀物”的指令,來對三維模型的表面光滑度進(jìn)行提升;如果想增多或者減少某個(gè)特定區(qū)域內(nèi)所含有的三角形面片數(shù)量,可以使用“簡化”或者“細(xì)化”指令;為了獲得高質(zhì)量的表面,對曲率變化不明顯的小孔,通常使用“填充孔”指令進(jìn)行處理。如下圖1b是對小豬儲蓄罐內(nèi)部孔填充的表面效果圖。
圖1 小豬儲蓄罐模型內(nèi)部孔填充的表面效果圖
在對數(shù)據(jù)進(jìn)行處理時(shí),掃描儀會默認(rèn)將相鄰兩邊進(jìn)行圓角處理,如若想獲得直角,那需要對這個(gè)圓角進(jìn)行銳化處理;在對明顯多余特征進(jìn)行處理時(shí),可運(yùn)用“消除特征”指令清理;為了使最終邊界清晰整齊應(yīng)盡量對控制點(diǎn)數(shù)進(jìn)行降低,可運(yùn)用“編輯邊界”指令來實(shí)現(xiàn)。
在對數(shù)據(jù)進(jìn)行多邊形處理時(shí),對已經(jīng)編輯完成的模型還要進(jìn)行“修復(fù)相交區(qū)域”操作;如若存在三角形相交的情況,需要執(zhí)行“松弛/消除”命令;如若不存在相交三角形的情況,系統(tǒng)會彈出“無相交三角形”提示。
通過大量實(shí)驗(yàn)可知,對任何點(diǎn)云數(shù)據(jù)進(jìn)行點(diǎn)線處理或者多邊形處理時(shí)基本操作指令都大體相似,都會使用上面介紹的指令。通常來說,最終逆向三維曲面質(zhì)量的高低主要是由多邊形處理結(jié)果所決定的,而且多邊形處理的結(jié)果可以直接作用于之后的處理步驟:曲面階段。
大多數(shù)的產(chǎn)品都很難用一張曲面就能進(jìn)行完整的描述,必須通過多張曲面拼接來實(shí)現(xiàn),所以需要把數(shù)據(jù)根據(jù)不同曲面的進(jìn)行分塊處理,然后由各塊分別重構(gòu)出曲面模型。曲面重構(gòu)可以通過點(diǎn)云直接擬合曲面或者由點(diǎn)云先生成曲線,再由曲線生成曲面兩種方式實(shí)現(xiàn)。然后通過裁剪、求交、橋接、過渡、縫合等操作將曲面整合為整體曲面模型。
在模型處于曲面構(gòu)造處理階段時(shí),有“形狀模塊和制作模塊”這兩組模塊可供自主需要選擇。這兩個(gè)模塊的執(zhí)行命令的編輯方式不同,分別為:“探測輪廓線”和“探測曲率”。打開Geomagic Studio軟件之后,通過實(shí)際案例使用Fashion功能對上述兩個(gè)模塊分別進(jìn)行分析、研究、總結(jié)。
在使用形狀模塊進(jìn)行建模時(shí),軟件為我們提供了兩種方案供我們選擇:方法一,對輪廓進(jìn)行探測進(jìn)而得到輪廓線;方法二,對模型進(jìn)行曲率探測,進(jìn)而獲取曲率線。應(yīng)依據(jù)建模過程中表面的實(shí)際變化規(guī)律進(jìn)行選擇。
1.探測輪廓線
此處使用的例子是凸臺模型,如圖2a所示。運(yùn)用第1種形狀模塊方法對模型進(jìn)行相應(yīng)處理。即使用“探測輪廓線”指令,對模型曲面輪廓進(jìn)行探測,來得到所需的輪廓線。通過探測獲得曲面曲率變化較大區(qū)域,如圖2b所示;對此區(qū)域進(jìn)行中心線抽取生成輪廓線,如下圖2c,此時(shí)還將在表面上進(jìn)行多塊面板的劃分;在“編輯輪廓線”功能下,依據(jù)三維模型表面的規(guī)律,對輪廓線合理應(yīng)用繪制、松弛和收縮等指令處理,保證獲取高平順性的輪廓線。為了獲得最終完整的曲面輪廓形狀,可以通過“細(xì)分/延伸輪廓線”指令生成輪廓延伸線,由多條延伸線組成的區(qū)域就是各曲面過渡區(qū),在圖2d中的黑色網(wǎng)格就是輪廓延伸線。
圖2 凸臺建模過程
通過上述方法后,整個(gè)模型就被輪廓線進(jìn)行了劃分,不同的區(qū)域都是一個(gè)獨(dú)立的面板。在進(jìn)行“構(gòu)造曲面片”時(shí),每個(gè)獨(dú)立面板的面片數(shù)量能在軟件中默認(rèn)計(jì)算得出,也可根據(jù)用戶要求自行設(shè)定,見圖3a。為了使面片布局更加合理,可以對所有面板運(yùn)用“移動面板”指令來實(shí)現(xiàn),效果見圖3b。在進(jìn)行曲面擬合之前,需要將均勻網(wǎng)格化的曲面模型進(jìn)行“構(gòu)造柵格”處理,效果見圖3c。最后通過進(jìn)行NURBS曲面擬合,獲得最終CAD三維模型,圖3d。對模型進(jìn)行擬合偏差效果分析,見圖3e,由圖可知擬合效果比較理想。
圖3 凸臺建模及分析
通過偏差分析可知,凸臺模型通過輪廓線探測方法進(jìn)行劃分建模,效果比較理想,主要是因?yàn)槠漭喞€分明。若實(shí)體的邊界不突出進(jìn)行建模時(shí),就得選取下一個(gè)方法,即探測曲率法。
2.探測曲率
當(dāng)我們對那些表面輪廓或者邊界特點(diǎn)不明顯、細(xì)節(jié)豐富特征復(fù)雜的模型進(jìn)行處理時(shí),通過“探測曲率”這種方式能夠獲得更好的效果。選取小豬儲蓄罐實(shí)例進(jìn)行展示,如圖4所示。
小豬儲蓄罐模型其輪廓邊界線(尤其小豬面部輪廓)沒有規(guī)律,變化比較多,細(xì)節(jié)特征豐富,如執(zhí)行“探測輪廓”則很難獲得高質(zhì)量的曲面模型。
這種情況下,需要我們選擇“探測曲率”指令來完成,效果見圖4a,圖中輪廓線為白線,曲率線為黑線。這是在軟件系統(tǒng)內(nèi)部處理后默認(rèn)產(chǎn)生的輪廓線,可根據(jù)客戶需要使用“升級/約束”指令對輪廓線和曲率線進(jìn)行轉(zhuǎn)換,曲率線變成輪廓線為升級,反之為降級。小豬儲蓄罐模型面部細(xì)節(jié)特征豐富,需要對其進(jìn)行相對細(xì)致的區(qū)域劃分,見圖4b,效果較之前模型有了很大提升。
在進(jìn)行CAD模型構(gòu)建的過程中,與之前類似,都是通過“構(gòu)造曲面片”和“移動面板”指令進(jìn)行模型內(nèi)部曲面片網(wǎng)格構(gòu)造及對整均勻操作。但是由于模型曲面變化不規(guī)律,為獲得良好效果可開啟“自動探測”功能。對模型進(jìn)行完“構(gòu)造柵格”和“擬合NURBS”指令后,即可得到最終的小豬儲蓄罐CAD模型4c。對模型進(jìn)行擬合偏差效果分析,見圖4d。
圖4 小豬存錢罐建模過程及分析圖
綜上所述,依據(jù)實(shí)際案例在這2個(gè)模塊中的應(yīng)用對比,可知:探測輪廓線的方法主要應(yīng)用于輪廓比較規(guī)則且邊界變化或者突變不多的傳統(tǒng)機(jī)械零部件的模型制作過程中;探測曲率的方法主要應(yīng)用于輪廓復(fù)雜多變且細(xì)節(jié)特征豐富的工藝品模型制作過程中效果更佳。
在進(jìn)行制作模塊操作過程中,仍是對之前的凸臺模型進(jìn)行設(shè)計(jì)操作,這樣可將制作模塊和形狀模塊制作出來的模型進(jìn)行分析比較,便于得出結(jié)論。
通過軟件選擇制作模塊,先對模型進(jìn)行表面輪廓線探測,可使用“探測輪廓線”指令,也可以在自動探測的結(jié)果上進(jìn)行手動修改;為了使抽取的輪廓能夠精確的表達(dá)實(shí)際表面輪廓需要進(jìn)行“編輯輪廓線”修改調(diào)整,這與之前的形狀模塊對輪廓線進(jìn)行的操作類似;為了獲得良好的曲面銜接效果,還需要使輪廓線按曲面變化規(guī)律自適應(yīng)延伸,即“延伸輪廓線——自適應(yīng)”操作;再通過“創(chuàng)建修剪曲面”獲得需要的曲面,此過程由5個(gè)步驟組成。
1.分類過程。即對凸臺模表面按“自動探測”進(jìn)行區(qū)域劃分,效果如圖5a。劃分過程是軟件根據(jù)模型自動進(jìn)行的識別和劃分。將凸臺模型分為6部分,頂端的圓形回轉(zhuǎn)面,中間位置的4個(gè)平面及側(cè)面的圓柱面。
2.擬合過程。此時(shí)對步驟1產(chǎn)生的數(shù)據(jù)按要求進(jìn)行相應(yīng)簡單的剪裁及擬合,則完成了“初級曲面擬合”過程。
圖5 凸臺模型進(jìn)行制作模塊過程圖
3.連接過程。此過程通過擬合步驟2生成的各個(gè)曲面使其連接,這其中也包括延長線、過渡曲面及存在的角點(diǎn),獲得完整的曲面5b所示。
4.分析過程。查看所有擬合曲面的完整狀態(tài)時(shí),如圖5c發(fā)現(xiàn)曲面為未修剪狀態(tài),這并不是我們所需要的最終模型,還需要對初級擬合曲面及各個(gè)過渡面和連接面實(shí)施剪裁修整操作來實(shí)現(xiàn)。通過對照曲面和點(diǎn)云數(shù)據(jù)獲得偏差分析圖5d,可以直觀地看到擬合曲面和點(diǎn)云數(shù)據(jù)之間的誤差。如果偏差分析圖反映偏差過了時(shí),應(yīng)返回步驟1重新進(jìn)行擬合,此時(shí)需要對偏差大的部分劃分和擬合更精準(zhǔn),才能達(dá)到所需精度。
5.縫合過程。將最后獲得的符合要求的各個(gè)初級擬合曲面與各連接面和過渡面進(jìn)行縫合操作,進(jìn)而得到一個(gè)完整的CAD模型。
通過分析研究上述實(shí)際案例在Geomagic Studio中使用兩種不同的建模方法實(shí)現(xiàn)模型重構(gòu)。形狀模塊:曲面片網(wǎng)格是通過軟件模塊自行對產(chǎn)生曲面進(jìn)行修剪實(shí)現(xiàn)的;制作模塊:模型產(chǎn)生過程中可以對未修剪模型進(jìn)行分析,然后修剪、拼接幾何元素使其組成完整的、復(fù)雜的、所需要的模型,也是對正向設(shè)計(jì)思路的模擬過程。
由于建模思路不同產(chǎn)生差異,而制作模塊有模擬正向設(shè)計(jì)的過程,這能比較深入的了解產(chǎn)品最初的設(shè)計(jì)初衷,這就決定了制作模塊比形狀模塊所生成的曲面模型品質(zhì)、精度和質(zhì)量會更優(yōu)秀。
本文是在Geomagic Studio軟件的基礎(chǔ)上,對快速成型過程中模型曲面快速重構(gòu)整個(gè)過程進(jìn)行了比較詳細(xì)的分析與研究。簡單介紹了逆向處理過程初期點(diǎn)云數(shù)據(jù)獲取和預(yù)處理,對點(diǎn)云數(shù)據(jù)進(jìn)行多邊形處理等。以實(shí)際案例為基礎(chǔ),著重分析研究了曲面階段的形狀模塊和制作模塊,對其提供的3種曲面重構(gòu)方法進(jìn)行了應(yīng)用、分析、對比,并得出制作模塊比形狀模塊所生成的曲面模型品質(zhì)、精度和質(zhì)量更高的結(jié)論。
逆向工程相關(guān)軟件系統(tǒng)的開發(fā)與升級是對其大量需求的內(nèi)在要求,也是其發(fā)展的必然趨勢。通過實(shí)際案例,我們不難發(fā)現(xiàn)軟件應(yīng)該在保證獲得高質(zhì)量、高精度曲面的前提下,盡量減少人機(jī)交互操作而產(chǎn)生的誤差,同時(shí)使用戶獲得更智能的體驗(yàn),這也是各個(gè)軟件的努力發(fā)展方向。Geomagic Studio軟件的模塊有了解產(chǎn)品最初設(shè)計(jì)初衷的意圖識別功能,這使得其能夠重建出更高精度、更復(fù)雜的模型曲面。這種處理方法將會為從事逆向處理方面工作的人員提供更大的平臺、更廣闊的發(fā)揮空間,進(jìn)一步推動逆向事業(yè)的快速、高質(zhì)發(fā)展。
天津職業(yè)院校聯(lián)合學(xué)報(bào)2022年9期