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

您的位置:網(wǎng)站首頁 > CAD新聞

基于統(tǒng)一代理和面向服務(wù)的PDM與三維CAD雙向集成技術(shù)

時(shí)間:2011-02-26 10:04:15 來源:

  1 引言

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

  大型企業(yè)各部門可能采用了不同種類的CAD軟件,需要與PDM進(jìn)行跨網(wǎng)絡(luò)的集成,然而網(wǎng)絡(luò)異構(gòu)性、軟件產(chǎn)品多樣性、C/S與B/s架構(gòu)的混合給集成造成了困難。另外,傳統(tǒng)的企業(yè)應(yīng)用集成技術(shù),如OMG的CORBA、微軟的DCOM、SUN公司的J2EE,都不能較好地解決跨網(wǎng)絡(luò)環(huán)境下的防火墻對(duì)應(yīng)用程序阻隔的問題。

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

  2基于統(tǒng)一代理面向服務(wù)的雙向集成框架和原理

  2.1采用統(tǒng)一代理及Web服務(wù)的雙向集成框架

  采用Web服務(wù)構(gòu)建應(yīng)用集成要求應(yīng)用程序之間按照Web服務(wù)標(biāo)準(zhǔn)進(jìn)行通信,然而大型企業(yè)現(xiàn)有的PDM與三維CAD軟件大多不支持Web服務(wù):既不提供Web服務(wù)接口也不提供調(diào)用Web服務(wù)接口的功能。為了盡可能減少集成成本,采用代理對(duì)這些軟件進(jìn)行封裝來提供Web服務(wù)支持可以較好地解決現(xiàn)有軟件的服務(wù)化改造問題。

  大型企業(yè)應(yīng)用集成的另一個(gè)問題是軟件產(chǎn)品平臺(tái)的多樣性,不同部門采用的三維CAD軟件很可能各不相同。為了提供統(tǒng)一的產(chǎn)品信息獲取方法,本文提出了一種CAD統(tǒng)一接口模型,采用一致的調(diào)用接口封裝各種CAD。這樣,我們只須實(shí)現(xiàn)一個(gè)CAD統(tǒng)一服務(wù)代理,而不必為每種CAD都實(shí)現(xiàn)單獨(dú)的CAD服務(wù)代理。

  基于以上的統(tǒng)一代理及面向服務(wù)集成策略,我們?cè)O(shè)計(jì)了一個(gè)PDM與三維CAD雙向集成框架,如圖1所示。整個(gè)框架由客戶端、PDM web服務(wù)器、CAD服務(wù)器組成。

  (1)客戶端。由PDM客戶端軟件以及各種三維CAD組成。PDM客戶端軟件包括胖客戶端形式的PDM以及瘦客戶端形式的瀏覽器,以滿足各部門對(duì)PDM軟件的要求。PDM客戶端軟件內(nèi)部包含一個(gè)PDM統(tǒng)一集成代理,用于請(qǐng)求PDM服務(wù)及提供統(tǒng)一界面互動(dòng)支持。每一種CAD軟件內(nèi)部包含一個(gè)CAD統(tǒng)一集成代理,用于獲取產(chǎn)品信息、請(qǐng)求PDM服務(wù)及提供統(tǒng)一界面互動(dòng)支持。

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

  (3)CAD服務(wù)器。包括CAD統(tǒng)一服務(wù)代理、各種三維CAD和相應(yīng)的CAD文件。其中,CAD統(tǒng)一服務(wù)代理封裝了各種三維CAD獲取產(chǎn)品信息的功能。

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

  

  圖1基于統(tǒng)一代理面向服務(wù)的PDM與三維CAD雙向集成框架

  2.2 PDM向CAD面向服務(wù)的分布式集成過程

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

  2.3 CAD向PDM基于代理請(qǐng)求服務(wù)的互動(dòng)集成過程

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

  3基于統(tǒng)一代理面向服務(wù)的PDM與三維CAD雙向集成實(shí)現(xiàn)

  3.1統(tǒng)一代理中Web服務(wù)的實(shí)現(xiàn)

  Web服務(wù)實(shí)現(xiàn)包括web服務(wù)提供者和請(qǐng)求者的實(shí)現(xiàn)。其中Web服務(wù)提供者包括PDM和CAD各自的統(tǒng)一服務(wù)代理,這兩種代理只是封裝的應(yīng)用邏輯不同,而實(shí)現(xiàn)方法類似。由于.NET技術(shù)可以大大簡化Web服務(wù)的開發(fā),采用C#開發(fā)ASP NET Web Service是個(gè)不錯(cuò)的選擇。不過大多數(shù)PDM和CAD軟件并不直接支持.NET的調(diào)用方式,本文采用一種中間轉(zhuǎn)換層技術(shù),將PDM和CAD的應(yīng)用邏輯封裝在動(dòng)態(tài)鏈接庫中(DLL),這樣C#就可以直接調(diào)用DLL中的函數(shù)。

  web服務(wù)請(qǐng)求者包括PI)M和CAD各自的統(tǒng)一集成代理以及PDM統(tǒng)一服務(wù)代理。對(duì)于統(tǒng)一集成代理而言,考慮到現(xiàn)有的PDM客戶端軟件和CAD二次開發(fā)編程語言,本文采用gSOAP來實(shí)現(xiàn)web服務(wù)客戶端。gSOAP是一個(gè)開源項(xiàng)目,用它可以方便地使用C/C++進(jìn)行SOAP服務(wù)器端和客戶端編程,而不必了解XML和.SOAP協(xié)議的細(xì)節(jié)。PDM統(tǒng)一服務(wù)代理充當(dāng)服務(wù)請(qǐng)求者請(qǐng)求CAD服務(wù)的功能可并入服務(wù)提供者中。

  3.2 CAD統(tǒng)一接口模型的實(shí)現(xiàn)

  3.2.1 CAD統(tǒng)一接口模型結(jié)構(gòu)

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

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

  (2)適配器層。屏蔽不同CAD二次開發(fā)接口的差異性以及提供接口調(diào)用的腳本支持。由一個(gè)適配器管理器、若干個(gè)CAD適配器和腳本解釋器組成。適配器管理器根據(jù)必要的信息加載正確的CAD適配器,通過CAD適配器來完成實(shí)際的接口功能。CAD適配器對(duì)應(yīng)每一種CAD,調(diào)用CAD提供的二次開發(fā)接口或直接讀取CAD文件來實(shí)現(xiàn)統(tǒng)一接口。

  (3)CAD層。包括各種CAD軟件和對(duì)應(yīng)的CAD文件。CAD軟件以后臺(tái)方式運(yùn)行并操作CAD文件。

  采取適配器管理器提供統(tǒng)一接口支持適配器層和CAD層的形式具有以下優(yōu)點(diǎn):

  (1)易擴(kuò)展。添加對(duì)其他CAD支持時(shí),只需按照統(tǒng)一模型規(guī)范開發(fā)對(duì)應(yīng)的CAD適配器即可。

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

  

  圖2CAD統(tǒng)一接口模型結(jié)構(gòu)

  3.2.2 CAD統(tǒng)一接口模型實(shí)現(xiàn)統(tǒng)一接口的原理和過程

  CAD統(tǒng)一接口模型中適配器層是提供統(tǒng)一接口支持的關(guān)鍵。應(yīng)用程序只須加載適配器管理器并調(diào)用統(tǒng)一接口函數(shù)即可,而具體的CAD適配器和CAD軟件對(duì)應(yīng)用程序是透明的。整個(gè)過程如下:

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

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

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

  (4)應(yīng)用程序調(diào)用統(tǒng)一接口函數(shù),適配器管理器將調(diào)用轉(zhuǎn)發(fā)給(3)中緩存的函數(shù);

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

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

  3.2.3 CAD統(tǒng)一接口的定義

  PDM向三維CAD集成一般是獲取產(chǎn)品結(jié)構(gòu)信息、產(chǎn)品屬性信息。產(chǎn)品結(jié)構(gòu)信息包括零件類型、個(gè)數(shù)、文件名等。產(chǎn)品屬性信息包括產(chǎn)品的物理屬性,如材料、重量等;基本屬性。如設(shè)計(jì)者、主題、備注、日期等;自定義屬性。因此,CAD統(tǒng)一接口必然包含這些產(chǎn)品信息獲取函數(shù)。這些函數(shù)的實(shí)現(xiàn)與具體的CAD類型有關(guān),由CAD適配器實(shí)現(xiàn),適配器管理器只是轉(zhuǎn)發(fā)調(diào)用并作必要的錯(cuò)誤檢查處理。

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

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

  3.3統(tǒng)一用戶界面模型的實(shí)現(xiàn)

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

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

  

  圖3統(tǒng)一用戶界面機(jī)制

  4應(yīng)用

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

  

  圖4 PDM客戶登錄PDM服務(wù)器請(qǐng)求對(duì)象信息

  

  圖5 UG通過CAD集成代理請(qǐng)求PDM服務(wù)

  5結(jié)束語

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