摘要:為解決異構(gòu)CAD系統(tǒng)集成及協(xié)同裝配設(shè)計(jì)過程中的信息共享問題,在分析裝配特征語義信息的基礎(chǔ)上,提出了面向協(xié)同設(shè)計(jì)的三元裝配語義模型,提出采用RDF/XML表達(dá)裝配語義元模型,并討論了基于XML的數(shù)據(jù)集成關(guān)鍵技術(shù)。在文章的最后通過具體的CAD系統(tǒng)實(shí)現(xiàn)協(xié)同設(shè)計(jì)過程實(shí)例,驗(yàn)證了該模型及實(shí)現(xiàn)方法的有效性和可行性。
關(guān)鍵詞:協(xié)同裝配設(shè)計(jì);信息共享;裝配語義模型;可擴(kuò)展標(biāo)記語言
0 引言
CSCW(計(jì)算機(jī)支持的協(xié)同工作)通過提供共享資源的訪問接口,支持群體成員在共享環(huán)境下協(xié)同工作完成同一設(shè)計(jì)任務(wù)。其底層支撐技術(shù)為計(jì)算機(jī)技術(shù)、多媒體技術(shù)和網(wǎng)絡(luò)通信技術(shù)。協(xié)同裝配設(shè)計(jì)是協(xié)同設(shè)計(jì)研究的重要內(nèi)容,它支持異地團(tuán)隊(duì)在共享工作空間進(jìn)行零部件的協(xié)同裝配活動(dòng)。這里裝配設(shè)計(jì)信息的共享是關(guān)鍵。
為了解決異構(gòu)CAD之間以及CAD與CAM、CAPP等系統(tǒng)間產(chǎn)品模型信息的數(shù)據(jù)交換,先后出現(xiàn)了很多種中性數(shù)據(jù)交換格式,如IGES、PDES、STEP等。協(xié)同環(huán)境下的數(shù)據(jù)共享采用STEP標(biāo)準(zhǔn)是一種理想的辦法。在Web領(lǐng)域?yàn)榻鉀Q異地?cái)?shù)據(jù)共享產(chǎn)生了XML標(biāo)準(zhǔn),很多學(xué)者將XML標(biāo)準(zhǔn)應(yīng)用到CAD領(lǐng)域。張帆等提出XML的可重構(gòu)裝配模型,將裝配結(jié)構(gòu)數(shù)據(jù)序列化為XML文件,通過XML節(jié)點(diǎn)重構(gòu)來支持裝配模型的重構(gòu),但沒有將裝配結(jié)構(gòu)與約束關(guān)系分離,因此難于支持協(xié)同設(shè)計(jì)過程。Chen.Li等建立了基于ACIS的協(xié)同裝配設(shè)計(jì)系統(tǒng),服務(wù)器端裝配模型采用STEP標(biāo)準(zhǔn),客戶端采用面片模型,并且在設(shè)計(jì)過程中建立一系列協(xié)同規(guī)則,以協(xié)調(diào)、同步用戶操作,但面片模型無法支持協(xié)同裝配特征設(shè)計(jì),用戶也無法對約束關(guān)系進(jìn)行編輯。
本文在協(xié)同裝配設(shè)計(jì)環(huán)境下,對裝配體的數(shù)據(jù)結(jié)構(gòu)進(jìn)行了分析,并定義了裝配語義,建立了一個(gè)基于RDF/XML協(xié)同裝配設(shè)計(jì)模型,詳細(xì)討論了協(xié)同裝配設(shè)計(jì)模型的語義映射方式。最后在具體的CAD系統(tǒng)上建立了原型系統(tǒng),驗(yàn)證了該方法的可行性,為實(shí)現(xiàn)協(xié)同裝配設(shè)計(jì)奠定了基礎(chǔ)。
1 裝配特征語義建模
1.1 裝配特征模型
1.1.1 裝配特征信息
為完整表達(dá)一個(gè)裝配體,其裝配模型必須包含以下信息:裝配空間,裝配結(jié)構(gòu),裝配約束。其中裝配約束(也稱配合關(guān)系)是裝配模型中最復(fù)雜的部分,裝配約束的表達(dá)方式關(guān)系到整個(gè)裝配模型的表達(dá)。上述概念我們分別闡述如下:
裝配空間指整個(gè)裝配體絕對坐標(biāo)的集合。當(dāng)添加裝配組件時(shí),組件的絕對坐標(biāo)將被轉(zhuǎn)換為本地裝配空間中的相對坐標(biāo)。這個(gè)相對位置由坐標(biāo)原點(diǎn)加上坐標(biāo)軸矢量決定。
裝配結(jié)構(gòu)常用樹型結(jié)構(gòu)組織裝配體的組件和零件。一個(gè)裝配結(jié)構(gòu)中僅存在—個(gè)裝配樹,樹根惟一,葉子節(jié)點(diǎn)不能交叉。
裝配約束是協(xié)同裝配設(shè)計(jì)模型的關(guān)鍵部分,包含了零件信息,裝配特征、裝配方向、約束類型、裝配參數(shù)等信息。零件與零件間的裝配約束(也稱配合關(guān)系)是由一個(gè)或多個(gè)約束組成的,而且這些組成配合關(guān)系的約束之間不能存在幾何及邏輯關(guān)系上的矛盾,如約束不能循環(huán)定義。
1.1.2 裝配約束及其數(shù)據(jù)結(jié)構(gòu)
為使裝配信息適合協(xié)同設(shè)計(jì)要求,在參考目前CAD系統(tǒng)中裝配模型數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上,本文提出了一個(gè)適合異構(gòu)CAD系統(tǒng)的統(tǒng)一的裝配約束數(shù)據(jù)結(jié)構(gòu)。首先介紹相關(guān)的基本概念:
(1)基準(zhǔn)件與裝配件
零件A裝配到零件B上,A稱為裝配件,B稱為基準(zhǔn)件;當(dāng)添加一個(gè)A到B的裝配約束時(shí),基準(zhǔn)件B的裝配空間不變,而裝配件A及其所有子裝配將通過坐標(biāo)變換生成新的裝配空間。
(2)約束婁型(Mate type)
常用的裝配約束類型有:相對(貼合)、對齊、成角度、距離、平行、垂直、同心、相切等。
要實(shí)現(xiàn)零部件之間的有效約束,必須填充如下數(shù)據(jù)結(jié)構(gòu):
1.2 裝配特征語義表達(dá)
傳統(tǒng)的中性CAD數(shù)據(jù)格式(IGES、STEP等),或者基于網(wǎng)格的數(shù)據(jù)格式(VRML),在進(jìn)行數(shù)據(jù)傳輸及數(shù)據(jù)交換過程中必然帶來設(shè)計(jì)信息的丟失;而基于特征的裝配語義模型以對象的方式存儲(chǔ)裝配相關(guān)信息,拓?fù)潢P(guān)系容易維護(hù),減少了信息的丟失。從廣義角度而言,裝配語義是從設(shè)計(jì)者的角grit設(shè)計(jì)過程,設(shè)計(jì)概念的抽象表達(dá),其目的是為了利于知識(shí)的檢索與重用,具體到裝配體,裝配語義特征模型與傳統(tǒng)的裝配模型本質(zhì)的差別是將二元關(guān)系模型擴(kuò)充到三元。傳統(tǒng)的類似于E-R圖描述的裝配模型只能表達(dá)零件的組成關(guān)系,也無法表達(dá)裝配順序。而語義描述的是主謂賓結(jié)構(gòu)的三元關(guān)系,被裝配件的裝配特征是主語,謂語是裝配約束,基準(zhǔn)件的裝配特征充當(dāng)賓語。采用三元關(guān)系可以將裝配體的賓語結(jié)合新的謂語和賓語形成新的語義關(guān)系,通過層層擴(kuò)展,構(gòu)成完整的裝配語義模型。而裝配參數(shù),裝配順序等工程信息可以作為節(jié)點(diǎn)屬性包含在語義模型中。簡單的裝配模型可以表示為圖2所示的XML/RDF模型:
在企業(yè)級協(xié)同環(huán)境下,不同專業(yè)、不同的領(lǐng)域的設(shè)計(jì)人員,所使用的CAD系統(tǒng)不盡相同;異構(gòu)CAD系統(tǒng)對于同一類約束的處理方式是不同的,數(shù)據(jù)存儲(chǔ)格式也不盡相同,例如,在UG中螺紋連接等同于同心約束,SolidWorks則把螺紋連接當(dāng)作一種約束類型單獨(dú)處理。而語義表達(dá)的設(shè)計(jì)意圖是相同的,與平臺(tái)無關(guān),因此裝配語義實(shí)現(xiàn)了異構(gòu)CAD系統(tǒng)向同一種裝配模型的映射,這種映射關(guān)系是多對一的。
傳統(tǒng)的裝配建模大多在幾何層對特征進(jìn)行操作。從裝配語義到幾何約束,其間經(jīng)過裝配語義的抽象與提取,對常用的配合、聯(lián)接方式的分類,如螺釘聯(lián)接、螺栓連接等。其中每種連接類型又可分為幾種小類型,如鍵連接可分為花鍵、平鍵連接等,裝配關(guān)系允許組合與分解。對于特殊的裝配關(guān)系,允許用戶自定義(一種或多種基本約束類型的組合),例如齒輪嚙合,可以分解為兩個(gè)齒輪軸平行約束加齒面貼合約束;反之,多個(gè)基本約束類型也可以組成復(fù)雜的裝配關(guān)系。通過以上兩種方式的擴(kuò)充,基本可以滿足常見約束類型的抽象表達(dá)。
2 基于RDF,XML的裝配語義建模
2.1 RDF/XML簡介
XML具有適于異構(gòu)應(yīng)用間的數(shù)據(jù)共享、數(shù)據(jù)檢索和提供多語種支持等優(yōu)點(diǎn)。XML已經(jīng)成為目前多數(shù)信息集成框架的數(shù)據(jù)傳輸載體方案的首選。
為提高XML的語義描述能力,RDF(resource Description Framework)標(biāo)準(zhǔn)應(yīng)運(yùn)而生。RDF提出簡單的模型來表示任意類型的數(shù)據(jù)。這個(gè)數(shù)據(jù)類型由節(jié)點(diǎn)和節(jié)點(diǎn)之間帶有標(biāo)記的連接弧所組成。節(jié)點(diǎn)表示資源(對象),弧表示資源的屬性。
2.2 裝配語義擴(kuò)展
XML標(biāo)記給文檔定義帶來了靈活性,但機(jī)器無法理解標(biāo)簽下存放內(nèi)容的具體含義。在協(xié)同裝配建模過程中,裝配語義模型從面向?qū)ο蠼嵌葘s束關(guān)系進(jìn)行抽象,將裝配關(guān)系映射成具有屬性和操作的對象,輔助RDF屬性,可以描述任意裝配節(jié)點(diǎn)的屬性信息;裝配層次模型屬于半結(jié)構(gòu)化的數(shù)據(jù),采用XML描述更為合適。
RDF裝配模型中的每個(gè)節(jié)點(diǎn)可以用零件名稱惟一標(biāo)識(shí),其包含的裝配特征可以用全局分配的ID號惟一標(biāo)識(shí),特征與特征之間的關(guān)系(謂語動(dòng)詞)用裝配約束表示,約束參數(shù)可以描述為對象所包含的屬性。在協(xié)同裝配設(shè)計(jì)環(huán)境中,約束關(guān)系可能由不同的用戶編輯,并將這種變化抽象為零件對象約束關(guān)系的遷移,通過XML節(jié)點(diǎn)的重構(gòu)加以實(shí)現(xiàn)。圖3所示為通過裝配語義本體建立的裝配語義模型層次圖。
RDF本身不受具體語法表示的限制,但仍然需要一種合適的語義格式來實(shí)現(xiàn)在協(xié)同裝配設(shè)計(jì)上的應(yīng)用。RDF Schema(RDFS)通過對象建模的方式來定義裝配語義詞匯,將裝配特征、約束關(guān)系轉(zhuǎn)化成RDFS中的類和屬性。
2.3 基于XML/RDF的裝配語義模型
通過在XML中引用RDF,可以將XML的解析過程與解釋過程相結(jié)合。舉例:提供—個(gè)資源的URL,利用ModeLGetResourec方法可以獲取該資源對應(yīng)的對象。也就是說,RDF可以幫助解析器(如傳統(tǒng)的XMLDOM)在解析XML的同時(shí),獲得XML所要表達(dá)的對象,并可以根據(jù)它們的關(guān)系(schema)進(jìn)行推理,從而將基于裝配屬性的檢索推進(jìn)到基于對象的檢索。
目前XML已經(jīng)成為通用的Web數(shù)據(jù)表示標(biāo)準(zhǔn),有大量的標(biāo)準(zhǔn)應(yīng)用接口用于信息的讀取、處理,因此將RDF序列化為XML可以使RDF獲得更好的Web應(yīng)用特性,并使得RDF數(shù)據(jù)可以像XML數(shù)據(jù)一樣的容易使用、傳輸和存儲(chǔ)。
基于特征的協(xié)同裝配設(shè)計(jì)模型,它封裝了如下裝配信息:部分裝配特征、父零件(基準(zhǔn)件)、子零件(裝配件)、自由度、位置信息(指零件在裝配空間的局部坐標(biāo)原點(diǎn)及坐標(biāo)軸方向,以及轉(zhuǎn)換矩陣)。
3 裝配語義模型的應(yīng)用與驗(yàn)證
為了驗(yàn)證該裝配語義模型的可行性,筆者建立了協(xié)同裝配設(shè)計(jì)原型系統(tǒng)來模擬協(xié)同環(huán)境,其裝配體的協(xié)同建模過程如下:
步驟一:設(shè)計(jì)者分別從服務(wù)器下載主裝配模型(單獨(dú)的XML文件)到客戶端,讀取XML文件中的零部件名稱,并從服務(wù)器下載所有三維實(shí)體文件(pn格式);
步驟二:系統(tǒng)解析XML文件,讀取約束信息,填充裝配約束結(jié)構(gòu);
步驟三:求解約束,將約束加載到裝配體上,進(jìn)行坐標(biāo)變換,自動(dòng)更新客戶端顯示(若系統(tǒng)不能辨識(shí),需設(shè)計(jì)者交互);
步驟四:添加一個(gè)零部件,并且添加約束,這時(shí)其他客戶端還沒有實(shí)時(shí)更新;
步驟五:更新主裝配模型,上傳新增加的實(shí)體文件到服務(wù)器,向服務(wù)器發(fā)送同步消息;
步驟六:更新其他客戶端,后臺(tái)自動(dòng)下載新增實(shí)體文件,顯示更改后的裝配體。
以上幾步中,約束求解是較難的一步,涉及較多的CAD曲線、曲面算法及人工智能算法。系統(tǒng)采用了UG NX2裝配模塊的功能,進(jìn)行了二次開發(fā),調(diào)用UG裝配函數(shù),獲取約束求解結(jié)果后再進(jìn)行坐標(biāo)變換,更新裝配體模型,顯示到工作界面上。
4 結(jié)束語
協(xié)同裝配設(shè)計(jì)模型涉及的數(shù)據(jù)結(jié)構(gòu)復(fù)雜且包含特征信息繁多的半結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu),其內(nèi)容涵蓋零件、特征、約束等諸多方面數(shù)據(jù)。裝配數(shù)據(jù)結(jié)構(gòu)的表達(dá)方案及裝配語義映射是裝配建模研究的重點(diǎn)。本文實(shí)現(xiàn)的內(nèi)容有:在研究裝配體信息模型的基礎(chǔ)上提出了基于語義的裝配特征建模方案;通過語義映射實(shí)現(xiàn)了協(xié)同裝配設(shè)計(jì)數(shù)據(jù)模型的統(tǒng)一表達(dá);實(shí)現(xiàn)了基于XML/RDF的裝配數(shù)據(jù)表達(dá)。未來研究內(nèi)容有:繼續(xù)集成裝配設(shè)計(jì)、裝配規(guī)劃等裝配工程語義信息;將該模型集成到協(xié)同裝配設(shè)計(jì)環(huán)境中去。