陳 誠,王漣清,董祥龍
基于KBE的整車零件三維模型差異識別系統研究及實現
陳 誠,王漣清,董祥龍
(泛亞汽車技術中心有限公司,上海 200120)
為對零件全壽命周期過程中不同版本的三維數模存在的差異進行快速識別,針對現有NX數模對比功能存在的不足,提出了一種充分利用零件屬性信息為分類篩選、分級對比依據的三維數模差異識別解決方案。利用知識工程(KBE)及知識熔接(KF)技術建立了三維數模差異識別系統,從而實現零件三維數模差異的快速識別、可視化標識及圖文輸出,提高零件設計及管理效率。
三維模型;多零件對比;知識工程;知識熔接;NX Open;差異識別系統
計算機輔助設計技術(Computer Aided Design, CAD)已普遍應用于產品設計及開發領域,可供選擇的CAD設計開發軟件也有很多。然而一般CAD軟件的功能多以幾何造型為核心,以通用型功能為主,在面對不同領域的相對專業化需求時,往往無法滿足需求或者缺乏相應的解決方案[1-8]。以汽車行業為例,涉及多個子系統、幾萬個零件,行業發展至今積累了海量的產品開發與設計經驗,目前的CAD軟件缺乏對這些寶貴經驗的有效整合利用[9-14]。如何有效利用這些知識與經驗成為重要的研究方向,知識工程(Knowledge Based Engineering, KBE)因此應運而生,提高知識重用度,降低知識門檻,讓知識更好地為產品設計服務。
零件在整個產品壽命周期中的不同階段,為滿足新的需求會不斷迭代更改設計,從而生成各種不同的版本。零件設計過程中經常需要對比檢查兩個版本之間的差異,
查看零件詳細更改內容,以修正或者確認設計更改。雖然NX有數模對比功能,但是功能單一,只能對單個Body進行對比,無法對多個零件同時對比,而工程上往往需要同時檢查多個零件的更改情況,且每個零件可能含有多個Body,因此現有對比功能無法滿足需求。通過KBE技術,可以充分考慮實際工程背景,設計出更符合實際的三維數模對比解決方案,實現多零件快速對比。本文介紹了NX環境下,三維數模對比系統的設計及關鍵技術。
NX是功能強大的三維CAD/CAM/CAE軟件系統,因其強大而完美的功能而被廣泛運用于航天航空、汽車、機械、船舶等領域。為滿足各領域專業化的需求,NX在通用軟件功能的基礎上,以“開放性設計”為理念構建了一個完整二次開發工具體系NX Open,基于該體系用戶可以實現產品設計開發規程的經驗與知識的重用,極大地提高了NX的靈活性而深受歡迎。NX Open的核心是NX Open API(應用程序接口),其對于各種開發語言提供了統一的API接口,也即無論基于什么語言開發,得到的系統特性都是相同的,自帶的近2 000個函數能夠覆蓋大部分的操作。通過調用這些自帶函數及用戶自主開發的函數,結合Block UI Styler自主設計的交互式界面能夠將用戶的知識經驗及設計意圖完整的體現出來[15]。
本系統選用NX1969作為開發平臺,C++編程語言結合NX Open API作為開發工具,Microsoft Visual Studio 2019作為集成編程開發環境。
本系統的開發是以實際工程經驗背景為基礎的,整個開發過程可以分成三個步驟:知識提取、架構設計、程序開發。
KBE技術的核心在于對現有專家知識經驗進行梳理、提煉與總結,通過知識熔接對知識進行規范化、標準化、流程化處理,最大程度地實現知識重用。具體到本系統的開發上,主要體現在以下兩點。
1.數模更改類型
工程上對比數模的目的在于檢測零件兩個版本之間的差異,識別前后版本的零件發生了哪些更改,從而給零件的設計提供參考。從工程上對零件更改關注程度的角度上可以將零件分成兩大類:常規零件和緊固件。由于緊固件是標準件,其幾何特征有固定標準,因此,在檢測零件更改時對于緊固件只需要關注其數量與位置的更改,不需要關注其幾何特征本身的更改。對于常規零件,通過對專家經驗的梳理分析與總結,得出其更改類型主要有以下幾種情況:
(1)幾何特征發生更改,如大小、形狀等發生更改,這種更改最為常見,占絕大多數;
(2)新增/減少件,出現零件的增加或者減少,或者數量發生改變;
(3)位置發生更改,通常以緊固件為主;
(4)其他,如換號,即零件相同,但零件號不同等。
本文開發的三維數模對比系統能識別不同的更改類型,根據更改類型采用不同的對比策略,提高計算效率。
2.數模類型及差異識別模式
本系統是以汽車上的零件為研究對象,汽車零件眾多,產品壽命周期長,零件數模類型較為復雜,從是否帶參的角度可以分成兩種:帶參數模和消參數模。帶參數模通常一個零件號中只含有一個實體,而消參數模通常一個零件號中含有多個實體;帶參數模屬性信息豐富且可讀取,因此可通過數模屬性信息實現零件自動識別,而消參數模因屬性缺失,必須另構解決方案。
設計數模對比解決方案時需要同時考慮這兩種情況,以滿足實際工程需求。不同類型的數模需要根據其特點制定不同的對比邏輯,本系統定義了三種差異識別模式:
(1)帶參結構樹模式。如果參與對比的A零件組和B零件組中的所有Body都有獨立的零件號,即一個Body就是一個零件,這種情況即為帶參結構樹模式。該模式下,可以充分利用零件號和版本號快速確定各零件/Body之間的一一對應關系,耗時最短。
(2)消參單件模式。如果參與對比的A零件組和B 零件組均只有一個零件,此時這兩個零件中通常包含有多個Body,該模式即消參單件模式。此時無法通過簡單的數模號及版本號確定Body的對應關系,需要通過更為復雜的邏輯來實現,實現過程復雜,耗時更長。
(3)混合模式。如果參與對比的零件中既存在一個零件只含一個Body的帶參件,也存在一個零件含多個Body的消參件,這種情況即為混合模式。此時需要結合帶參結構樹模式和消參單件模式的處理方法,先通過零件號版本號確定一部分零件的對應關系,剩下的再通過消參單件模式處理。
在梳理工程背景以及經驗的基礎上,結合理論知識,為實現多零件的同時對比,構建了如圖1所示解決方案架構。由于需要同時對比多個零件,該架構設計方案設計了確定零件對應關系和分級對比環節,這兩個關鍵步驟會大大減少計算時間,提高對比效率。

圖1 系統設計架構
程序開發包括菜單定制、人機交互界面開發、功能程序開發3部分。菜單定制通過NX Manu. script模塊實現;人機交互界面開發通過NX BlockUI Styler模塊實現,如圖2所示,包含系統主界面和檢查結果子界面;功能程序開發通過NX Open實現。

圖2 系統UI界面
根據整體架構設計方案,將系統工作流程拆分成若干個子功能點,如圖3所示。

圖3 系統功能
理論上對兩組數模A和B 對比,需要以Body為單位,將A中的每一個Body與B中的每一Body逐一進行對比,最終得到兩組零件之間的差異。參與對比的兩組零件通常包含多個零件或者子零件,每個零件可能包含一個或者多個Body。識別Body差異的過程較為復雜,耗時較長。假設兩組零件A和B各含有個Body,如果對A、B兩組零件的Body進行無差別的逐一對比,其對比次數為2。工程上參與對比的零件,其Body數量通常會超過50,那么對比次數將超過2 500,耗時將會很長,嚴重影響效率。
實際上,參與對比的兩組零件通常不是毫無關系的,而是兩組版本不同的零件,因此一般具有以下特點:
(1)A和B 保持整體上的相似性,即一般而言多數Body是存在一一對應關系的,只是存在一定程度的更改或差異;
(2)一般而言,A和B有著相同的基準坐標系,即二者通常處于重合或者基本重合狀態。
上述兩個特點是具有普遍性的,本文充分利用這些特點,結合豐富的屬性信息,建立多層級零件智能匹配算法,將對比次數從2下降到,將極大縮減計算時間,提高效率。
如圖4所示,本文充分利用了零件名、零件號、版本號、質心、體積、表面積、面數、Bounding Box大小及位置等屬性,具體如下:
(1)利用零件名快速篩選出緊固件等標準件,建立匹配關系,利用質心識別位置,僅作數量和位置的檢查;
(2)利用零件號和版本號篩選出同號件,快速排除相同件,建立同號異版本零件間的匹配關系;
(3)對于消參數模,利用體積、表面積、面數量這三個屬性信息建立Body間的匹配關系。篩選過程中,為了減少計算量,加快篩選速度,采用Bounding Box的中心點距離加快Body匹配關系識別,僅對中心點距離在設定容差范圍內的Body進行檢查。
通過以上分級篩選邏輯可以逐步排除緊固件、相同件Body、新增/減少件/Body,找出需要進行面拓撲信息對比的一一對應件,大大減少了計算量。
未成功建立匹配關系的零件或Body將被識別為新增或者已刪除零件。完成匹配的零件或Body將進入面拓撲信息對比環節,具體識別零件的差異。

圖4 多層級零件匹配算法流程圖
基于已完成匹配的零件/Body對,本文以面特征作為對比特征,以面特征的幾何拓撲信息作為判定數模差異的依據識別出兩組零件間的差異。本文選擇的面拓撲信息有面積、面UV中點、邊數量。循環比較每個面,如果兩個面的這三個參數完全相同,則判定這兩個面完全相同,沒有發生更改。否則判定為幾何特征更改,將會被標識出來。
一般而言,零件/Body面的數量比較大,因此該過程耗時較長,本文提出的多級零件匹配算法可大大減少進入面拓撲信息對比環節的Body數量,提高計算速度。
完成數模對比之后,為了便于查看對比結果,本系統從優化可視化效果角度做了多種設計。
1.視圖分區顯示
如圖5所示,為方便查看對比結果,本系統將工作區分成三個部分,左側為所有零件顯示區,右側為兩組零件獨立顯示。

圖5 工作區分區顯示
2.零件差異可視化區分
為了能直觀地表示出零件間的差異,本系統作了以下設計:
(1)快速隱藏未發生改變的Body;
(2)采用不同顏色表征不同類型的更改;
(3)結果子界面中的更改信息與視圖區相互關聯。
3.對比結果可輸出、可保存
由于數模對比運算時間較長,且查看零件更改操作較為頻繁,本系統創新性開發了檢查結果可復現功能,可以在退出NX后重新加載對比結果,極大地節省了時間。
如圖6所示,以某款車型的副車架為例,該零件為總成件,部分零件為帶參零件,部分零件為消參零件,共計35個子零件,其中有10個緊固件。采用本系統對該總成件的最新版本和一個歷史版本進行差異性分析,檢查結果發現其中1個緊固件位置發生變化,18個零件未發生更改,7個子零件存在740個面特征更新,如圖7所示。工作區中分區顯示參與對比的兩組零件,采用不同著色表征不同類型的變更,如圖8所示。

圖6 待對比的兩個版本某型副車架

圖7 識別出740個面特征更新

圖8 對比結果分區顯示
經過對比驗證,本系統100%識別出兩組零件間的差異,相較于現有功能效率更高,且分類型識別更符合實際需求,現已經在多款車型中推廣使用。
本系統結合實際工程背景,在詳細分析零件設計過程中對檢測零件更改需求的基礎上,整合專家經驗,以知識工程方法為指導,基于NX Open二次開發技術探索設計并開發了三維數模對比系統。本系統創新地提出了多層級對比算法,解決了多類型多零件的自動匹配難題,進而在行業內首次實現了多個零件的快速自動批量差異分析,并可視化輸出檢查結果,極大提高了數模差異識別效率,有較大推廣價值。
[1] 魯超宇,王鳳花,賴慶輝,等.基于知識工程的旋耕機智能設計系統研究與開發[J].西北農林科技大學學報(自然科學版),2021,49(7):134-144.
[2] 徐春生,張楊,夏永泉,等.基于MBD和KBE的衛星單機模型緊固件自動裝配研究[J].制造業自動化,2020, 42(9):114-117,126.
[3] 張瑜,邱明星,賈鐸,等.基于知識工程的外涵機匣設計系統構建[J].航空發動機,2018,44(4):51-55.
[4] 李晟,穆旻皓,梁來雨,等.基于KBE的振沖設備設計系統研究與開發[J].機械設計,2018,35(1):97-101.
[5] 謝暉,袁志鵬,王詩恩,等.基于KBE的B柱全流程沖壓工藝設計及系統開發[J].熱加工工藝,2016,45(13): 133-138.
[6] 張建輝,檀潤華,張爭艷,等.計算機輔助創新技術驅動的產品概念設計與詳細設計集成研究[J].機械工程學報,2016,52(5):47-57.
[7] 韓曉鳳,文強,厲海元.基于知識工程模板的月牙肋岔管參數化設計[J].水利水電技術,2015,46(11):50-55.
[8] 王宇,朱煜忻,王衛星,等.基于KBE的航空發動機復雜殼體MBD設計模式研究[J].航空制造技術,2014 (22):35-38.
[9] 高曉兵,劉軍強.面向設計流程的全三維產品KBE設計技術研究[J].制造業自動化,2014,36(1):127-131.
[10] 王義林,鄭金橋,李志剛.基于KBE的汽車覆蓋件沖壓工藝方案設計[J].材料科學與工藝,2004,12(4):345- 348.
[11] 靳春寧,胡平,陶海龍,等.基于知識工程及面向制造設計的車身部件設計方法和技術[J].吉林大學學報(工學版),2006(4):548-553.
[12] 莫莉,劉晉平,胡正寰.基于KBE技術的楔橫軋軋件的特征描述[J].鍛壓技術,2010(2):144-147,153.
[13] 張賽軍,劉文娟,阮鋒,等.基于KBE技術的互感器模具設計[J].電力自動化設備,2005,25(8):87-89.
[14] 孫大鵬,葉小勇.基于Catia V5的汽車內飾網狀孔設計[J].汽車實用技術,2018(8):82-84.
[15] 汪銳,張傳順.NX Open API編程技術[M].北京:電子工業出版社,2012.
Research and Implementation of Vehicle Parts 3D Model Difference Recognition System Based on KBE Technology
CHEN Cheng, WANG Lianqing, DONG Xianglong
( Pan Asia Technical Automotive Center Company Limited, Shanghai 200120, China )
In order to quickly identify the differences between different versions of vehicle parts 3D model in the whole life cycle of parts, aiming at the shortcomings of the existing NX function, a 3D model difference recognition solution was proposed, which made full use of the part attributes and took the attributes as the basis for classification, screening and hierarchical comparison. A 3D model difference recognition system was established by using knowledge based engineering (KBE) and knowledge fusion (KF) technology, so as to realize the rapid recognition, visual identification and graphic output of 3D model differences of parts, and improve the efficiency of part design and management.
3D model;Multi-part comparison; Knowledge based engineering;Knowledge fusion;NX open;Difference recognition systern
U461.99
A
1671-7988(2022)24-59-06
U461.99
A
1671-7988(2022)24-59-06
10.16638/j.cnki.1671-7988.2022.024.010
陳誠(1991—),男,碩士,研究方向為基于KBE的汽車研發過程數字化,E-mail: cheng9_chen@patac.com.cn。