王宏
摘 要:針對異構(gòu)CAD全三維數(shù)字化協(xié)同研制需求,提出了一種基于點云數(shù)據(jù)異構(gòu)CAD模型幾何一致性對比檢查的方法。首先,對原始異構(gòu)CAD模型線、面進(jìn)行分割,提取點云數(shù)據(jù);其次,將點云數(shù)據(jù)導(dǎo)入待檢測CAD軟件中與轉(zhuǎn)換后模型進(jìn)行匹配;最終,通過計算點云數(shù)據(jù)中點到模型相對應(yīng)線、面最小距離,實現(xiàn)異構(gòu)CAD模型對比檢查。該方法通過給定控制多邊形的弦長比實現(xiàn)曲面點云提取的自適應(yīng)調(diào)整,改進(jìn)點云生成質(zhì)量,同時運用線、面鄰接關(guān)系,減少模型表面遍歷次數(shù),進(jìn)而提高點云數(shù)據(jù)歸屬計算效率。
關(guān)鍵詞:點云;異構(gòu)模型;對比檢查;自適應(yīng)控制
中圖分類號:TB 文獻(xiàn)標(biāo)識碼:A doi:10.19311/j.cnki.1672-3198.2022.09.087
隨著信息技術(shù)的不斷發(fā)展以及復(fù)雜產(chǎn)品快速敏捷研制的要求,直升機等大型產(chǎn)品已全面走上國際協(xié)同研制的道路。但是,由于國際上各大直升機設(shè)計生產(chǎn)廠商使用CAD軟件平臺差異。如何保證轉(zhuǎn)換模型與原始設(shè)計模型的數(shù)據(jù)一致性成為聯(lián)合設(shè)計環(huán)境構(gòu)建的難點。文獻(xiàn)[1]采用XML對模型建模過程進(jìn)行描述,實現(xiàn)異構(gòu)CAD數(shù)據(jù)交換。文獻(xiàn)[2]提出一種基于特征識別異構(gòu)CAD模型對比方法。也有一些商業(yè)軟件通過一種獨立其他CAD軟件的中間格式進(jìn)行異構(gòu)CAD模型的轉(zhuǎn)換和對比。以上方法和工具都能部分解決異構(gòu)CAD模型對比中的問題,但在實際應(yīng)用過程中,沒有很好的平衡對比精度與效率,或者需要對現(xiàn)有研制流程進(jìn)行大規(guī)模改造,無法實現(xiàn)與現(xiàn)有數(shù)據(jù)管理系統(tǒng)高度集成。
在工程領(lǐng)域,為了完成復(fù)雜型面制造精度的快速檢測,通常使用三坐標(biāo)測量機或激光掃描儀獲取被測型面點云數(shù)據(jù),然后將產(chǎn)品的三維CAD模型與型面測量點云數(shù)據(jù)進(jìn)行配準(zhǔn)比較和誤差分析,給出產(chǎn)品的制造精度。本文則借鑒復(fù)雜型面三維數(shù)字化檢測技術(shù)實現(xiàn)異構(gòu)CAD模型幾何數(shù)據(jù)對比,首先對原始CAD模型線、面分割獲取點云數(shù)據(jù),然后導(dǎo)入轉(zhuǎn)換或重建的CAD模型中,通過計算點云中各數(shù)據(jù)點和相應(yīng)線、面之間最小距離,對轉(zhuǎn)換或重建CAD模型幾何精度進(jìn)行檢測。
1 點云數(shù)據(jù)的提取
1.1 直線、平面數(shù)據(jù)點提取
由于直線和平面數(shù)據(jù)描述比較簡單,在CAD模型重建和轉(zhuǎn)換過程中,出現(xiàn)問題的可能性比較小,為了提高點云提取效率,對于直線和平面,采用等步長分割方法進(jìn)行采點。
如圖1所示,通過面的遍歷和識別獲取平面數(shù)據(jù)后,首先取平面中某一頂點為原點,該頂點所在某條邊線在該頂點處切線為x軸,平面法線方向為z軸,給定精度d為單位長度,建立空間直角坐標(biāo)系。然后以單位長度為步長在x軸和y軸方向?qū)ζ矫媲懈睿懈詈笏倪呅胃黜旤c即為待提取點云數(shù)據(jù)。
1.2 曲線、曲面數(shù)據(jù)點提取
曲線、曲面分割在有限元網(wǎng)格劃分領(lǐng)域有廣泛的應(yīng)用,網(wǎng)格劃分是進(jìn)行有限元分析的基礎(chǔ),直接影響有限元數(shù)值計算的收斂性、精度和效率。目前對于自由曲面網(wǎng)格劃分主要有映射法、八叉樹法、前沿推進(jìn)等方法。在模型曲線、曲面數(shù)據(jù)點提取中,要求對曲面劇烈變化區(qū)域提取點應(yīng)適當(dāng)加密,這與有限元曲面網(wǎng)格劃分中存在很大不同。本文采用Boehm插入節(jié)點的方法對曲線、曲面進(jìn)行分割,通過給定曲線控制多邊形弦長比,實現(xiàn)點云數(shù)據(jù)自適應(yīng)提取。
對于Bezier型p階樣條曲線:
將節(jié)點t重復(fù)插入p-1次,則原B樣條曲線以節(jié)點矢量t為分割點,形成兩個Bezier型B樣條曲線, NURBS曲線可以分別對WX,WY,WZ,W進(jìn)行節(jié)點插入運算,實現(xiàn)NURBS曲線分割。
如圖2所示,由于樣條曲線的凸包性,曲線必定在其控制多邊形所形成的凸包之中,對于給定曲線段,可以使用控制多邊形的累積弦長(ab+bc+cd)與控制頂點兩端點連接弦長(ad)的比值反映曲線彎曲程度,曲線彎曲程度與弦長比值正相關(guān)。同樣,如果要滿足相同的弦長比,曲線曲率越大的區(qū)域分割點越密集,反之越稀疏。通過給定控制多邊形弦長比,實現(xiàn)對曲線分割的自適應(yīng)控制。
B樣條曲面、NURBS曲面分割是相應(yīng)曲線分割在U、W兩個方向的推廣。在同一參數(shù)控制下,分別計算在U、W兩個方向的弦長比,如果任意方向弦長比均滿足控制參數(shù)要求,分別在U、W方向進(jìn)行分割,這樣原來p階曲面被分割為4各小型p階曲面。
計U、W方向的弦長比分別為R(U)、R(W),采用二叉樹方式的遞歸分割算法如下:
2 點云數(shù)據(jù)的組織
用TXT文檔作為點云數(shù)據(jù)傳遞的中性文件,采用自由格式的正文編碼形式書寫,清晰易懂且便于軟件的解釋和處理。為了提高后續(xù)點云數(shù)據(jù)與模型匹配準(zhǔn)確性和效率,如圖3所示,點云數(shù)據(jù)文件主要由4部分構(gòu)成:基本屬性;線、面鄰接關(guān)系;邊線點云數(shù)據(jù);面點云數(shù)據(jù)。其中,模型屬性信息包含模型實例名稱、材料信息、審簽信息、重量特性等對零件特性描述;線、面鄰接關(guān)系主要是對模型邊線與外表面鄰接關(guān)系說明;邊線點云數(shù)據(jù)包含直線邊和曲線邊切割后獲得的點數(shù)據(jù);面點云數(shù)據(jù)包含平面和曲面切割后網(wǎng)格的頂點數(shù)據(jù)。
3 點云數(shù)據(jù)與CAD模型的對比
點云數(shù)據(jù)與CAD模型的對比就是計算出點云數(shù)據(jù)與三維CAD模型的偏差,其實質(zhì)就是點云數(shù)據(jù)中的點到模型對應(yīng)邊、面最小距離的計算。由于CAD模型的外表面由多個平面或曲面構(gòu)成,因此,點云數(shù)據(jù)與CAD模型的對比主要分為兩個步驟:點云數(shù)據(jù)與CAD模型中特定線、面的歸屬;本文在點云數(shù)據(jù)的組織基礎(chǔ)上,通過線、面鄰接關(guān)系減少對模型表面的遍歷,提高點云數(shù)據(jù)歸屬計算效率。其基本步驟如下:
(1)讀取點云數(shù)據(jù)傳遞中性文件,獲取線、面鄰接關(guān)系、邊線點云數(shù)據(jù)、面點云數(shù)據(jù)。
(2)通過線、面鄰接關(guān)系表獲取點云數(shù)據(jù)中邊線Line_m以及其鄰接面Surface_a、Surface_b。
(3)計算邊線Line_m所有點到CAD模型某條邊線最近距離,并求平均值,遍歷CAD模型中所有邊線,獲取平均距離最小值,其所對應(yīng)CAD模型邊線即為Line_m的歸屬邊線,記為Line_M。
(4)分別在Surface_a、Surface_b隨機選取若干點,構(gòu)成點集{P}、{Q}。
(5)計算點集{P}中所有點到CAD模型邊線Line_M某個鄰接面最近距離,并求平均值,遍歷邊線Line_M所有鄰接面,獲取平均距離最小值,其所對應(yīng)CAD模型的面即為Surface_a的歸屬面,記為Surface_A。
(6)同樣通過點集{Q}計算Surface_b在CAD模型歸屬面,記為Surface_B。
(7)循環(huán)調(diào)用,知道點云數(shù)據(jù)中所有的線和面在CAD模型中找到相應(yīng)的歸屬的線和面。
完成點云數(shù)據(jù)的歸屬計算后,計算點云所有點到相應(yīng)歸屬線、面最小距離,并用色斑圖進(jìn)行可視化顯示,支持后續(xù)檢查報告生成和對比結(jié)果分析。
4 系統(tǒng)實現(xiàn)與驗證
中方作為主體研制單位,為了保證中方獲取的模型與原始NX模型幾何數(shù)據(jù)的一致性,異構(gòu)CAD模型幾何一致性對比原型系統(tǒng)主要由模型數(shù)據(jù)提取和模型數(shù)據(jù)對比兩個模塊組成。
4.1 模型數(shù)據(jù)提取模塊
模型數(shù)據(jù)提取主要包含對NX模型基本屬性的提取以及點云數(shù)據(jù)的提取?;緦傩蕴崛】梢灾苯诱{(diào)用當(dāng)前模型的屬性值獲得。點云數(shù)據(jù)提取則由對NX原始模型邊線和面進(jìn)行查找、識別、分割以及分割點的獲取等步驟組成。在NX二次開發(fā)中,通常采用Collection類進(jìn)行迭代,獲取模型邊線及表面實例,隨后使用SolidLineType、SolidFaceType方法完成對邊線及面類型的判定。
4.2 模型數(shù)據(jù)對比模塊
模型數(shù)據(jù)對比需要在CATIA軟件中進(jìn)行,包含模型基本屬性對比和點云數(shù)據(jù)對比兩種形式。模型基本屬性對比可直接采用模板法進(jìn)行。在基于CAA的CATIA二次開發(fā)中,使用QueryInterface接口對轉(zhuǎn)換后CATIA中線、面進(jìn)行遍歷,再通過IsLyingOn方法判斷這些線面的鄰接關(guān)系,找出點云數(shù)據(jù)與CATIA模型線、面之間的對應(yīng)關(guān)系,最后,運用CATCreateDistanceMinTopo接口求點到對應(yīng)線、面的最小距離,并進(jìn)行色斑圖結(jié)果顯示。
4.3 實例驗證
本文選取100個直升機典型結(jié)構(gòu)件NX模型,對其中50個模型使用CATIA重新建模,另外50個模型通過STEP中間格式轉(zhuǎn)換為CATIA模型。進(jìn)而對該方法及系統(tǒng)的有效性進(jìn)行驗證。首先,將模型在NX中打開,設(shè)置點云提取精度,對點云數(shù)據(jù)進(jìn)行提取;隨后,給定對比精度,采用批處理方式將點云數(shù)據(jù)與通過重建和轉(zhuǎn)換獲取的CATIA模型進(jìn)行一致性對比,結(jié)果如表1所示。
由對比結(jié)果可知,重建模型有兩個未通過檢測,轉(zhuǎn)換模型有一個未通過檢測。提取相應(yīng)模型并在CATIA中打開,并將相應(yīng)點云數(shù)據(jù)導(dǎo)入到CATIA中,其中圖4為重建獲得的CATIA模型,從圖中可以看到在模型表面變化劇烈地方,數(shù)據(jù)點采集明顯變密。
將模型與點云數(shù)據(jù)手動對比一致性,對比結(jié)果分別如圖5所示。經(jīng)過分析,重建CATIA模型草圖未完全約束,使得重建CATIA模型與原始模型存在誤差。轉(zhuǎn)換模型在轉(zhuǎn)換過程中出現(xiàn)破面,造成部分點距離計算超差,無法通過檢測。
5 結(jié)論
(1)借鑒實際工程中復(fù)雜型面制造精度的快速檢測技術(shù),提出了一種基于點云數(shù)據(jù)的異構(gòu)CAD模型對比的方法。
(2)結(jié)合實際應(yīng)用背景,開發(fā)了基于NX和CATIA的異構(gòu)CAD模型檢查系統(tǒng),并進(jìn)行實例驗證,具有良好效果。
(3)點云數(shù)據(jù)提取中性文件為TXT文檔格式,后續(xù)可以直接作為NX模型導(dǎo)入VPM系統(tǒng)中的驗證文件,與TeamCenter和VPM具有很好的集成度。
(4)后續(xù)可以對模型中三維標(biāo)注信息的對比檢查進(jìn)行補充,從而在工程中得到更好應(yīng)用。
參考文獻(xiàn)
[1]董超.基于XML的CAD裝配模型數(shù)據(jù)交換[D].大連:大連理工大學(xué),2009.
[2]Li X,He F,Cai X,et al.A method for topological entity matching in the integration of heterogeneous CAD systems[J].Integrated Computer-Aided Engineering,2013,20(1):15-30.
[3]李歡,陳志同,屈新河.毛坯海量點集與CAD數(shù)模的自適應(yīng)快速精確配準(zhǔn)方法研究[J].航空制造技術(shù),2017,523(4):101-105.
[4]江存.自由曲面空間網(wǎng)格結(jié)構(gòu)網(wǎng)格劃分、優(yōu)化及力性能研究[D].杭州:浙江大學(xué),2015.
[5]梅中義,范玉青.NURBS曲面的四邊形網(wǎng)格的分割與逼近[J].圖學(xué)學(xué)報,2003,24(3):105-110.
[6]陳永府,張華.任意曲面的三角形網(wǎng)格劃分[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,1997,9(5): 396-401.