我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > CAD新聞

基于統一代理和面向服務的PDM與三維CAD雙向集成技術

時間:2011-02-26 10:04:15 來源:

  1 引言

  PDM已經成為企業產品開發的基礎信息平臺。CAD作為產品設計階段的主要工具,其生成的數據將通過PDM應用到CAPP、CAM等后續信息化軟件中,因此如何有效地進行PDM和CAD的集成將直接影響企業的信息化水平。目前,國內大型企業已逐步從二維CAD過渡到三維CAD,PDM與三維CAD的集成越來越受到人們的重視。

  大型企業各部門可能采用了不同種類的CAD軟件,需要與PDM進行跨網絡的集成,然而網絡異構性、軟件產品多樣性、C/S與B/s架構的混合給集成造成了困難。另外,傳統的企業應用集成技術,如OMG的CORBA、微軟的DCOM、SUN公司的J2EE,都不能較好地解決跨網絡環境下的防火墻對應用程序阻隔的問題。

  Web服務(Web Services)作為一項新興的網絡技術,具有平臺無關性、松散耦合性、完好封裝性、協議標準性等優點,能夠很好地支持異構系統集成,允許應用程序透明地穿越防火墻。為能利用Web服務的優勢,針對大型企業應用集成現狀,本文提出了一種面向服務能跨產品平臺的PDM與三維CAD雙向集成策略,將PDM與主流三維CAD采用各自的統一服務代理封裝成Web服務,采用各自的統一集成代理請求對方服務,以達到雙向數據、業務和界面的集成。為了屏蔽不同CAD二次開發接口的差異性,本文提出了一種CAD統一接口模型。應用該模型不僅可以用來實現CAD統一服務代理,還可以應用在需要獲取CAD產品模型信息的其它應用程序以及腳本程序中。為了彌補常規Web服務難于直接提供CAD軟件的交互式圖形服務,本文提出了一種統一用戶界面動態構建模型,采用可視化實時構建界面的方法,快速實現了統一集成代理中實時圖形界面互動功能。實際應用表明:將統一代理技術與Web服務技術結合起來,可以以較小代價、一致的方法較好地解決跨網絡、跨產品平臺時PDM與三維CAD的集成問題。

  2基于統一代理面向服務的雙向集成框架和原理

  2.1采用統一代理及Web服務的雙向集成框架

  采用Web服務構建應用集成要求應用程序之間按照Web服務標準進行通信,然而大型企業現有的PDM與三維CAD軟件大多不支持Web服務:既不提供Web服務接口也不提供調用Web服務接口的功能。為了盡可能減少集成成本,采用代理對這些軟件進行封裝來提供Web服務支持可以較好地解決現有軟件的服務化改造問題。

  大型企業應用集成的另一個問題是軟件產品平臺的多樣性,不同部門采用的三維CAD軟件很可能各不相同。為了提供統一的產品信息獲取方法,本文提出了一種CAD統一接口模型,采用一致的調用接口封裝各種CAD。這樣,我們只須實現一個CAD統一服務代理,而不必為每種CAD都實現單獨的CAD服務代理。

  基于以上的統一代理及面向服務集成策略,我們設計了一個PDM與三維CAD雙向集成框架,如圖1所示。整個框架由客戶端、PDM web服務器、CAD服務器組成。

  (1)客戶端。由PDM客戶端軟件以及各種三維CAD組成。PDM客戶端軟件包括胖客戶端形式的PDM以及瘦客戶端形式的瀏覽器,以滿足各部門對PDM軟件的要求。PDM客戶端軟件內部包含一個PDM統一集成代理,用于請求PDM服務及提供統一界面互動支持。每一種CAD軟件內部包含一個CAD統一集成代理,用于獲取產品信息、請求PDM服務及提供統一界面互動支持。

  (2)PDM Web服務器。用于提供PDM服務。包括PDM統一服務代理、PDM服務端軟件以及數據庫。其中,PDM統一服務代理處理PDM胖/瘦客戶端和CAD統一集成代理發來的PDM服務請求,另外也請求CAD服務。

  (3)CAD服務器。包括CAD統一服務代理、各種三維CAD和相應的CAD文件。其中,CAD統一服務代理封裝了各種三維CAD獲取產品信息的功能。

  圖1中,①表示PDM客戶端軟件請求PDM服務的過程,②、③分別表示PDM向CAD、CAD向PDM集成的過程。

  

  圖1基于統一代理面向服務的PDM與三維CAD雙向集成框架

  2.2 PDM向CAD面向服務的分布式集成過程

  PDM向三維CAD的集成過程一般是用戶登錄PDM系統后,檢出CAD文件,從中獲取產品設計信息、產品結構樹信息等,然后修改這些信息,最終將CAD文件入庫。其實質是PDM客戶端軟件如何通過CAD完成產品信息的讀寫。傳統的方法是在每個客戶機安裝所有的CAD軟件,PDM客戶端以后臺方式啟動CAD并利用CAD二次開發接口讀寫產品信息。這種方法有兩個缺點:(1)每個客戶機都必須安裝所有的CAD軟件,增加了企業軟件投人成本;(2)占用了客戶機大量的硬件資源,這些因素給企業信息化實施帶來了困難。采用服務的方式,將所有CAD軟件一次集中部署在服務端,由CAD統一服務代理提供產品信息讀寫服務,既解決了以上兩個問題,也使得跨網絡集成更加容易。具體的集成過程是:用戶登錄到PDM并請求查看產品信息時,PDM客戶端軟件通過PDM統一集成代理向PDM統一服務代理請求獲取產品信息服務,PDM統一服務代理隨之請求CAD統一服務代理以完成產品信息的實際讀取,并將結果返回給PDM用戶,最后PDM統一集成代理將結果顯示在統一界面中。采用這種間接請求CAD服務的好處是,PDM客戶不必知道CAD服務的存在,減少了整個系統的耦合性。

  2.3 CAD向PDM基于代理請求服務的互動集成過程

  三維CAD向PDM集成的過程是用戶在三維CAD設計環境下,可以直接將CAD當作PDM客戶端使用,登錄PDM系統,檢出文件,修改文件,檢入文件。另外,還可以將設計信息導入到PDM中,以達到CAD和PDM透明互動集成的效果。本文對文獻[2]中的基于代理的CAx與PDM透明式互動集成框架進行了改造,以便適應跨網絡環境集成采用的Web服務技術。具體的集成過程是:假設用戶啟動了UG軟件,UG自動加載集成代理,并在UG的菜單欄中插入了一個菜單條,名為PDM;用戶點擊“登錄”選項,集成代理通過統一界面機制顯示登錄對話框,用戶輸入登錄信息后請求PDM統一服務代理的“登錄”服務;登錄成功后。集成代理動態添加新的菜單項,并根據當前的狀態禁止或使能某些菜單項;集成代理也提取當前模型的結構信息和屬性信息,并將這些信息通過調用相關的PDM服務上傳到PDM服務器。

  3基于統一代理面向服務的PDM與三維CAD雙向集成實現

  3.1統一代理中Web服務的實現

  Web服務實現包括web服務提供者和請求者的實現。其中Web服務提供者包括PDM和CAD各自的統一服務代理,這兩種代理只是封裝的應用邏輯不同,而實現方法類似。由于.NET技術可以大大簡化Web服務的開發,采用C#開發ASP NET Web Service是個不錯的選擇。不過大多數PDM和CAD軟件并不直接支持.NET的調用方式,本文采用一種中間轉換層技術,將PDM和CAD的應用邏輯封裝在動態鏈接庫中(DLL),這樣C#就可以直接調用DLL中的函數。

  web服務請求者包括PI)M和CAD各自的統一集成代理以及PDM統一服務代理。對于統一集成代理而言,考慮到現有的PDM客戶端軟件和CAD二次開發編程語言,本文采用gSOAP來實現web服務客戶端。gSOAP是一個開源項目,用它可以方便地使用C/C++進行SOAP服務器端和客戶端編程,而不必了解XML和.SOAP協議的細節。PDM統一服務代理充當服務請求者請求CAD服務的功能可并入服務提供者中。

  3.2 CAD統一接口模型的實現

  3.2.1 CAD統一接口模型結構

  CAD統一服務代理封裝了CAD的應用邏輯,為了達到統一封裝的目的,本文提出一種CAD統一接口模型,該模型如圖2所示,分成三層:應用層、適配器層和CAD層。

  (1)應用層。即需要獲取CAD模型信息的應用程序,如CAD統一服務代理。除此之外,還包括腳本程序和其它應用程序。

  (2)適配器層。屏蔽不同CAD二次開發接口的差異性以及提供接口調用的腳本支持。由一個適配器管理器、若干個CAD適配器和腳本解釋器組成。適配器管理器根據必要的信息加載正確的CAD適配器,通過CAD適配器來完成實際的接口功能。CAD適配器對應每一種CAD,調用CAD提供的二次開發接口或直接讀取CAD文件來實現統一接口。

  (3)CAD層。包括各種CAD軟件和對應的CAD文件。CAD軟件以后臺方式運行并操作CAD文件。

  采取適配器管理器提供統一接口支持適配器層和CAD層的形式具有以下優點:

  (1)易擴展。添加對其他CAD支持時,只需按照統一模型規范開發對應的CAD適配器即可。

  (2)實現統一接口靈活方便。適配器可以直接讀寫或調用CAD的二次開發接口來操作CAD文件,如圖2中顯示了Pro/E適配器可以直接讀寫文件(通過對Pr0/E文件進行逆向分析或第三方程序庫)或通過調用Pro/E提供API來讀寫文件。

  

  圖2CAD統一接口模型結構

  3.2.2 CAD統一接口模型實現統一接口的原理和過程

  CAD統一接口模型中適配器層是提供統一接口支持的關鍵。應用程序只須加載適配器管理器并調用統一接口函數即可,而具體的CAD適配器和CAD軟件對應用程序是透明的。整個過程如下:

  (1)應用程序動態加載適配器管理器,并向其提供CAD軟件和CAD文件路徑信息;

  (2)適配器管理器根據這些信息負責加載正確的CAD適配器;

  (3)若加載指定的CAD適配器成功,則緩存CAD適配器中各個統一接口函數地址;

  (4)應用程序調用統一接口函數,適配器管理器將調用轉發給(3)中緩存的函數;

  (5)CAD適配器或啟動CAD軟件,或直接讀寫CAD文件來獲取產品信息;

  (6)應用程序卸載適配器管理器。

  3.2.3 CAD統一接口的定義

  PDM向三維CAD集成一般是獲取產品結構信息、產品屬性信息。產品結構信息包括零件類型、個數、文件名等。產品屬性信息包括產品的物理屬性,如材料、重量等;基本屬性。如設計者、主題、備注、日期等;自定義屬性。因此,CAD統一接口必然包含這些產品信息獲取函數。這些函數的實現與具體的CAD類型有關,由CAD適配器實現,適配器管理器只是轉發調用并作必要的錯誤檢查處理。

  另外,由CAD統一接口模型的實現原理可知,適配器管理器應實現CAD適配器的加載和卸載等接口函數。要使適配器管理器能正確加載指定的CAD適配器,應提供識別該CAD適配器特征的信息,這個特征就是CAD程序標識,可以采用多種方式標識CAD程序,如名字、程序ID、GUlD等,如采用“SolidWorks.2006”表示SolidWorks。要獲取產品信息,必須知道CAD文件名。因此,應用程序必須提供CAD標識和CAD文件名給適配器管理器。本文使用連接字符串的概念來表示CAD適配器信息。其格式為:

  CAD=CAD類型:FILENAME=CAD文件名適配器管理器解析得到CAD類型以及CAD文件名之后,還需知道當前系統中可用的CAD適配器,若有匹配的適配器,則加載,否則返同錯誤。為了解決查找、匹配CAD適配器的問題。CAD適配器應支持自注冊和反注冊。注冊時將其支持的CAD標識、適配器實現文件路徑等寫入注冊表中,反注冊時清除這些信息。適配器管理器可以查詢這些信息進而能夠正確加載適配器。

  3.3統一用戶界面模型的實現

  PDM與三維CAD的集成必然涉及到界面的互動集成,具體地說就是在CAD中顯示PDM信息結果、操作界面等,在PDM中顯示產品結構信息界面等。PDM統一集成代理、CAD統一集成代理分別為PDM和CAD提供交互界面支持。為了提供一致的交互界面并快速開發應用,本文提出了一種GUI和網頁元素的統一用戶界面模型,方便了CAD圖形化和PDM網頁化的互動集成。

  該模型的核心是可視化界面建模技術,包括可視化界面構建工具、腳本解釋器、統一界面支持運行庫等。創建統一界面的過程如圖3所示。用戶首先在可視化界面定義器中,利用界面工具箱拖放界面元素,如網格、樹、表單等,并設置它們的屬性以及事件處理函數名稱等,然后保存得到統一界面定義文件。之后用戶可以使用編譯型語言,如C、C++、C#,調用統一界面支持運行庫中的加載界面定義文件函數、界面解釋及創建函數即可獲得先前定義的界面,并可應用在普通程序和網頁程序中,方便CAD圖形化交互操作和PDM網頁化操作的互動集成。用戶也可以使用腳本語言經過腳本解釋器處理而獲取統一界面支持。

  

  圖3統一用戶界面機制

  4應用

  基于如上所述的實現原理,初步開發出PDM統一服務代理封裝了開目PDM的部分功能,PDM統一集成代理(應用于瀏覽器的ActiveX控件和應用于開目PDM客戶端軟件的集成插件)和CAD統一接口模型支持主流三維CAD軟件。另外開發了界面可視化定義工具和相應的支持運行庫。在開目PDM集成平臺中,初步實現了KMPDM、UG和SolidWorks等主流三維CAD的集成。圖4為PDM客戶登錄KMPDM系統以Web服務方式請求對象信息的界面。圖5為UG通過UG統一集成代理生成的菜單項請求PDM檢人服務的界面。

  

  圖4 PDM客戶登錄PDM服務器請求對象信息

  

  圖5 UG通過CAD集成代理請求PDM服務

  5結束語

  傳統的集成方式缺乏穿透防火墻的能力,對跨網絡應用集成的支持不足,另外大型企業各部門可能采用了不同種類的軟件也給應用集成帶來了困難。本文提出的面向服務和跨產品平臺的PDM與三維CAD雙向集成策略,由于采用統一代理機制將PDM與三維CAD封裝成web服務,PDM和CAD通過各自的統一集成代理請求對方服務的方法,較好地解決了跨網絡異構集成問題。本文提出的統一CAD接口模型提供了一致的調用接口,解決了跨產品平臺集成問題。提出的統一用戶界面模型通過可視化構建GUI和網頁元素的方式,提供了CAD圖形化和PDM網頁化操作的界面互動集成。通過將統一代理技術和Web服務相結合,實現了PDM和三維cAD雙向分布式透明集成。后續工作可考慮將其他CAx軟件進行集成,建立統一產品數據模型,提高集成時系統響應速度以及系統的安全性等。