薛蓮
(機(jī)械科學(xué)研究總院中機(jī)生產(chǎn)力促進(jìn)中心,北京 100044)
基于CATIA的三維模型檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
薛蓮
(機(jī)械科學(xué)研究總院中機(jī)生產(chǎn)力促進(jìn)中心,北京 100044)
介紹了CATIA二次開發(fā)的開發(fā)工具及關(guān)鍵技術(shù)。描述了三維模型質(zhì)量檢查的必要性,研制開發(fā)了基于CATIA平臺(tái)的三維模型檢測(cè)系統(tǒng)Product Data Quality Check(PDQC),將標(biāo)準(zhǔn)、規(guī)范轉(zhuǎn)化為計(jì)算機(jī)可識(shí)別的自動(dòng)化檢測(cè)項(xiàng)目,形成專業(yè)化的解決方案。
CATIA二次開發(fā);三維模型質(zhì)量檢測(cè);CAA
隨著產(chǎn)品造型越來越復(fù)雜,市場(chǎng)競(jìng)爭(zhēng)越來越激烈,對(duì)工程師的設(shè)計(jì)水平和產(chǎn)品的開發(fā)周期都提出了更高的要求。基于特征的實(shí)體建模技術(shù)的三維CAD系統(tǒng)在產(chǎn)品設(shè)計(jì)中已得到廣泛的應(yīng)用。在數(shù)字化設(shè)計(jì)環(huán)境下,CAD數(shù)據(jù)不規(guī)范會(huì)導(dǎo)致建立的模型質(zhì)量不高。而且會(huì)在后續(xù)應(yīng)用過程中產(chǎn)生大量問題。例如存在微小元素和微小線段、無用的曲面片、空洞、多個(gè)實(shí)體等等。這些問題主要是CAD軟件使用者在建模過程中采用不當(dāng)?shù)姆椒ā⒑鲆晹?shù)據(jù)質(zhì)量造成的,同時(shí)CAD系統(tǒng)中,也存在這樣的潛在因素。需要及早地發(fā)現(xiàn)產(chǎn)品定義和建模過程中的問題,才能避免不必要的返工和大量的后續(xù)問題,傳統(tǒng)的以人工檢測(cè)(即標(biāo)準(zhǔn)化審查)為主的數(shù)據(jù)質(zhì)量檢測(cè)方式不僅效率低下、隨意性較大。更為嚴(yán)重的是有些質(zhì)量問題靠人工是根本檢測(cè)不出來的,這種傳統(tǒng)方式存在相當(dāng)大的局限性[1]。
CATIA是CAD/CAM/CAE/PDM一體化軟件。廣泛用于航空、航天、汽車、船舶及電子工業(yè),尤其在航空航天業(yè),有八成以上場(chǎng)上使用CATIA的市場(chǎng)[2]。然而,CATIA自帶的檢測(cè)模塊不能按我國(guó)行業(yè)的相關(guān)標(biāo)準(zhǔn)進(jìn)行定制,不能適應(yīng)企業(yè)的個(gè)性化需要。因此在現(xiàn)代的數(shù)字化設(shè)計(jì)與制造環(huán)境下,迫切需要一種人工智能和自動(dòng)化(或半自動(dòng)化)的三維設(shè)計(jì)規(guī)范性工具來對(duì)三維數(shù)據(jù)進(jìn)行規(guī)范性控制,來避免后續(xù)問題的出現(xiàn),提高三維數(shù)字化模型的設(shè)計(jì)質(zhì)量和標(biāo)準(zhǔn)化審查的工作效率。
Component Application Architecture(CAA)組件應(yīng)用架構(gòu),是Dassault Systemes產(chǎn)品擴(kuò)展和客戶進(jìn)行二次開發(fā)的強(qiáng)有力的工具。可開發(fā)運(yùn)行于Windows系統(tǒng)和UNIX系統(tǒng)之上。
Dassault Systemes提供了許多CAA API,各種對(duì)象的方法、工具和接口使CATIA的二次開發(fā)的工作量大大降低,開發(fā)出的產(chǎn)品質(zhì)量顯著提高。常用的API有CATIA Geometric Modeler(CGM)和GSM等。其中CGM是一個(gè)3D幾何建模應(yīng)用軟件開發(fā)包,它可以利用CATIA的幾何模型、實(shí)體、曲面和線框造型功能,實(shí)現(xiàn)CATIA的幾何和拓?fù)浣!SM開放了很多接口和方法用來創(chuàng)建點(diǎn)、線、面、體等,創(chuàng)建的所有元素都可以直接在CATIA圖形區(qū)和結(jié)構(gòu)樹上顯示[3]。CATIA的產(chǎn)品、形狀、草圖等都是基于GSM完成的。如果需要獲得一些幾何信息的時(shí)候,可能用GSM無法得到,這時(shí)候必須用CGM,因?yàn)槠涞蛯佑玫氖荂GM。論文也是結(jié)合GSM和CGM進(jìn)行開發(fā),實(shí)現(xiàn)對(duì)模型的信息提取,如獲取包容框、顯隱、屬性等。
2.1系統(tǒng)架構(gòu)
PDQC(Product Data Quality Check),即基于CATIA平臺(tái)的三維模型質(zhì)量檢測(cè)系統(tǒng),主要包含單文件交互檢測(cè)和多文件批量檢測(cè)兩種模式,本文主要研究單文件交互檢測(cè)模式。軟件的體系結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)構(gòu)架圖
2.2系統(tǒng)功能分析
PDQC數(shù)據(jù)質(zhì)量檢測(cè)系統(tǒng)以檢測(cè)集及檢測(cè)項(xiàng)數(shù)據(jù)庫(kù)為基礎(chǔ),用戶可以根據(jù)不同CATIA模型的要求進(jìn)行檢測(cè)項(xiàng)和檢測(cè)值的配置,形成標(biāo)準(zhǔn)檢測(cè)集。軟件應(yīng)用時(shí),有兩種模式供選擇,一種是單文件檢測(cè)模式,即用戶需要在CATIA平臺(tái)中打開某模型文件,選擇已配置的檢測(cè)集后,對(duì)當(dāng)前模型進(jìn)行質(zhì)量檢測(cè),檢測(cè)結(jié)果可以即時(shí)顯示,部分錯(cuò)誤可以在CATIA模型中高亮顯示,以及模型自動(dòng)修復(fù),可以保存檢測(cè)結(jié)果并進(jìn)行查詢、統(tǒng)計(jì)、報(bào)表等操作;另一種是批量檢測(cè)模式,即用戶無需打開具體模型文件,可以選擇多個(gè)模型文件進(jìn)行批量檢測(cè),檢測(cè)結(jié)果也可以保存并查詢、統(tǒng)計(jì)、報(bào)表。
本文的主要工作為單文件交互檢測(cè)模塊的開發(fā),檢測(cè)集采用企標(biāo)管理器進(jìn)行管理。系統(tǒng)功能結(jié)構(gòu)如圖2所示。

圖2 功能結(jié)構(gòu)圖
(1)企標(biāo)管理器。企標(biāo)管理器是對(duì)檢測(cè)項(xiàng)、檢測(cè)項(xiàng)判定值、檢測(cè)項(xiàng)錯(cuò)誤級(jí)別、檢測(cè)項(xiàng)目集進(jìn)行編輯、管理的程序。使用該程序,用戶可以自由設(shè)定檢測(cè)項(xiàng)目的個(gè)數(shù)、檢測(cè)項(xiàng)的判定要求等客戶化要求進(jìn)行編輯。
(2)單文件交互式檢測(cè)。單文件交互式檢測(cè)是以菜單或工具條的形式嵌入到CATIA系統(tǒng)內(nèi)部,可實(shí)時(shí)對(duì)當(dāng)前模型進(jìn)行檢測(cè)。并可對(duì)當(dāng)前檢測(cè)結(jié)果進(jìn)行修改后,進(jìn)行再檢測(cè),直到檢測(cè)結(jié)果正確為止。提供對(duì)檢測(cè)結(jié)果進(jìn)行查看、錯(cuò)誤特征高亮、檢測(cè)結(jié)果自動(dòng)修復(fù)等功能。同時(shí)可以將需要統(tǒng)計(jì)的檢測(cè)結(jié)果保存下來,進(jìn)行統(tǒng)計(jì)匯總、報(bào)表打印。
交互式檢測(cè):模塊以菜單形式與CATIA平臺(tái)無縫集成。在CATIA平臺(tái)下,對(duì)當(dāng)前打開的模型文件進(jìn)行檢測(cè)。檢測(cè)結(jié)果直觀的顯示在程序中。
檢測(cè)結(jié)果查看:檢測(cè)結(jié)果保存后,可以將模型在CATIA平臺(tái)中打開查看,點(diǎn)取記錄的模型錯(cuò)誤ID,使該特征在模型中高亮。
錯(cuò)誤特征高亮:可以通過點(diǎn)取檢測(cè)結(jié)果中程序提取的錯(cuò)誤特征名稱或者ID,使該錯(cuò)誤特征在模型中高亮顯示,方便使用者即時(shí)查找錯(cuò)誤,即時(shí)更改,然后重新檢測(cè)的反復(fù)交互過程。
檢測(cè)結(jié)果自動(dòng)修復(fù):對(duì)于部分檢測(cè)項(xiàng),程序提供自動(dòng)修復(fù)功能,程序?qū)υ摍z測(cè)項(xiàng)對(duì)應(yīng)的出錯(cuò)的特征進(jìn)行自動(dòng)修復(fù),使其滿足規(guī)范要求,從而節(jié)省人工修復(fù)時(shí)間。例如參考特征必須隱藏,可以實(shí)現(xiàn)自動(dòng)修復(fù)。
檢測(cè)結(jié)果統(tǒng)計(jì)匯總:對(duì)一個(gè)或多個(gè)檢測(cè)結(jié)果記錄文件進(jìn)行統(tǒng)計(jì)、匯總,可按不同的統(tǒng)計(jì)類別,顯示統(tǒng)計(jì)后的數(shù)據(jù)表及統(tǒng)計(jì)圖。
報(bào)表打印:將統(tǒng)計(jì)匯總結(jié)果以報(bào)表形式打印輸出。
(3)多文件批量檢測(cè)。在該模塊下,用戶可以根據(jù)產(chǎn)品模型實(shí)際情況選擇檢測(cè)集,并在不打開CATIA模型的情況下對(duì)多個(gè)文件同時(shí)進(jìn)行質(zhì)量檢測(cè)。檢測(cè)結(jié)果可以根據(jù)實(shí)際需要對(duì)出錯(cuò)的單個(gè)產(chǎn)品或全部產(chǎn)品進(jìn)行保存記錄。
2.3三維模型檢測(cè)系統(tǒng)設(shè)計(jì)
(1)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)。通過系統(tǒng)功能的分析,設(shè)計(jì)出系統(tǒng)的操作流程,如圖3所示。首先在CATIA中打開需要檢測(cè)的模型,然后選取需要執(zhí)行的檢測(cè)集,其中檢測(cè)集通過企標(biāo)管理器進(jìn)行檢測(cè)項(xiàng)定義等管理。然后在交互式模式中進(jìn)行檢測(cè),程序內(nèi)部通過獲取模型相應(yīng)信息與檢測(cè)項(xiàng)判定值進(jìn)行比較,符合判定值要求的通過檢測(cè),不符合判定值要求的,程序給出錯(cuò)誤提示,用戶可以通過提示對(duì)模型進(jìn)行修改并進(jìn)行重新檢測(cè),或者部分出錯(cuò)特征通過自動(dòng)修復(fù)功能進(jìn)行自動(dòng)修復(fù)。最后對(duì)檢測(cè)結(jié)果進(jìn)行保存,以方便以后的查看及統(tǒng)計(jì)匯總工作。

圖3 系統(tǒng)操作流程圖
(2)基于模型特征遍歷的模型檢測(cè)方法的實(shí)現(xiàn)。不論是單文件交互式檢測(cè)還是多文件批量檢測(cè),都需要提取模型信息與標(biāo)準(zhǔn)規(guī)范進(jìn)行比較,符合規(guī)范要求的通過檢測(cè),不符合規(guī)范要求的給出錯(cuò)誤提示。這其中最關(guān)鍵的模型信息提取主要是通過模型特征遍歷的方式進(jìn)行的。其中,進(jìn)行模型遍歷的關(guān)鍵程序如下:
//打開當(dāng)前模型文件
CATFrmEditor*piEditor=CATFrmEditor:GetCurrentEditor();
CATDocument*pDocument=piEditor-〉GetDocument();
CATInit_var spInit(pDocument);
CATIPrtContainer_var spPartContainer=(CATIPrtContainer*)spInit-〉GetRootContainer("CATIPrtContainer");
//獲取當(dāng)前部件智能指針
CATIPrtPart_var spPart=spPartContainer-〉GetPart();
CATIDescendants_var spPartAsDescendants=NULL_var;
HRESULT hr=spPart-〉QueryInterface(IID_CATIDescendants,(void**)&spPartAsDescendants);
CATLISTV(CATISpecObject_var)SketcherList;
spPartAsDescendants-〉GetAllChildren("CATISketch",SketcherList);
//通過for循環(huán)從集合中提取所需的特征,從而提取特征信息進(jìn)行判斷。
for(int curSketchIdx=1;curSketchIdx<=SketcherList.Size();curSketchIdx++)……
PDQC系統(tǒng)的用戶界面既保證了系統(tǒng)本身功能的完整性,又滿足用戶在視覺、操作方面的需求,創(chuàng)造一個(gè)輕松、愉快的使用環(huán)境。PDQC系統(tǒng)界面與CATIA平臺(tái)設(shè)計(jì)思想、風(fēng)格、操作規(guī)范是一致的,用戶在使用PDQC時(shí),感覺是在使用CATIA平臺(tái)的一個(gè)功能模塊。PDQC系統(tǒng)的主界面有專用的菜單欄和工具條。其功能界面如圖4、圖5所示。

圖4 檢測(cè)結(jié)果界面

圖5 檢測(cè)結(jié)果查看界面
本文研究三維模型質(zhì)量檢測(cè)系統(tǒng)方案設(shè)計(jì)與實(shí)現(xiàn),探討了基于CATIA的三維模型質(zhì)量檢測(cè)系統(tǒng)開發(fā)的關(guān)鍵技術(shù)。開發(fā)的系統(tǒng)無縫集成于CATIA平臺(tái),并集成企標(biāo)管理器,最終實(shí)現(xiàn)設(shè)計(jì)和審查工作在統(tǒng)一并行環(huán)境下進(jìn)行,自動(dòng)對(duì)CATIA設(shè)計(jì)的產(chǎn)品模型數(shù)據(jù)進(jìn)行檢測(cè),為產(chǎn)品設(shè)計(jì)、標(biāo)準(zhǔn)化部門人員提供一套完整的基于CATIA的模型質(zhì)量審查工具,解決手工狀態(tài)下數(shù)字化模型規(guī)范化檢查過程中工作量大、效率低的問題。以保證CAD數(shù)據(jù)的規(guī)范性、正確性,提高產(chǎn)品設(shè)計(jì)的質(zhì)量和效率,提高標(biāo)準(zhǔn)化審查的質(zhì)量和效率。
[1]張志普,陳海華.三維數(shù)字化模型質(zhì)量檢查技術(shù)研究[J].戰(zhàn)術(shù)導(dǎo)彈控制技術(shù),2010,3.
[2]尤春風(fēng).CATIA V5機(jī)械設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.
CATIA-based Design and Implementation of Quality Check System for 3D Models
XUE Lian
(China Academy of Mechanical Science&Technology China Productivity Center for Machinery,Beijing 100044,China)
In this paper,CATIA application development environment,development tools and the key technology have been introduced.The necessity of checking 3D model was described.The basic framework for quality check system of 3D models has been constructed.Product Data Quality Check(PDQC)based on CATIA platform converted the standard and specification to computer-sensible automated checking project,and formed the specialized solution.
CATIA application development;3D models'quality check;CAA
TP317
A
10.3969/j.issn.1002-6673.2015.02.035
1002-6673(2015)02-092-03
2015-03-12
薛蓮(1985-),女。研究方向:企業(yè)產(chǎn)品設(shè)計(jì)信息化技術(shù)與開發(fā)。