薛蓮
(機械科學研究總院中機生產(chǎn)力促進中心,北京 100044)
基于CATIA的三維模型檢測系統(tǒng)的設計與實現(xiàn)
薛蓮
(機械科學研究總院中機生產(chǎn)力促進中心,北京 100044)
介紹了CATIA二次開發(fā)的開發(fā)工具及關鍵技術。描述了三維模型質(zhì)量檢查的必要性,研制開發(fā)了基于CATIA平臺的三維模型檢測系統(tǒng)Product Data Quality Check(PDQC),將標準、規(guī)范轉(zhuǎn)化為計算機可識別的自動化檢測項目,形成專業(yè)化的解決方案。
CATIA二次開發(fā);三維模型質(zhì)量檢測;CAA
隨著產(chǎn)品造型越來越復雜,市場競爭越來越激烈,對工程師的設計水平和產(chǎn)品的開發(fā)周期都提出了更高的要求?;谔卣鞯膶嶓w建模技術的三維CAD系統(tǒng)在產(chǎn)品設計中已得到廣泛的應用。在數(shù)字化設計環(huán)境下,CAD數(shù)據(jù)不規(guī)范會導致建立的模型質(zhì)量不高。而且會在后續(xù)應用過程中產(chǎn)生大量問題。例如存在微小元素和微小線段、無用的曲面片、空洞、多個實體等等。這些問題主要是CAD軟件使用者在建模過程中采用不當?shù)姆椒?、忽視?shù)據(jù)質(zhì)量造成的,同時CAD系統(tǒng)中,也存在這樣的潛在因素。需要及早地發(fā)現(xiàn)產(chǎn)品定義和建模過程中的問題,才能避免不必要的返工和大量的后續(xù)問題,傳統(tǒng)的以人工檢測(即標準化審查)為主的數(shù)據(jù)質(zhì)量檢測方式不僅效率低下、隨意性較大。更為嚴重的是有些質(zhì)量問題靠人工是根本檢測不出來的,這種傳統(tǒng)方式存在相當大的局限性[1]。
CATIA是CAD/CAM/CAE/PDM一體化軟件。廣泛用于航空、航天、汽車、船舶及電子工業(yè),尤其在航空航天業(yè),有八成以上場上使用CATIA的市場[2]。然而,CATIA自帶的檢測模塊不能按我國行業(yè)的相關標準進行定制,不能適應企業(yè)的個性化需要。因此在現(xiàn)代的數(shù)字化設計與制造環(huán)境下,迫切需要一種人工智能和自動化(或半自動化)的三維設計規(guī)范性工具來對三維數(shù)據(jù)進行規(guī)范性控制,來避免后續(xù)問題的出現(xiàn),提高三維數(shù)字化模型的設計質(zhì)量和標準化審查的工作效率。
Component Application Architecture(CAA)組件應用架構,是Dassault Systemes產(chǎn)品擴展和客戶進行二次開發(fā)的強有力的工具??砷_發(fā)運行于Windows系統(tǒng)和UNIX系統(tǒng)之上。
Dassault Systemes提供了許多CAA API,各種對象的方法、工具和接口使CATIA的二次開發(fā)的工作量大大降低,開發(fā)出的產(chǎn)品質(zhì)量顯著提高。常用的API有CATIA Geometric Modeler(CGM)和GSM等。其中CGM是一個3D幾何建模應用軟件開發(fā)包,它可以利用CATIA的幾何模型、實體、曲面和線框造型功能,實現(xiàn)CATIA的幾何和拓撲建模。GSM開放了很多接口和方法用來創(chuàng)建點、線、面、體等,創(chuàng)建的所有元素都可以直接在CATIA圖形區(qū)和結(jié)構樹上顯示[3]。CATIA的產(chǎn)品、形狀、草圖等都是基于GSM完成的。如果需要獲得一些幾何信息的時候,可能用GSM無法得到,這時候必須用CGM,因為其低層用的是CGM。論文也是結(jié)合GSM和CGM進行開發(fā),實現(xiàn)對模型的信息提取,如獲取包容框、顯隱、屬性等。
2.1系統(tǒng)架構
PDQC(Product Data Quality Check),即基于CATIA平臺的三維模型質(zhì)量檢測系統(tǒng),主要包含單文件交互檢測和多文件批量檢測兩種模式,本文主要研究單文件交互檢測模式。軟件的體系結(jié)構如圖1所示。
圖1 系統(tǒng)構架圖
2.2系統(tǒng)功能分析
PDQC數(shù)據(jù)質(zhì)量檢測系統(tǒng)以檢測集及檢測項數(shù)據(jù)庫為基礎,用戶可以根據(jù)不同CATIA模型的要求進行檢測項和檢測值的配置,形成標準檢測集。軟件應用時,有兩種模式供選擇,一種是單文件檢測模式,即用戶需要在CATIA平臺中打開某模型文件,選擇已配置的檢測集后,對當前模型進行質(zhì)量檢測,檢測結(jié)果可以即時顯示,部分錯誤可以在CATIA模型中高亮顯示,以及模型自動修復,可以保存檢測結(jié)果并進行查詢、統(tǒng)計、報表等操作;另一種是批量檢測模式,即用戶無需打開具體模型文件,可以選擇多個模型文件進行批量檢測,檢測結(jié)果也可以保存并查詢、統(tǒng)計、報表。
本文的主要工作為單文件交互檢測模塊的開發(fā),檢測集采用企標管理器進行管理。系統(tǒng)功能結(jié)構如圖2所示。
圖2 功能結(jié)構圖
(1)企標管理器。企標管理器是對檢測項、檢測項判定值、檢測項錯誤級別、檢測項目集進行編輯、管理的程序。使用該程序,用戶可以自由設定檢測項目的個數(shù)、檢測項的判定要求等客戶化要求進行編輯。
(2)單文件交互式檢測。單文件交互式檢測是以菜單或工具條的形式嵌入到CATIA系統(tǒng)內(nèi)部,可實時對當前模型進行檢測。并可對當前檢測結(jié)果進行修改后,進行再檢測,直到檢測結(jié)果正確為止。提供對檢測結(jié)果進行查看、錯誤特征高亮、檢測結(jié)果自動修復等功能。同時可以將需要統(tǒng)計的檢測結(jié)果保存下來,進行統(tǒng)計匯總、報表打印。
交互式檢測:模塊以菜單形式與CATIA平臺無縫集成。在CATIA平臺下,對當前打開的模型文件進行檢測。檢測結(jié)果直觀的顯示在程序中。
檢測結(jié)果查看:檢測結(jié)果保存后,可以將模型在CATIA平臺中打開查看,點取記錄的模型錯誤ID,使該特征在模型中高亮。
錯誤特征高亮:可以通過點取檢測結(jié)果中程序提取的錯誤特征名稱或者ID,使該錯誤特征在模型中高亮顯示,方便使用者即時查找錯誤,即時更改,然后重新檢測的反復交互過程。
檢測結(jié)果自動修復:對于部分檢測項,程序提供自動修復功能,程序?qū)υ摍z測項對應的出錯的特征進行自動修復,使其滿足規(guī)范要求,從而節(jié)省人工修復時間。例如參考特征必須隱藏,可以實現(xiàn)自動修復。
檢測結(jié)果統(tǒng)計匯總:對一個或多個檢測結(jié)果記錄文件進行統(tǒng)計、匯總,可按不同的統(tǒng)計類別,顯示統(tǒng)計后的數(shù)據(jù)表及統(tǒng)計圖。
報表打?。簩⒔y(tǒng)計匯總結(jié)果以報表形式打印輸出。
(3)多文件批量檢測。在該模塊下,用戶可以根據(jù)產(chǎn)品模型實際情況選擇檢測集,并在不打開CATIA模型的情況下對多個文件同時進行質(zhì)量檢測。檢測結(jié)果可以根據(jù)實際需要對出錯的單個產(chǎn)品或全部產(chǎn)品進行保存記錄。
2.3三維模型檢測系統(tǒng)設計
(1)系統(tǒng)結(jié)構設計。通過系統(tǒng)功能的分析,設計出系統(tǒng)的操作流程,如圖3所示。首先在CATIA中打開需要檢測的模型,然后選取需要執(zhí)行的檢測集,其中檢測集通過企標管理器進行檢測項定義等管理。然后在交互式模式中進行檢測,程序內(nèi)部通過獲取模型相應信息與檢測項判定值進行比較,符合判定值要求的通過檢測,不符合判定值要求的,程序給出錯誤提示,用戶可以通過提示對模型進行修改并進行重新檢測,或者部分出錯特征通過自動修復功能進行自動修復。最后對檢測結(jié)果進行保存,以方便以后的查看及統(tǒng)計匯總工作。
圖3 系統(tǒng)操作流程圖
(2)基于模型特征遍歷的模型檢測方法的實現(xiàn)。不論是單文件交互式檢測還是多文件批量檢測,都需要提取模型信息與標準規(guī)范進行比較,符合規(guī)范要求的通過檢測,不符合規(guī)范要求的給出錯誤提示。這其中最關鍵的模型信息提取主要是通過模型特征遍歷的方式進行的。其中,進行模型遍歷的關鍵程序如下:
//打開當前模型文件
CATFrmEditor*piEditor=CATFrmEditor:GetCurrentEditor();
CATDocument*pDocument=piEditor-〉GetDocument();
CATInit_var spInit(pDocument);
CATIPrtContainer_var spPartContainer=(CATIPrtContainer*)spInit-〉GetRootContainer("CATIPrtContainer");
//獲取當前部件智能指針
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)從集合中提取所需的特征,從而提取特征信息進行判斷。
for(int curSketchIdx=1;curSketchIdx<=SketcherList.Size();curSketchIdx++)……
PDQC系統(tǒng)的用戶界面既保證了系統(tǒng)本身功能的完整性,又滿足用戶在視覺、操作方面的需求,創(chuàng)造一個輕松、愉快的使用環(huán)境。PDQC系統(tǒng)界面與CATIA平臺設計思想、風格、操作規(guī)范是一致的,用戶在使用PDQC時,感覺是在使用CATIA平臺的一個功能模塊。PDQC系統(tǒng)的主界面有專用的菜單欄和工具條。其功能界面如圖4、圖5所示。
圖4 檢測結(jié)果界面
圖5 檢測結(jié)果查看界面
本文研究三維模型質(zhì)量檢測系統(tǒng)方案設計與實現(xiàn),探討了基于CATIA的三維模型質(zhì)量檢測系統(tǒng)開發(fā)的關鍵技術。開發(fā)的系統(tǒng)無縫集成于CATIA平臺,并集成企標管理器,最終實現(xiàn)設計和審查工作在統(tǒng)一并行環(huán)境下進行,自動對CATIA設計的產(chǎn)品模型數(shù)據(jù)進行檢測,為產(chǎn)品設計、標準化部門人員提供一套完整的基于CATIA的模型質(zhì)量審查工具,解決手工狀態(tài)下數(shù)字化模型規(guī)范化檢查過程中工作量大、效率低的問題。以保證CAD數(shù)據(jù)的規(guī)范性、正確性,提高產(chǎn)品設計的質(zhì)量和效率,提高標準化審查的質(zhì)量和效率。
[1]張志普,陳海華.三維數(shù)字化模型質(zhì)量檢查技術研究[J].戰(zhàn)術導彈控制技術,2010,3.
[2]尤春風.CATIA V5機械設計[M].北京:清華大學出版社,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)品設計信息化技術與開發(fā)。