魚瑛,白 燚,楊倩
(金航數(shù)碼科技有限責(zé)任公司(航空工業(yè)信息技術(shù)中心),北京 100028)
隨著計(jì)算機(jī)輔助技術(shù)(CAX)的快速發(fā)展及廣泛應(yīng)用,數(shù)字樣機(jī)逐漸在飛機(jī)研制過程中被提出并應(yīng)用。飛機(jī)數(shù)字化幾何樣機(jī)主要通過三維CAD 技術(shù)描述產(chǎn)品的幾何特征及相關(guān)的非幾何信息,如拓?fù)浣Y(jié)構(gòu)、幾何尺寸、空間位置及其他制造屬性等,可用于產(chǎn)品的設(shè)計(jì)協(xié)調(diào)、干涉檢查、虛擬裝配和三維展示等。飛機(jī)設(shè)計(jì)是一項(xiàng)復(fù)雜的系統(tǒng)工程,已進(jìn)入異地多廠所協(xié)同設(shè)計(jì)模式;然而不同企業(yè)會(huì)選用不同的CAD 軟件,從而造成模型和數(shù)據(jù)格式不統(tǒng)一,需要跨平臺(tái)重構(gòu)模型,將其轉(zhuǎn)化至統(tǒng)一環(huán)境下,支持異構(gòu)幾何樣機(jī)虛擬裝配、干涉檢查等工作的開展[1-2]。
目前,異構(gòu)CAD 軟件之間數(shù)據(jù)交換方法主要是通過中性文件格式進(jìn)行數(shù)據(jù)交換,為此出現(xiàn)了多種產(chǎn)品數(shù)據(jù)交換的國際標(biāo)準(zhǔn)和工業(yè)標(biāo)準(zhǔn),如IGES、STEP、DXF 等,主流的CAD 軟件已支持IGES、STEP 標(biāo)準(zhǔn)的中性文件[3]。但是,這些數(shù)據(jù)交換標(biāo)準(zhǔn)在實(shí)際工程應(yīng)用中存在一些不足,在異構(gòu)CAD 重構(gòu)后出現(xiàn)信息丟失、無法修改等問題。為了提高異構(gòu)幾何樣機(jī)轉(zhuǎn)化的數(shù)據(jù)完整性,文中提出一種基于建模過程進(jìn)行重構(gòu)的思路來實(shí)現(xiàn)幾何樣機(jī)跨平臺(tái)數(shù)據(jù)重構(gòu)。
通過對建模過程重構(gòu)的思路來實(shí)現(xiàn)幾何樣機(jī)跨平臺(tái)轉(zhuǎn)化,即將設(shè)計(jì)員設(shè)計(jì)模型的過程進(jìn)行收集提取,并生成中性模型文件,再依據(jù)生成的中性模型文件,通過重構(gòu)接口,將設(shè)計(jì)員的創(chuàng)建對象和操作過程自動(dòng)創(chuàng)建一遍,創(chuàng)建順序一致、對象參數(shù)完整,盡可能完整地重構(gòu)模型。幾何樣機(jī)重構(gòu)總體思路如圖1 所示。
圖1 幾何樣機(jī)重構(gòu)總體思路
為了確保每個(gè)創(chuàng)建對象的參數(shù)完整,基于建模過程的語義環(huán)境,將模型創(chuàng)建過程中使用到的對象和操作過程抽象為一個(gè)一個(gè)的元模型,元模型中描述了這個(gè)對象創(chuàng)建所需的參數(shù),并基于XML 語言對其進(jìn)行文件存儲(chǔ)描述,將梳理的所有元模型構(gòu)建為一個(gè)中性模型庫。在重構(gòu)過程中獲取到對象后,在元模型中找到這個(gè)對象的中性存儲(chǔ)描述,將參數(shù)值對應(yīng)填寫,生成符合規(guī)范的中性XML 文件,再通過重構(gòu)接口,解析XML 文件,按照元模型中的參數(shù)描述,進(jìn)行目標(biāo)CAD 軟件的對象創(chuàng)建,實(shí)現(xiàn)幾何樣機(jī)的跨平臺(tái)重構(gòu)。
(1)幾何樣機(jī)信息框架梳理 目前,飛機(jī)數(shù)字化幾何樣機(jī)主要通過三維MBD 技術(shù)描述產(chǎn)品的幾何特征及相關(guān)的非幾何信息,如拓?fù)浣Y(jié)構(gòu)、幾何尺寸、空間位置及其他制造屬性等,可用于產(chǎn)品的設(shè)計(jì)協(xié)調(diào)、干涉檢查、虛擬裝配和展示等[4-5]。包含的幾何信息和非幾何信息如圖2 所示。
圖2 幾何樣機(jī)通用信息框架
(2)基于語義抽象元模型庫 中性元模型庫是基于總體重構(gòu)思路和幾何樣機(jī)信息框架中的元素,梳理歸納幾何樣機(jī)建模過程中常用的對象(如圖3 所示),再將這些對象抽象為元模型,元模型中描述了這個(gè)對象創(chuàng)建時(shí)所需的參數(shù),并基于XML 語言對其進(jìn)行存儲(chǔ)描述,將梳理的所有元模型構(gòu)建為一個(gè)中性模型庫。在重構(gòu)過程中獲取到對象后,在中性模型庫中找到這個(gè)對象的XML描述,將參數(shù)值根據(jù)創(chuàng)建對象進(jìn)行設(shè)置。元模型的示例見表1 和表2。
表1 基于圓心和半徑創(chuàng)建的圓的元模型示例
表2 拉伸元模型示例
圖3 常用的幾何樣機(jī)建模過程對象
中性元模型庫是為了實(shí)現(xiàn)異構(gòu)軟件的模型數(shù)據(jù)交換而根據(jù)專業(yè)特點(diǎn)設(shè)計(jì)的一套中性的元模型。通過這套中性模型集合可以映射到異構(gòu)CAD 工具中的具體功能函數(shù)。
針對梳理的元模型,其中包含模型靜態(tài)屬性,也包括建模的過程屬性。靜態(tài)屬性參考STEP 標(biāo)準(zhǔn),使用XML語言進(jìn)行對象的中性存儲(chǔ)表達(dá),所有對象的中性存儲(chǔ)表達(dá)構(gòu)建成中性元模型庫。中性元模型庫的表達(dá)與CAD 平臺(tái)無關(guān)。以上表中兩個(gè)對象為示例,中性XML 存儲(chǔ)描述表達(dá)見表3。
表3 元模型對象的XML 描述
(3)基于中性文件的轉(zhuǎn)化接口 針對幾何樣機(jī)的跨平臺(tái)重構(gòu),需要針對重構(gòu)的軟件平臺(tái)開發(fā)相應(yīng)的轉(zhuǎn)化接口。轉(zhuǎn)化接口根據(jù)中性模型文件的信息描述規(guī)范驅(qū)動(dòng)CAD 軟件完成相應(yīng)的模型解析或新建工作。中性模型文件面向不同專業(yè)領(lǐng)域,轉(zhuǎn)化接口需要根據(jù)不同的異構(gòu)CAD 軟件平臺(tái)單獨(dú)進(jìn)行開發(fā),針對每一個(gè)軟件,使用其開放的API函數(shù),開發(fā)對應(yīng)的解析讀取與寫入創(chuàng)建的功能,其轉(zhuǎn)化流程如圖4 所示。
圖4 異構(gòu)幾何樣機(jī)模型轉(zhuǎn)化流程
按照上述幾何樣機(jī)跨平臺(tái)重構(gòu)思路,開發(fā)了基于建模過程的CATIA V5 R18 與NX 9.0 之間的重構(gòu)插件。實(shí)現(xiàn)幾何樣機(jī)跨CATIA V5 R18 與NX 9.0 之間的模型重構(gòu)。模型重構(gòu)界面及文件如圖5 所示。
圖5 模型重構(gòu)界面及文件
插件支持基于零件和裝配件的重構(gòu),在進(jìn)行裝配件的轉(zhuǎn)化時(shí),自動(dòng)將參與裝配的零組件同時(shí)進(jìn)行重構(gòu)。
將CATIA 模型重構(gòu)為NX 9.0 的模型,重構(gòu)后的裝配件由獨(dú)立的零組件組成,裝配約束、零組件信息均可修改,如圖6b 所示。將CATIA 模型轉(zhuǎn)化為.stp 中性文件,再通過NX 進(jìn)行.stp 文件查看,重構(gòu)時(shí)所有信息均在一份.stp文件中,轉(zhuǎn)化后的零件無法獨(dú)立使用,模型無法進(jìn)行修改,如圖6c 所示。
圖6 各模型示例
通過對幾何樣機(jī)重構(gòu)技術(shù)的研究,形成了一種基于建模過程的異構(gòu)幾何樣機(jī)重構(gòu)思路?;诮_^程重構(gòu)中性文件與STEP 標(biāo)準(zhǔn)差異見表4,基于該重構(gòu)的語義環(huán)境下,確定了模型重構(gòu)流程,制定了模型轉(zhuǎn)化常用對象的元模型,并通過XML 語言對中性模型對象進(jìn)行存儲(chǔ)描述,形成了建模過程重構(gòu)語義環(huán)境下中性模型庫。該重構(gòu)思路保留了設(shè)計(jì)員的設(shè)計(jì)過程,支持對模型的繼續(xù)修改,提升幾何樣機(jī)跨平臺(tái)重構(gòu)后的數(shù)據(jù)完整性和可復(fù)用性。
表4 基于建模過程重構(gòu)中性文件與STEP 標(biāo)準(zhǔn)差異
1)利用模型抽象方法將幾何樣機(jī)模型常用的創(chuàng)建對象和操作過程抽象為元模型,并通過XML 語言進(jìn)行描述,構(gòu)建中性元模型庫,通過調(diào)用異構(gòu)CAD 接口自動(dòng)重構(gòu)模型,盡可能完整地實(shí)現(xiàn)模型重構(gòu)。
2)實(shí)現(xiàn)裝配件的完整重構(gòu),在進(jìn)行裝配件重構(gòu)的過程中,將參與裝配的零組件自動(dòng)進(jìn)行重構(gòu),提高重構(gòu)效率,推動(dòng)模型重構(gòu)的工程應(yīng)用更進(jìn)一步。