摘要:構建了PDM和三維CAD軟件集成的基本模型和集成框架。該框架通過一致的數據模型,能夠靈活地集成不同的三維CAD系統和PDM系統。在數據模型的袁達上,采用了XML這種流行的易于擴展的技術方法;在集成框架設計上,采用了抽象x-7等成熟的設計模式,并提供了標準化的接口定義來擴展集成框架的功能。文章對集成框架的功能和具體實現方法進行了論述。
關鍵詞:產品數據管理;三維CAD;集成框架;設計模式
0 引言
PDM(產品數據管理)可理解為產品及其相關數據的管理和過程控制的平臺。近年來,在產品設計的過程中,三維CAD的使用逐漸增多,其數據類型成為了PDM管理的主要內容。PDM數據模型和三維CAD的數據模型存在很多相似的地方,但由于系統目標的不同,也存在很多差異。市場上各種三維CAD軟件很多,如何在一個統一的平臺框架下集成這些三維CAD系統,屏蔽各類CAD系統的差異,并且在各類三維CAD和PDM之間進行數據模型的匹配,是當前PDM需要重點研究和解決的問題。
1 PDM中三維CAD的集成功能
1.1 PDM中關注的主要三維CAD特性
三維CAD軟件通過對零部件的三維造型,直觀地表達了零部件的形狀、物理特征以及零部件問的裝配關系;通過三維仿真還可以模擬裝配和加工的過程。這些都使三維CAD軟件在企業的產品設計中起著越來越大的作用。
在PDM中,主要關注的是CAD圖紙中表達的零部件結構及其屬性信息。對于三維CAD而言,它們基本都提供了基于特征參數的零部件族的設計方法。在這些方法中,特征參數被提取到模型上,通過模型上特征參數的變化驅動三維圖形,產生不同的零部件族成員。零部件成員及其特征參數的取值形成了一張二維表,通常被稱為參數表。參數表直觀反映了多個成員的不同特性。
通過三維CAD的投影可產生二維工程圖。二維工程圖用來下發到生產部門指導實際的生產作業。二維工程圖和三維模型的關系需要在PDM的管理中得到體現。
三維CAD的仿真、干涉檢查以及有關圖形的特性,PDM無需進行管理。PDM只需能夠存儲三維CAD的文件,并最終通過調用三維CAD軟件本身來給用戶使用即可。
1.2 PDM和三維CAD的主要集成功能
由上文可知,PDM做為三維CAD的管理平臺,其功能只要有:
(1)三維CAD文件的管理:
(2)從三維CAD提取零部件信息產生PDM中的零部件對象,產生產品結構樹,并保持產品結構樹和三維CAD中相關信息的一致性;
(3)零部件族和參數表的管理;
(4)三維CAD的編輯、瀏覽、圈閱等。
這些功能在系統集成中主要體現在:
(1)數據在兩個系統中保存并保持同樣的關聯關系;
(2)由于信息在PDM和三維CAD中是冗余的,需要保持兩者的數據同步和邏輯完整性。
下面對這兩個方面進行闡述。

2 集成框架結構及構建
目前國內外流行的三維CAD的種類較多,如UG、PROE、SolidWorks、SolidEdge、Catia、Inventor等。這些三維CAD軟件的功能特色相差較大,概念、數據模型和存儲方式也不盡相同。從PDM的角度出發,首先必須抽象出它們的共同特征,形成統一一致的數據模型。在此數據模型基礎上,建立通用的集成框架。
2.1 PDM使用對象模型來表達三維CAD結構
在PDM和三維CAD的集成中,首先要能夠根據PDM的需要獲取三維CAD的相關信息。因此,必須在PDM中建立與三維CAD的數據模型相應的數據模型。
三維CAD的數據模型包括零部件的裝配關系、零部件模型和零部件族成員之間的關系以及參數表等,在PDM中,通過面向對象的建模方法可以清晰地表達它們:
(1)三維零部件模型、零部件族成員在PDM中都使用零部件對象來表達,通過建立一個特殊的多元關聯關系,可以表達零部件族模型和成員的包含關系;
(2)零部件的裝配結構,可以通過零部件對象的聚合關系來表達。這種聚合關系可以做為零部件對象的屬性保存在零部件對象中。產品結構最終通過零部件的層級聚合關系體現出來。
(3)三維CAD文檔在PDM中可通過二元關聯的方式和零部件對象建立關系。文件之間的關系可通過零部件的裝配結構來表達。
(4)二維工程圖和三維圖紙對象可通過“組合”關系關聯,這樣,可保證三維圖紙的更新反映到二維工程圖上。
在數據模型的對應關系確立以后,就可以通過一個通用的集成框架來處理兩者的集成關系了。
2.2 層次模型
如前所述,集成框架主要支持的功能就是PDM和三維CAD兩種數據的相互轉換的問題。但是,不同的三維CAD軟件的數據模型存在一定差異,提供的接口API也形態各異,如果對每種CAD都在PDM中進行特別的處理,必然導致PDM程序體系的復雜和工作量的增大,我們建立集成框架的目的之一就是要通過一致的處理模型來實現PDM和三維CAD軟件的良好集成。
要實現這樣的集成框架,首先必須抽象出不同三維CAD的公共特征,然后根據PDM的需要構建統一的業務模型。技術實現上,以組件化的方式來開發相關集成功能,從而形成一個“即插即用”的集成框架。
一種常用的方法是使用中間層邏輯來屏蔽不同三維CAD軟件的差異。為此,需要一種結構化的表達方法來映射三維CAD和PDM的邏輯結構。并且,這種結構化的表示對于程序員和用戶應該是可理解的,以利于在兩種不同的數據模型中提供靈活的功能。從這些特性來看,基于XML的表示方法是表達三維CAD零部件關系的合適的技術。
XML本身是一種結構化的語言,能夠清晰地表達零部件的裝配、參數表等各種復雜的關系;通過W3C定義的通用接口標準DOM(XML文檔對象模型),又可以輕易地把XML文本分解為對象模型,從而在三維CAD和PDM間充當轉換的橋梁。
從cAD到PDM的數據模型轉換過程中,會存在數據模型的“不匹配”的情況。因此,需要在兩種數據模型之間嵌入轉換邏輯。顯然,對于不同的三維CAD軟件,甚至對于使用同一種三維軟件的不同用戶,其邏輯都是不同的。所以,在兩種數據模型的轉換過程中,必須提供靈活的二次開發的方法和手段來滿足不同的用戶要求。利用XML的開放性特征可以很容易實現這一點,通過對基于DOM或者SAX的API接口,可以使用戶方便地實現自己的控制邏輯,滿足用戶的個性化需求。
圖1表達了從三維CAD數據到PDM數據的變化過程。從PDM到三維CAD其過程正好是相反的。
2.3 集成框架結構
集成框架使用組件調度程序來統一控制框架的各種接口的類型、實例化、調用和銷毀。組件調度程序是集成框架的神經中樞,接口依附于組件調度程序來實現其功能。接口根據上述數據流圖中可劃分為三個層次,從三維CAD到PDM依次為:
(1)基于不同三維軟件的通用信息轉換接口
該層接口提取了不同三維CAD軟件的共同特征,成為一個通用的抽象接口(Abstract Interface)。該抽象接口被不同的組件實現以滿足不同的三維CAD的要求。該層接口處理的結果為一種符合基本要求的原始XML文件。
該層接口的即插即用通過抽象工廠(Abstract Factory)的設計模式來實現。組件調度程序要求組件首先注冊,注冊時必須提供三維CAD軟件的類型信息,這樣,組件調度程序就可以正確地創建和調用該類型三維CAD的信息轉換組件。
(2)基于用戶個性需求的處理邏輯接口
原始的XML文件經過該層處理轉變為標準的XML文件。該層接口具有最大的個性,用戶可以任意實現該層的接口以完成自己的個性化需求。零部件族及其成員的關系、結構關系和屬性的調整都在該層實現。
由于上述的特性,該層的設計方法可以有多種。典型的如設計的橋接模式(Bridge),可以在基于,net和Java的組件方法中實現,它們都可以通過反射(Reflect)機制來尋找組件的接口,從而實現一個具有更大開放性的接口層次。最簡單的接口也可以是直接傳送XML內存對象句柄給該層接口使用,這是一種共享內存的設計方法。
(3)基于PDM數據模型的標準操作接口
在標準XML的基礎上,該層從PDM角度封裝了三維數據模型的通用處理邏輯。由于PDM的數據模型是固定的,因此該層的接口最為豐富,但是其約束也更多。PDM通過該層接口實現自己的存儲邏輯。
組件框架必須考慮到組件的易用性,這就要求組件以簡單的方式提供簡單和常用的接口,使程序員和用戶方便使用;同時,也提供復雜的更為精細的控制接口供高級的開發人員使用,以實現更強大的功能。顯然,外觀(Facade)設計模式在這里是適用的,它為PDM的不同功能提供了適合的接口。
如圖2所示為集成框架的一般結構。在這樣的一個體系結構中,三維軟件的編輯、瀏覽方法都可以統一到集成框架中。編輯、瀏覽的接口在各三維集成組件中實現,注冊后由組件調度程序負責調用。對于PDM而言,只需要根據三維CAD的類型,準備好CAD文件后,向組件調度程序發送編輯或瀏覽請求即可。組件調度程序根據注冊組件簡單的重發該請求即可達到目的。
3 集成框架的實現
KMPDM是企業級的產品數據管理系統,使用了上述的通用集成框架來實現和三維CAD的集成。其功能主要包括:
(1)三維模型的批量導入;
(2)三維模型檢入檢出時的同步更新;
(3)零件族模型的自動生成與更新;
(4)三維模型和PDM數據一致性檢查。
在KMPDM中,集成框架需要的配置文件統一存放在服務端上。系統通過對不同三維CAD定義不同的處理配置,來完成PDM數據到三維數據模型的映射,從而進行三維模型數據的提取、一致性檢查、批量入庫等處理。
圖3顯示了KMPDM中產品結構樹和PROE三維模型結構的一致性。當KMPDM執行三維模型的檢入操作時,通過集成框架判斷三維模型類型,并根據配置調用相關組件和處理程序產生標準XML數據,然后更新PDM中相關產品結構和屬性。基于通用集成框架KMPDM完全實現了三維軟件的“即插即用”的集成,充分顯示了集成框架的靈活性和可擴展性。
4 結束語
通過抽象CAD的公共特征可以建立統一的、可擴展的PDM和三維CAD軟件通用集成框架。該框架易于擴展,三維CAD的軟件類型的增加只需要增加相應的組件并注冊即可,其他組件無需重新編譯。該集成框架對于PDM來說是一種標準的形式,PDM可以根據自己的業務處理邏輯來進行擴展。由于中間層的存在,這種擴展不會影響到三維CAD的處理組件。實踐證明,這種體系結構達到了一致性和多樣性的統一。