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