陳 誠,王漣清,董祥龍
基于KBE的整車零件三維模型差異識別系統(tǒng)研究及實現(xiàn)
陳 誠,王漣清,董祥龍
(泛亞汽車技術(shù)中心有限公司,上海 200120)
為對零件全壽命周期過程中不同版本的三維數(shù)模存在的差異進行快速識別,針對現(xiàn)有NX數(shù)模對比功能存在的不足,提出了一種充分利用零件屬性信息為分類篩選、分級對比依據(jù)的三維數(shù)模差異識別解決方案。利用知識工程(KBE)及知識熔接(KF)技術(shù)建立了三維數(shù)模差異識別系統(tǒng),從而實現(xiàn)零件三維數(shù)模差異的快速識別、可視化標(biāo)識及圖文輸出,提高零件設(shè)計及管理效率。
三維模型;多零件對比;知識工程;知識熔接;NX Open;差異識別系統(tǒng)
計算機輔助設(shè)計技術(shù)(Computer Aided Design, CAD)已普遍應(yīng)用于產(chǎn)品設(shè)計及開發(fā)領(lǐng)域,可供選擇的CAD設(shè)計開發(fā)軟件也有很多。然而一般CAD軟件的功能多以幾何造型為核心,以通用型功能為主,在面對不同領(lǐng)域的相對專業(yè)化需求時,往往無法滿足需求或者缺乏相應(yīng)的解決方案[1-8]。以汽車行業(yè)為例,涉及多個子系統(tǒng)、幾萬個零件,行業(yè)發(fā)展至今積累了海量的產(chǎn)品開發(fā)與設(shè)計經(jīng)驗,目前的CAD軟件缺乏對這些寶貴經(jīng)驗的有效整合利用[9-14]。如何有效利用這些知識與經(jīng)驗成為重要的研究方向,知識工程(Knowledge Based Engineering, KBE)因此應(yīng)運而生,提高知識重用度,降低知識門檻,讓知識更好地為產(chǎn)品設(shè)計服務(wù)。
零件在整個產(chǎn)品壽命周期中的不同階段,為滿足新的需求會不斷迭代更改設(shè)計,從而生成各種不同的版本。零件設(shè)計過程中經(jīng)常需要對比檢查兩個版本之間的差異,
查看零件詳細更改內(nèi)容,以修正或者確認(rèn)設(shè)計更改。雖然NX有數(shù)模對比功能,但是功能單一,只能對單個Body進行對比,無法對多個零件同時對比,而工程上往往需要同時檢查多個零件的更改情況,且每個零件可能含有多個Body,因此現(xiàn)有對比功能無法滿足需求。通過KBE技術(shù),可以充分考慮實際工程背景,設(shè)計出更符合實際的三維數(shù)模對比解決方案,實現(xiàn)多零件快速對比。本文介紹了NX環(huán)境下,三維數(shù)模對比系統(tǒng)的設(shè)計及關(guān)鍵技術(shù)。
NX是功能強大的三維CAD/CAM/CAE軟件系統(tǒng),因其強大而完美的功能而被廣泛運用于航天航空、汽車、機械、船舶等領(lǐng)域。為滿足各領(lǐng)域?qū)I(yè)化的需求,NX在通用軟件功能的基礎(chǔ)上,以“開放性設(shè)計”為理念構(gòu)建了一個完整二次開發(fā)工具體系NX Open,基于該體系用戶可以實現(xiàn)產(chǎn)品設(shè)計開發(fā)規(guī)程的經(jīng)驗與知識的重用,極大地提高了NX的靈活性而深受歡迎。NX Open的核心是NX Open API(應(yīng)用程序接口),其對于各種開發(fā)語言提供了統(tǒng)一的API接口,也即無論基于什么語言開發(fā),得到的系統(tǒng)特性都是相同的,自帶的近2 000個函數(shù)能夠覆蓋大部分的操作。通過調(diào)用這些自帶函數(shù)及用戶自主開發(fā)的函數(shù),結(jié)合Block UI Styler自主設(shè)計的交互式界面能夠?qū)⒂脩舻闹R經(jīng)驗及設(shè)計意圖完整的體現(xiàn)出來[15]。
本系統(tǒng)選用NX1969作為開發(fā)平臺,C++編程語言結(jié)合NX Open API作為開發(fā)工具,Microsoft Visual Studio 2019作為集成編程開發(fā)環(huán)境。
本系統(tǒng)的開發(fā)是以實際工程經(jīng)驗背景為基礎(chǔ)的,整個開發(fā)過程可以分成三個步驟:知識提取、架構(gòu)設(shè)計、程序開發(fā)。
KBE技術(shù)的核心在于對現(xiàn)有專家知識經(jīng)驗進行梳理、提煉與總結(jié),通過知識熔接對知識進行規(guī)范化、標(biāo)準(zhǔn)化、流程化處理,最大程度地實現(xiàn)知識重用。具體到本系統(tǒng)的開發(fā)上,主要體現(xiàn)在以下兩點。
1.數(shù)模更改類型
工程上對比數(shù)模的目的在于檢測零件兩個版本之間的差異,識別前后版本的零件發(fā)生了哪些更改,從而給零件的設(shè)計提供參考。從工程上對零件更改關(guān)注程度的角度上可以將零件分成兩大類:常規(guī)零件和緊固件。由于緊固件是標(biāo)準(zhǔn)件,其幾何特征有固定標(biāo)準(zhǔn),因此,在檢測零件更改時對于緊固件只需要關(guān)注其數(shù)量與位置的更改,不需要關(guān)注其幾何特征本身的更改。對于常規(guī)零件,通過對專家經(jīng)驗的梳理分析與總結(jié),得出其更改類型主要有以下幾種情況:
(1)幾何特征發(fā)生更改,如大小、形狀等發(fā)生更改,這種更改最為常見,占絕大多數(shù);
(2)新增/減少件,出現(xiàn)零件的增加或者減少,或者數(shù)量發(fā)生改變;
(3)位置發(fā)生更改,通常以緊固件為主;
(4)其他,如換號,即零件相同,但零件號不同等。
本文開發(fā)的三維數(shù)模對比系統(tǒng)能識別不同的更改類型,根據(jù)更改類型采用不同的對比策略,提高計算效率。
2.數(shù)模類型及差異識別模式
本系統(tǒng)是以汽車上的零件為研究對象,汽車零件眾多,產(chǎn)品壽命周期長,零件數(shù)模類型較為復(fù)雜,從是否帶參的角度可以分成兩種:帶參數(shù)模和消參數(shù)模。帶參數(shù)模通常一個零件號中只含有一個實體,而消參數(shù)模通常一個零件號中含有多個實體;帶參數(shù)模屬性信息豐富且可讀取,因此可通過數(shù)模屬性信息實現(xiàn)零件自動識別,而消參數(shù)模因?qū)傩匀笔В仨毩順?gòu)解決方案。
設(shè)計數(shù)模對比解決方案時需要同時考慮這兩種情況,以滿足實際工程需求。不同類型的數(shù)模需要根據(jù)其特點制定不同的對比邏輯,本系統(tǒng)定義了三種差異識別模式:
(1)帶參結(jié)構(gòu)樹模式。如果參與對比的A零件組和B零件組中的所有Body都有獨立的零件號,即一個Body就是一個零件,這種情況即為帶參結(jié)構(gòu)樹模式。該模式下,可以充分利用零件號和版本號快速確定各零件/Body之間的一一對應(yīng)關(guān)系,耗時最短。
(2)消參單件模式。如果參與對比的A零件組和B 零件組均只有一個零件,此時這兩個零件中通常包含有多個Body,該模式即消參單件模式。此時無法通過簡單的數(shù)模號及版本號確定Body的對應(yīng)關(guān)系,需要通過更為復(fù)雜的邏輯來實現(xiàn),實現(xiàn)過程復(fù)雜,耗時更長。
(3)混合模式。如果參與對比的零件中既存在一個零件只含一個Body的帶參件,也存在一個零件含多個Body的消參件,這種情況即為混合模式。此時需要結(jié)合帶參結(jié)構(gòu)樹模式和消參單件模式的處理方法,先通過零件號版本號確定一部分零件的對應(yīng)關(guān)系,剩下的再通過消參單件模式處理。
在梳理工程背景以及經(jīng)驗的基礎(chǔ)上,結(jié)合理論知識,為實現(xiàn)多零件的同時對比,構(gòu)建了如圖1所示解決方案架構(gòu)。由于需要同時對比多個零件,該架構(gòu)設(shè)計方案設(shè)計了確定零件對應(yīng)關(guān)系和分級對比環(huán)節(jié),這兩個關(guān)鍵步驟會大大減少計算時間,提高對比效率。
圖1 系統(tǒng)設(shè)計架構(gòu)
程序開發(fā)包括菜單定制、人機交互界面開發(fā)、功能程序開發(fā)3部分。菜單定制通過NX Manu. script模塊實現(xiàn);人機交互界面開發(fā)通過NX BlockUI Styler模塊實現(xiàn),如圖2所示,包含系統(tǒng)主界面和檢查結(jié)果子界面;功能程序開發(fā)通過NX Open實現(xiàn)。
圖2 系統(tǒng)UI界面
根據(jù)整體架構(gòu)設(shè)計方案,將系統(tǒng)工作流程拆分成若干個子功能點,如圖3所示。
圖3 系統(tǒng)功能
理論上對兩組數(shù)模A和B 對比,需要以Body為單位,將A中的每一個Body與B中的每一Body逐一進行對比,最終得到兩組零件之間的差異。參與對比的兩組零件通常包含多個零件或者子零件,每個零件可能包含一個或者多個Body。識別Body差異的過程較為復(fù)雜,耗時較長。假設(shè)兩組零件A和B各含有個Body,如果對A、B兩組零件的Body進行無差別的逐一對比,其對比次數(shù)為2。工程上參與對比的零件,其Body數(shù)量通常會超過50,那么對比次數(shù)將超過2 500,耗時將會很長,嚴(yán)重影響效率。
實際上,參與對比的兩組零件通常不是毫無關(guān)系的,而是兩組版本不同的零件,因此一般具有以下特點:
(1)A和B 保持整體上的相似性,即一般而言多數(shù)Body是存在一一對應(yīng)關(guān)系的,只是存在一定程度的更改或差異;
(2)一般而言,A和B有著相同的基準(zhǔn)坐標(biāo)系,即二者通常處于重合或者基本重合狀態(tài)。
上述兩個特點是具有普遍性的,本文充分利用這些特點,結(jié)合豐富的屬性信息,建立多層級零件智能匹配算法,將對比次數(shù)從2下降到,將極大縮減計算時間,提高效率。
如圖4所示,本文充分利用了零件名、零件號、版本號、質(zhì)心、體積、表面積、面數(shù)、Bounding Box大小及位置等屬性,具體如下:
(1)利用零件名快速篩選出緊固件等標(biāo)準(zhǔn)件,建立匹配關(guān)系,利用質(zhì)心識別位置,僅作數(shù)量和位置的檢查;
(2)利用零件號和版本號篩選出同號件,快速排除相同件,建立同號異版本零件間的匹配關(guān)系;
(3)對于消參數(shù)模,利用體積、表面積、面數(shù)量這三個屬性信息建立Body間的匹配關(guān)系。篩選過程中,為了減少計算量,加快篩選速度,采用Bounding Box的中心點距離加快Body匹配關(guān)系識別,僅對中心點距離在設(shè)定容差范圍內(nèi)的Body進行檢查。
通過以上分級篩選邏輯可以逐步排除緊固件、相同件Body、新增/減少件/Body,找出需要進行面拓?fù)湫畔Ρ鹊囊灰粚?yīng)件,大大減少了計算量。
未成功建立匹配關(guān)系的零件或Body將被識別為新增或者已刪除零件。完成匹配的零件或Body將進入面拓?fù)湫畔Ρ拳h(huán)節(jié),具體識別零件的差異。
圖4 多層級零件匹配算法流程圖
基于已完成匹配的零件/Body對,本文以面特征作為對比特征,以面特征的幾何拓?fù)湫畔⒆鳛榕卸〝?shù)模差異的依據(jù)識別出兩組零件間的差異。本文選擇的面拓?fù)湫畔⒂忻娣e、面UV中點、邊數(shù)量。循環(huán)比較每個面,如果兩個面的這三個參數(shù)完全相同,則判定這兩個面完全相同,沒有發(fā)生更改。否則判定為幾何特征更改,將會被標(biāo)識出來。
一般而言,零件/Body面的數(shù)量比較大,因此該過程耗時較長,本文提出的多級零件匹配算法可大大減少進入面拓?fù)湫畔Ρ拳h(huán)節(jié)的Body數(shù)量,提高計算速度。
完成數(shù)模對比之后,為了便于查看對比結(jié)果,本系統(tǒng)從優(yōu)化可視化效果角度做了多種設(shè)計。
1.視圖分區(qū)顯示
如圖5所示,為方便查看對比結(jié)果,本系統(tǒng)將工作區(qū)分成三個部分,左側(cè)為所有零件顯示區(qū),右側(cè)為兩組零件獨立顯示。
圖5 工作區(qū)分區(qū)顯示
2.零件差異可視化區(qū)分
為了能直觀地表示出零件間的差異,本系統(tǒng)作了以下設(shè)計:
(1)快速隱藏未發(fā)生改變的Body;
(2)采用不同顏色表征不同類型的更改;
(3)結(jié)果子界面中的更改信息與視圖區(qū)相互關(guān)聯(lián)。
3.對比結(jié)果可輸出、可保存
由于數(shù)模對比運算時間較長,且查看零件更改操作較為頻繁,本系統(tǒng)創(chuàng)新性開發(fā)了檢查結(jié)果可復(fù)現(xiàn)功能,可以在退出NX后重新加載對比結(jié)果,極大地節(jié)省了時間。
如圖6所示,以某款車型的副車架為例,該零件為總成件,部分零件為帶參零件,部分零件為消參零件,共計35個子零件,其中有10個緊固件。采用本系統(tǒng)對該總成件的最新版本和一個歷史版本進行差異性分析,檢查結(jié)果發(fā)現(xiàn)其中1個緊固件位置發(fā)生變化,18個零件未發(fā)生更改,7個子零件存在740個面特征更新,如圖7所示。工作區(qū)中分區(qū)顯示參與對比的兩組零件,采用不同著色表征不同類型的變更,如圖8所示。
圖6 待對比的兩個版本某型副車架
圖7 識別出740個面特征更新
圖8 對比結(jié)果分區(qū)顯示
經(jīng)過對比驗證,本系統(tǒng)100%識別出兩組零件間的差異,相較于現(xiàn)有功能效率更高,且分類型識別更符合實際需求,現(xiàn)已經(jīng)在多款車型中推廣使用。
本系統(tǒng)結(jié)合實際工程背景,在詳細分析零件設(shè)計過程中對檢測零件更改需求的基礎(chǔ)上,整合專家經(jīng)驗,以知識工程方法為指導(dǎo),基于NX Open二次開發(fā)技術(shù)探索設(shè)計并開發(fā)了三維數(shù)模對比系統(tǒng)。本系統(tǒng)創(chuàng)新地提出了多層級對比算法,解決了多類型多零件的自動匹配難題,進而在行業(yè)內(nèi)首次實現(xiàn)了多個零件的快速自動批量差異分析,并可視化輸出檢查結(jié)果,極大提高了數(shù)模差異識別效率,有較大推廣價值。
[1] 魯超宇,王鳳花,賴慶輝,等.基于知識工程的旋耕機智能設(shè)計系統(tǒng)研究與開發(fā)[J].西北農(nóng)林科技大學(xué)學(xué)報(自然科學(xué)版),2021,49(7):134-144.
[2] 徐春生,張楊,夏永泉,等.基于MBD和KBE的衛(wèi)星單機模型緊固件自動裝配研究[J].制造業(yè)自動化,2020, 42(9):114-117,126.
[3] 張瑜,邱明星,賈鐸,等.基于知識工程的外涵機匣設(shè)計系統(tǒng)構(gòu)建[J].航空發(fā)動機,2018,44(4):51-55.
[4] 李晟,穆旻皓,梁來雨,等.基于KBE的振沖設(shè)備設(shè)計系統(tǒng)研究與開發(fā)[J].機械設(shè)計,2018,35(1):97-101.
[5] 謝暉,袁志鵬,王詩恩,等.基于KBE的B柱全流程沖壓工藝設(shè)計及系統(tǒng)開發(fā)[J].熱加工工藝,2016,45(13): 133-138.
[6] 張建輝,檀潤華,張爭艷,等.計算機輔助創(chuàng)新技術(shù)驅(qū)動的產(chǎn)品概念設(shè)計與詳細設(shè)計集成研究[J].機械工程學(xué)報,2016,52(5):47-57.
[7] 韓曉鳳,文強,厲海元.基于知識工程模板的月牙肋岔管參數(shù)化設(shè)計[J].水利水電技術(shù),2015,46(11):50-55.
[8] 王宇,朱煜忻,王衛(wèi)星,等.基于KBE的航空發(fā)動機復(fù)雜殼體MBD設(shè)計模式研究[J].航空制造技術(shù),2014 (22):35-38.
[9] 高曉兵,劉軍強.面向設(shè)計流程的全三維產(chǎn)品KBE設(shè)計技術(shù)研究[J].制造業(yè)自動化,2014,36(1):127-131.
[10] 王義林,鄭金橋,李志剛.基于KBE的汽車覆蓋件沖壓工藝方案設(shè)計[J].材料科學(xué)與工藝,2004,12(4):345- 348.
[11] 靳春寧,胡平,陶海龍,等.基于知識工程及面向制造設(shè)計的車身部件設(shè)計方法和技術(shù)[J].吉林大學(xué)學(xué)報(工學(xué)版),2006(4):548-553.
[12] 莫莉,劉晉平,胡正寰.基于KBE技術(shù)的楔橫軋軋件的特征描述[J].鍛壓技術(shù),2010(2):144-147,153.
[13] 張賽軍,劉文娟,阮鋒,等.基于KBE技術(shù)的互感器模具設(shè)計[J].電力自動化設(shè)備,2005,25(8):87-89.
[14] 孫大鵬,葉小勇.基于Catia V5的汽車內(nèi)飾網(wǎng)狀孔設(shè)計[J].汽車實用技術(shù),2018(8):82-84.
[15] 汪銳,張傳順.NX Open API編程技術(shù)[M].北京:電子工業(yè)出版社,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的汽車研發(fā)過程數(shù)字化,E-mail: cheng9_chen@patac.com.cn。