CAA及其應用

CAA及其應用

第一飛機設計研究院    劉俊堂

 

 

[摘要] 本文就Dassault Systemes的CAA(Component Application Architecture)產品作了比較全面而詳盡的介紹,包括CAA產品的構架、軟件包的構成和選購。最後對CAA的安裝和應用也作了簡要介紹。

[關鍵詞] 面向對象程序設計、組件對象模型(COMCAA  RADE

 

一、    CAA 簡介

Component Application Architecture (CAA) 組件應用架構,是Dassault Systemes產品擴展和客戶進行二次開發的強有力的工具。以爲商標的Dassault Systemes已形成六大支柱產品,通過PPR HUB進行集成,對產品的生命週期進行全方位管理。

1 Dassault Systemes產品結構邏輯關係

這六大產品包括:

CATIA V5:產品的數字化設計和數字樣機技術。

ENOVIA:產品數據管理和協同工作環境。

DELMIA:數字化工廠,包括工藝設計、資源控制、工廠佈置和生產模擬等。

另外還有SOLIDWORKS、SMARTTEAM也可進行數字化設計和管理,由用戶情況決定。特別要提的是SPATIAL,專門進行CAA架構的開發和研究。

PPR HUB是Dassault Systemes 3D產品生命週期管理(Product Lifecycle Management ,PLM)解決方案的核心,確保CATIA、ENOVIA、DELMIA三者之間的整合。

Dassault Systemes的這套解決方案得利於開放式,可擴展的模塊化開發架構 CAA,使得全球諸多開發商可以參與Dassault Systemes的研發。

對客戶而言,CAA可以進行從簡單到複雜的二次開發工作,而且和原系統的結合非常緊密,如果沒有特別的說明,無法把客戶所研發的功能從原系統中區分出來,這非常有利於用戶的使用和集成。

CAA的實現,是通過提供的快速應用研發環境RADE和不同的API接口程序來完成的。

快速應用研發環境Rapid Application Development Environment(RADE)是一個可視化的集成開發環境,它提供完整的編程工具組。實際上RADE以Microsoft Visual Studio VC++爲載體,在VC++環境中增加了CAA的開發工具。

API提供了操作各種對象的方法、工具和接口。

Dassault Systemes提供的CAA產品包括如下內容:

l        CAA RADE 快速開發環境,基於Microsoft Visual Studio

l        CAA CATIA V5 API, CATIA V5應用開發工具

l        CAA ENOVIA LCA V5 API,ENOVIA LCA應用開發工具

l        CAA DELMIA V5 API,DELMIA V5應用開發工具

l        CAA ENOVIA PORTAL V5 API ,ENOVIA PORTAL V5應用開發工具

二、    CAA架構

在軟件開發領域,使用面向對象的程序設計(OOP:Object-Oriented-Programming)已經成爲軟件開發設計的主流,它爲軟件的發展帶來了很多好處:可複用性、抽象性、封裝性等。軟件專家把軟件開發看作是對象的組合。

面向對象程序設計是一種程序設計方法,而建立在面向對象程序設計基礎之上的組件對象模型(COM)和對象的連接和嵌入(OLE)技術,使程序設計更加容易且趨於標準化,使程序的使用更加簡潔明瞭。MicrosoftCOMOLE 的先祖,基於此種技術的應用軟件,如Microsoft Word,Execl,Access 得到廣泛地使用和承認,而且許多應用軟件也是基於這種技術,CAA就是基於這種技術的Windows應用軟件。

  1 

CAA產品的架構可用圖1表示。它全面反映了Dassault Systemes幾大產品之間的關係。在CAA架構的支撐之下,Dassault Systemes系統可像搭積木一樣建立起來,這種結構非常適宜於系統的壯大和發展。表1列出了在CATIA V5應用方面爲Dassault Systemes開發應用程序的部分公司。

 

1 CATIA V5軟件合作伙伴

 

序號

合作伙伴

產品

1

CADDAM Systems company Inc.

Helix Integration/Environment V1R4 CAA V5 Based/Helix Direct Interface (HDI)CAA V5 Based

2

Dimensional Control Systems Inc.

3DCS Analyst CAA V5 Based/3DCS Designer CAA V5 Based

3

Trace Parts

Trace Parts CAA V5 Based

4

T-Systems ITS GmbH

VAMOS CAA V5 Based

5

Metalsoft Inc.

Fabriwin CAA V5 Based

6

Mechanical Dynamics Inc.

Dynamic Designer CAA V5 Based

7

LMS International

LMS Virtual.Lab Acoustics

LMS Virtual.Lab Noise and Vibration

LMS Virtual.Lab Durability

LMS Virtual.Lab Motion

8

ICEMCFD

ICEM CFD Hexa CAA V5 Based

9

AIKOKU ALPHA ENGINEERING CORP.

AIKOKU Post for 4 axis CAA V5 Based/ AIKOKU Post for 5 axis CAA V5 Based

10

CENIT AG Systemhaus

CUT4AXES CAA V5 Based

11

EADS Matra Datavision

EUCLID3 Connectivity CAA V5 Based

12

ZEH Software

ZEHSever CAA V5 Based

13

Infrastructure Interface

COM/VDAFS CAA V5 Based

 

在商業運作方面,與Dassault Systemes系統的其產品一樣,CAA也被劃分爲軟件包(Configuration)和模塊(Product),用戶在購置CAA時要根據需要選擇合適的配置和產品。

目前CAA有五個配置軟件包:

l        CAAMulti-workspace Application Building(簡稱ABC)

CAA應用的基本配置.

l        CAAC++ Extended Development(簡稱CDC

提供與C++共存的的開發環境,即對C++開發環境的客戶化,用戶除可使用C++開發環境的所有工具外,還可使用CAA提供的獨特的開發工具.可用於CATIAENOVIA的二次開發.

l        CAAC++ Base Development(簡稱CDV

CDC類似,但規模小,針對中小市場,可有限地運用於CATIA V5ENOVIA LCA的客戶化工作.

l        CAAJava Base Development(簡稱JDV

運行於JAVA開發環境,適用於ENOVIA LCA客戶端的定製.

l        CAALegacy Data Integration Development Configuration(簡稱LDC

提供數據接口工具,可使用戶繼承原有的數據.

CAA提供的產品(模塊)包括:

l        CAAC++ API Documentation Generator(CDG).

l        CAAC++ Source Checker(CSC)

l        CAACAA Data Model Customizer(DMC)

l        CAAJava UnitTest Manager(JUT)

l        CAAMulti-Worksoace Application Builder(MAB)

l        CAATeamwork Release Manager(TRM)

l        CAAC++ Interactive Dashboard(CID)

l        CAAC++ Unit Test Manager(CUT)

l        CAAJava Interactive Dashboard(JID)

l        CAAWeb Application Generator for Legacy Database(LWG)

l        CAASource Code Manager(SCM)

2

3表示了CAA產品配置及其所包含的產品的矩陣圖.這裏對各個模塊的功能不再作詳盡的解釋,如果讀者需要可參考相關資料或訪問關於CAA的網站.

三、    CAA 安裝

CAA的安裝包括兩大部分,一是Dassault Systemes相關應用軟件的安裝,如CATIA V5、ENOVIA;二是CAA本身的安裝。

在安裝CAA以前,要確認Dassault Systemes應用和CAA版本的一致性,甚至要考慮二者補丁的一致性,否則將導致CAA無法使用。下面以Dassault Systemes的CATIA V5R9 GA版應用程序和CAA的CDC安裝爲例,簡要介紹CAA的安裝過程。

假設用戶購買了CATIA V5R9和CAA CDC的使用權,並擁有相應的產品License。

按照下面的步驟安裝CAA一般就可使用CAA了:

l        安裝CATIA V5R9 GA 版,如果以前已經安裝過,可忽略這一步;

l        安裝CATIA V5R9 API(此產品屬CAA範疇),API自動安裝在CATIA所在的目錄下,由於CAA RADE不識別帶有空格的目錄名,所以在先前一步安裝CATIA時,一定要自定義安裝位置,且目錄名不能包含空格。

l        Microsoft Visual Studio V6.0的安裝;

l        CAA RADE的安裝,在CAA RADE 安裝前,必須安裝Microsoft Visual Studio V6.0,同時注意不要把CAA RADE安裝在CATIA的安裝目錄下,安裝路徑不能有空格。

通過以上四步,完成了CAA的安裝,但要使用CAA,必須進行RADE產品的認證和環境的設置。

l        RADE產品的認證,通過命令啓動RADE Tools Licensing

C:>$RADE_INSTALLATION_PATH$/ intel_a/code/bin/ CATVBTLicenser.exe

        這裏$RADE_INSTALLATION_PATH$RADE的安裝路徑。

2 RADE License 配置窗口

選擇有效的License,確定即可。

l        安裝聯機幫助,以便在RADE開發環境下提供CAA幫助。

C:>$RADE_INSTALLATION_PATH$/intel_a/code/bin/ CATVBTSetup.exe

        這裏$RADE_INSTALLATION_PATH$RADE的安裝路徑。

選擇Documentation,指定幫助文檔的路徑(在CATIA安裝目錄下)。

四、    CAA 啓動

下面簡要介紹一下CAA RADE的使用流程。

l        啓動Microsoft Visual C++,選擇Tools->Customize…,在彈出的菜單上選擇

 

Add-ins and Macro Files,選中有關的插接件,關閉窗口,退出Microsoft Visual C++。這一步驟在首次使用CAA RADE必須進行。

l        重新啓動Microsoft Visual C++,出現CAA RADE的幫助窗口。在菜單欄上增加了兩個新的菜單項,CAAV5 WorkspaceSource Code Manager,這是CAA RADE添加的菜單項。

另外,展開其他菜單項,如Project,可以到看以圖標打頭的菜單項,也屬於CAA RADE的菜單項。到此爲止,我們就可以使用CAA RADE來開發CATIA V5R9的用戶客戶化程序了。

                      

 

五、    CAA 應用範例

爲了幫助用戶熟悉CAA RADE的開發環境和工具,Dassault Systemes各個應用系統各自提供了許多應用範例,如CATIA V5R9提供了與開發CATIA 有關的範例,用戶甚至可對範例稍加修改而變成自己的產品。在安裝CATIA API時,應用範例被安裝在CATIA目錄下的CAADoc文件夾中。所有範例的文件夾以 .edu結尾。爲了防止原始範例文檔的破壞,可以把CAADoc文件夾的用例拷貝到其他地方(比如,把CAASystem.edu拷貝到E:/V5R9/UsercaseWorkspace),並以此作爲目標進行編程練習。

l        啓動Microsoft Visual C++,選擇File菜單下的Open CAA V5 Workspace命令。

a Open with選項列表中選擇MkmkMkmkCAA RADE提供的連編命令。

b、在Workspace Directory文本框中指定範例所在的文件夾,如本例的E:/V5R9/UsercaseWorkspaceCAA RADE中的WorkspaceProject存在的地方。

c、在Toollevel選項列表中選擇V5R9_T09

點擊OKRADE進行關於本用例的初始化工作,顯示相關窗口和信息。

 

因爲在新建的Workspace中不存在項目ProjectCAA RADE將爲用戶生成一個,並給以提示。

 

l        選擇模塊

Project生成之後,CAA RADE要求選擇項目所包含的模塊,這裏我們選擇CAAsysCallBack.m.

    點擊OKRADE提示用戶需連接的資源庫,RADE稱其爲prerequisite workspace。這是可想而知的,因爲範例及其用戶編寫的程序,要在Dassault Systemes應用系統環境下運行,必須把Dassault Systemes資源和用戶的客戶化程序整合在一起。

 

     

   點擊OKRADE顯示範例程序的結構,包括類和文件。

       

      

l        定義Prerequisite Workspace,在CAAV5 Workspace菜單中選擇菜單項Locate Prerequisite Workspace…

a、 選擇ModeAccess prerequisites from their origin location

b、Origin for prerequisite Frameworks下,把CATIA的資源添加爲Prerequisite Workspace。方法是點擊Add…。點擊OKRADE調用相關資源。

l        程序的連編,選擇Build菜單下的mkmk命令。在出現的Code Builder(mkmk)窗口指定相關選項,見下圖。

   

   點擊OKRADE開始建立連編代碼。

   

l        建立Debug時運行程序,在CAAV5 Workspace菜單下,選擇Create/Update Runtime View…,在Create RunTimeView中選擇all.

                 

      點擊OKRADE彈出相關窗口。

     

     CAASysCallback.m所在的Project設爲激活的狀態,Class ViewFile View右鍵CAASysCallback.m classes

           

選擇Set as Active Project

      

l        運行範例,指定範例程序可執行代碼的地址。在Project菜單中選擇Settings…RADE彈出Project Settings窗口。在Debug下指定範例程序可執行代碼的地址。點擊OK

      

    Build菜單下,點擊Execute CAASysCallBack.exe運行程序。

                         

六、    結論.

Component Application Architecture (CAA) 組件應用架構,是第三方產品集成和一般客戶進行客戶化、個性化設計的強有力的工具,利用CAA完全可以實現Dassault Systemes應用的深層次開發。但是,由於Dassault Systemes應用本身的複雜性和CAA所涉及的深層次內容,利用CAA進行二次開發必然具有一定的複雜性和難度,用戶在熟練掌握Dassault Systemes應用系統的同時,還必須具備軟件開發的知識和能力。

發佈了14 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章