国产精品日韩一区二区三区-国产精品日日摸夜夜添夜夜添1-国产精品入口免费视频-国产精品三级-亚洲国产欧美另类-亚洲国产欧美日韩

基于Remoting的CATIA集成技術研究

2013-05-20  by:廣州有限元分析、培訓中心-1CAE.COM  來源:仿真在線

PDM的基礎與核心是數據管理。在以往的PDM的開發與實施中,CAD/CAM數據的集成管理問題往往是決定PDM成功的關鍵要素之一,而BOM數據的有效管理更是PDM的基礎之基礎。本文分析了基于Remoting的數據傳輸的優勢,介紹利用CATIA V5 AUTOMATION獲取CATIA V5零部件BOM信息,開發實用軟件的具體方法和思路,提出了基于Remoting的CATIA V5 與PDM系統BOM數據傳輸方法,并開發出實用程序。本方法同樣適用于CATIA V5與ERP、CAPP等應用系統的信息交換。
范亮宇 崔亮 葉強 來源:e-works
關鍵字:CATIA CAD Remoting

1.基于Remoting的數據傳輸技術

    1.1Remoting的優勢

    一種基于.net的高效的分布式處理方式

Remoting,簡而言之是一種分布式處理方式。從微軟的產品角度來看,可以說Remoting就是DCOM的一種升級,它改善了很多功能,并極好的融合到.Net平臺下。Microsoft .NET Remoting 提供了一種允許對象通過應用程序域與另一對象進行交互的框架。這也正是我們使用Remoting的原因。為什么呢?在Windows操作系統中,是將應用程序分離為單獨的進程。這個進程形成了應用程序代碼和數據周圍的一道邊界。如果不采用進程間通信(RPC)機制,則在一個進程中執行的代碼就不能訪問另一進程。這是一種操作系統對應用程序的保護機制。然而在某些情況下,我們需要跨過應用程序域,與另外的應用程序域進行通信,即穿越邊界。

    實現通信方式

在Remoting中是通過通道(channel)來實現兩個應用程序域之間對象的通信的。首先,客戶端通過Remoting,訪問通道以獲得服務端對象,再通過代理解析為客戶端對象。這就提供一種可能性,即以服務的方式來發布服務器對象。遠程對象代碼可以運行在服務器上(如服務器激活的對象和客戶端激活的對象),然后客戶端再通過Remoting連接服務器,獲得該服務對象并通過序列化在客戶端運行。

    Remoting的兩種通道

Remoting的通道主要有兩種:Tcp和Http。在.Net中,System.Runtime.Remoting.Channel中定義了IChannel接口。IChannel接口包括了TcpChannel通道類型和Http通道類型。它們分別對應Remoting通道的這兩種類型。

TcpChannel類型放在名字空間System.Runtime.Remoting.Channel.Tcp中。Tcp通道提供了基于Socket 的傳輸工具,使用Tcp協議來跨越Remoting邊界傳輸序列化的消息流。TcpChannel類型默認使用二進制格式序列化消息對象,因此它具有更高的傳輸性能。HttpChannel類型放在名字空間System.Runtime.Remoting.Channel.Http中。它提供了一種使用 Http協議,使其能在Internet上穿越防火墻傳輸序列化消息流。默認情況下,HttpChannel類型使用Soap格式序列化消息對象,因此它具有更好的互操作性。通常在局域網內,我們更多地使用TcpChannel;如果要穿越防火墻,則使用HttpChannel。

    1.2基于Remoting的應用間數據傳遞

    現代企業中的應用往往是多種多樣的,由于多種原因,企業應用的軟硬件、技術平臺也很難同一。應用間數據傳輸不可避免。以CATIA與UGS的PDM產品Teamcenter集成為例,如下圖所示:

基于Remoting的CATIA集成技術研究autocad technology圖片1


 
    2.開發工具、設計方法與思路

    CATIA V5 是法國達索公司與IBM公司開發的新一代CAD/CAM產品。它采用了全新的、基于組件的開放式體系結構(Open Architecture Products)。CATIA V5采用大量的先進工業標準;應用了許多現代軟件工程思想,整個體系結構雖然十分龐大,但結構清晰、合理。維護、開發、擴展方便。有著相當優良的擴展性能。它開放的組件應用架構允許更多的第三方供應商針對用戶的需要特別定制的應用解決方案。提供COM/DCOM接口支持基于AUTOMATION的開發。

    DS的CAA組件應用架構(Component Application Architecture)組件應用架構,是Dassault Systemes產品及二次開發的基礎架構。所有的DS產品均構建之上。并通過PPR HUB 將其它不同用途的DS產品如ENOVIA、DELMIA等連接起來。PPR HUB是CAA的基礎,是一種“軟件總線標準”,凡是架構其上的產品均可互通信息,方便用戶構建從方案設計、工程設計、工藝分析、知識工程、模擬分析到PLM、SCM、ERP的全生命周期、全方面的應用。

CAA AUTOMATION 使用標準的COM/DCOM開發技術,支持從腳本到VB、VC、DELPHI等通用開發工具。無需專用開發工具和專門技術,開發技術簡單。CAA AUTOMATION提供了強大的開發接口,并且還在加強中。與CAA C++相比其功能覆蓋超過80%,且都是最常用的功能。實際上除幾何接口和某些應用外大部分CAA C++二次開發應用均可由CAA AUTOMATION開發且運行效率相當。是目前最常用的開發方法。

    開發工具的選擇:

    根據實際需要選定VB 6.0主開發工具,通過VB主程序使用COM編程技術調用CATIA V5并執行相關的AUTOMATION操作。CATIA V5 的AUTOMATION操作主要完成要求PDM數據的計算和提取。

    主要設計技術:

    CATIA V5 產品數據的提取:

    CATIA V5 產品數據一部分在PRODUCT對象,其它如重量、材質、密度、慣性矩等特殊技術信息可通過參數和GetTechnologicalObject方法獲得,值得注意的是材料、質量、密度要賦材質后才可取得。特別注意的是對于PART類型,PRODUCT屬性要通過ReferenceProduct獲得。

    程序例子:

    Set oManager = AssDoc.Product.GetItem("CATMatManagerVBExt")

    Set AssDoc = CATIA.ActiveDocument
   
    /*求材料名稱:

   Set oManager = AssDoc.Product.GetItem("CATMatManagerVBExt")

    oManager.GetMaterialOnProduct tmpProduct, om

   MsgBox om.Name

    /*求子零件質量和密度:

  Set oInertia = Products.Item(j).GetTechnologicalObject("Inertia")

  dMass = oInertia.Mass

   dDensity = oInertia.Density
   
    如有自定義的屬性可通過Set UserProps = productRoot.UserRefProperties獲取。

    在Teamcenter中的顯示:

基于Remoting的CATIA集成技術研究autocad technology圖片2


 
    配置方法及激活模式

根據激活模式的不同,通道類型的不同服務器端的實現方式也有所不同。大體上說,服務器端應分為三步:

注冊通道

要跨越應用程序域進行通信,必須實現通道。如前所述,Remoting提供了IChannel接口,分別包含TcpChannel和 HttpChannel兩種類型的通道。這兩種類型除了性能和序列化數據的格式不同外,實現的方式完全一致,因此下面我們就以TcpChannel為例。

注冊TcpChannel,首先要在項目中添加引用“System.Runtime.Remoting”,然后using名字空間: System.Runtime.Remoting.Channel.Tcp。在實例化通道對象時,將端口號作為參數傳遞。然后再調用靜態方法 RegisterChannel()來注冊該通道對象即可。

注冊遠程對象

注冊了通道后,要能激活遠程對象,必須在通道中注冊該對象。根據激活模式的不同,注冊對象的方法也不同。

對于WellKnown對象,可以通過靜態方法 RemotingConfiguration.RegisterWellKnownServiceType()來實現,注冊對象的方法基本上和 SingleTon模式相同,只需要將枚舉參數WellKnownObjectMode改為SingleCall就可以了。

注銷通道

如果要關閉Remoting的服務,則需要注銷通道,也可以關閉對通道的監聽。在Remoting中當我們注冊通道的時候,就自動開啟了通道的監聽。而如果關閉了對通道的監聽,則該通道就無法接受客戶端的請求,但通道仍然存在,如果你想再一次注冊該通道,會拋出異常。

    服務器:

    TcpServerChannel channel = new TcpServerChannel(8086);

    ChannelServices.RegisterChannel(channel,false);

    Type t = typeof(wr);

    RemotingConfiguration.RegisterWellKnownServiceType(t, "hi", WellKnownObjectMode.SingleCall);

    客戶端:

    //    TcpChannel tc = new TcpChannel();

    //    ChannelServices.RegisterChannel(tc);

    wr obj = (wr)Activator.GetObject(typeof(wr), "tcp://192.0.0.1:8086/hi");

    Response.Write(obj.write());

    3.結束語

    隨著CAD/CAM技術應用的深入推廣,如何應用PDM管理和使用不斷增加的數據管理日益成為企業應用面臨的問題。CATIA具有強大的自管理和開放的應用開發接口,使得企業可以靈活的根據需要設計適合的各種應用。


開放分享:優質有限元技術文章,助你自學成才

相關標簽搜索:基于Remoting的CATIA集成技術研究 AutoCAD培訓 AutoCAD培訓課程 AutoCAD圖紙設計 AutoCAD在線視頻 AutoCAD技術學習教程 AutoCAD軟件教程 AutoCAD資料下載 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 Abaqus培訓 Autoform培訓 

編輯
在線報名:
  • 客服在線請直接聯系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務熱線

1358-032-9919

廣州公司:
廣州市環市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com




主站蜘蛛池模板: 黄色激情视频在线观看 | 亚洲综合视频在线 | 日本v片免费一区二区三区 日本v视频 | 伊人网视频 | 亚洲国产日韩在线观看 | 欧美线观看免费欧洲爱做网站 | 久久久久88色偷偷免费 | 日本高清免费在线视频 | 精品视频 九九九 | 欧美成人免费看片一区 | 国产福利网站 | 国产精品va在线观看不 | 在线免费观看色 | 久久精品a一国产成人免费网站 | 日韩视频二区 | 色婷婷一区二区三区四区成人网 | 69视频在线是免费观看 | 青青草免费在线观看 | 亚洲午夜一区二区三区 | 三级xxx| 亚洲精品乱码久久久久久蜜桃 | 日本高清不卡一区 | 国产另类ts人妖一区二区 | 欧美一区二区三区精品影视 | 亚洲va中文字幕 | 久久―日本道色综合久久 | 日本三级香港三级人妇gg在线 | 中文字幕美日韩在线高清 | 欧美视频第一区 | 特级毛片a级毛免费播放 | 国产精品久久久久久搜索 | 国产成人一区二区精品非洲 | 看视频免费| 欧美老bb | 狠狠躁夜夜躁人人爽天天不 | 免费很黄很色裸乳在线观看 | 国产精品自产拍在线观看 | 亚州人成网在线播放 | 欧美成人另类 | 日本欧美精品 | 三级视频全过程 |