CATIA-CAA二次開發(fā)教程_第1頁
CATIA-CAA二次開發(fā)教程_第2頁
CATIA-CAA二次開發(fā)教程_第3頁
CATIA-CAA二次開發(fā)教程_第4頁
CATIA-CAA二次開發(fā)教程_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

CATIACAAV5R19二次開發(fā)詳細教程CAA,全稱ComponentApplicationArchitecture,組件應(yīng)用架構(gòu)。CAA架構(gòu)CATIA本身是按照組件模型建立起來的,用戶可以通過開發(fā)自己的CAA組件,對DASSAULTSYSTEMES的CATIAV5進行擴展;也可以把用戶自己開發(fā)的CAA組件結(jié)合起來,實現(xiàn)用戶自定義應(yīng)用。

CAA應(yīng)用的框架結(jié)構(gòu)遵從組件對象模型,有自己的框架結(jié)構(gòu)。每個應(yīng)用有至少一個框架(framework),每個框架有至少一個模塊(module)。每個框架里面有一個IdentityCard.h文件,這個文件通過宏“AddPrereqComponent(framenwork,protected)”來聲明“聲明”這個框架的一些首先必備的其他框架名稱,framework是框架名稱。CAA的編譯器就是通過IdentityCard.h文件,來把頭文件搜索限制在首先必備框架所包含的接口中。每個模塊下面定義了一個Imakefile.mk文件,這個文件指明了這個模塊中所有文件在編譯時用到的其它模塊和一些外部庫以及為編譯器提供如何編譯的模塊必須信息,還指定在不同的操作系統(tǒng)下面編譯時的一些可能的特殊要求。CAA環(huán)境對Cnext能夠運行的所有操作系統(tǒng)中采用同樣的編譯器,這為開發(fā)者提供了很大的方便,因為他們可以不需要知道怎樣用不同的編譯器和怎么寫makefile。但是MKMK并不能做所有的事情,開發(fā)者至少要說明他們想要做什么。我們在自己的源文件中用到其它模塊的接口,要在Imakefile.mk中進行說明。程序結(jié)構(gòu)采用了COM組件模型,組件模型中有兩個常用的概念:接口(Interface)和實現(xiàn)(Implement)。接口是一個包含許多純虛函數(shù)的抽象對象,這些純虛函數(shù)指明了接口支持的方法。實現(xiàn)是一個具體定義接口中的方法的對象,一個實現(xiàn)對象必須顯式聲明它支持哪些接口,還必須定義它支持的接口中的所有抽象方法,實現(xiàn)對象可以支持一個或多個接口,而客戶應(yīng)用只能通過這些接口與實現(xiàn)對象發(fā)生聯(lián)系。RADE

RADE,RapidApplicationDevelopmentEnvironment,快速應(yīng)用研發(fā)環(huán)境,是一個可視化的集成開發(fā)環(huán)境,它提供完整的編程工具組。RADE以MicrosoftVisualC++6.0為載體,開發(fā)工具完全集成在了VC++環(huán)境中,并且提供了一個CAA框架程序編譯器,但同時也限制了VC++的部分功能。可以說CATIACAA–RADE是目前所有高端CAD/CAM開發(fā)環(huán)境中最為復(fù)雜、同時也是功能最為強大的一個。

CAAV5RADE包括一系列工具:TCK(ToolConfigurationKey)、MAB(多工作空間應(yīng)用生成器)、CUT(C++單元調(diào)試管理器)、MKMK(CAA編譯工具)、CID(C++交互式面板)等,以插件的形式與MSDevVC++集成到一起。然后借助于這些工具在MSDev環(huán)境下開發(fā)自己的CAA組件。

TCK管理RADE環(huán)境,TCK命令是用來管理開發(fā)工具包的安裝,用來創(chuàng)建一個工作環(huán)境。當(dāng)在WinowsNT上用CAAV5的可視化創(chuàng)建工具(以插件形式嵌入MicrosoftDeveloperStudio),tck_init和tck_profile命令在打開一個V5的工作區(qū)時被自動調(diào)用。

MKMK(多工作區(qū)應(yīng)用編譯器)是DS(DassaultSystems)原代碼編譯工具,它構(gòu)建在平臺無關(guān)(UNIX和WindowsNT)的標(biāo)準(zhǔn)編譯器上,它支持面向組件的設(shè)計模式。MKMK提供一種統(tǒng)一的工具來編譯和連接CAA應(yīng)用而不管是用的什么編程語言(Fortran,C,C++,IDL,Express,CIRCE,...)。

CUT是單元調(diào)試管理器,CUT用mkodt命令來運行傳遞給測試框架中的測試對象,通過選擇不同的命令參數(shù)來決定選擇測試一個對象或者所有對象。

CID即C++交互式面板,CID根據(jù)軟件開發(fā)人員的需求,支持從設(shè)計、開發(fā)到測試、推廣及維護的整個開發(fā)設(shè)計周期,CID提供對RADE產(chǎn)品的單點訪問。盡管CID在WindowsNT下運行,它能夠產(chǎn)生Unix程序代碼。MAB多工作空間應(yīng)用生成器產(chǎn)品,它為CATIAV5應(yīng)用程序提供一個集成統(tǒng)一的編譯、鏈接、編輯、生成環(huán)境。MAB能夠承擔(dān)多工作空間編輯,鏈接,運行代碼生成,以及各工作空間之間依賴性的有效管理。MAB還可以監(jiān)控任一工作空間的源代碼的變更,在整個編譯過程中顯示跟蹤該變更,使編譯過程只需要編譯更改部分即可。添加Workbench注意:關(guān)于RADE中會用到的lib庫,在vc中的目錄為vc98/mfc/lib目錄下,如果你調(diào)試出現(xiàn)問題,比如error沒有找到mfc42u.lib或者別的你就要從安裝盤里面把所有的lib里面的文件考到你的vc對應(yīng)安裝目錄下。新建工作空間打開VS2005,文件——NewCAAV5Workspace,出現(xiàn)NewWorkspaceConfirmation對話框,選擇復(fù)選框,以后新建工程就不會彈出該對話框,然后選擇OK。在NewCAAV5Workspace中,With選擇Mkmk,事先建立好你的開發(fā)目錄,在WorkspaceDirectory中指定你建立的工作目錄,Toollevel選擇你的版本,這里是V5R19_B19。點擊Next,出現(xiàn)Initializingtools對話框,在初始化完成后,點擊Close,選擇創(chuàng)建一個新的框架,點擊Finish,彈出NewFramework對話框。輸入你的FrameworkName,這里為MyFrame1,其余關(guān)于Frameworktype和Frameworkfunction選擇默認選項,F(xiàn)ramework提供兩種類型:應(yīng)用和接口,功能也有三種:運用、測試和教學(xué)。然后點擊OK,彈出CAAV5Generation對話框,點擊OK,就完成了。完成后的文件視圖如下圖,此時生成了一個帶有Framework的Workspace。CAA的開發(fā)提供了兩種模式:批處理模式(BatchMode)和交互模式(InteractiveMode)。我們開發(fā)主要用到的是交互模式。在此模式下,可以創(chuàng)建兩種交互界面:Workshop(Workbench)和Addin。前者是創(chuàng)建一個新的模塊,在這個模塊中除了標(biāo)準(zhǔn)的命令,其余均由用戶開發(fā)。后者指在已經(jīng)存在的Workbench中插入新的工具條和命令,兩種方法下面均會講到。在建立工程后,必須先制定CATIA的安裝路徑(這是打開或建立工程后的首要任務(wù))以載入開發(fā)所必須的API函數(shù)。點擊CAAV5Workspace-LocatePrerequisiteWorkspaces,彈出Prerequisite對話框,點擊Add,添加CATIA的安裝路徑。也就是定義prerequisite,需要注意的是此路徑為intel_a文件夾的上層路徑。在這里,如果要引用其他Workspace的接口(Interface),也可以在這里指定此Workspace的路徑。在建立工程后,必須先制定CATIA的安裝路徑(這是打開或建立工程后的首要任務(wù))以載入開發(fā)所必須的API函數(shù)。點擊CAAV5Workspace-LocatePrerequisiteWorkspaces,彈出Prerequisite對話框,點擊Add,添加CATIA的安裝路徑。點擊OK,彈出調(diào)入所需要的文件對話框如下,點擊Close完成。2、創(chuàng)建module有了工作空間和框架,下面就是添加module了。選擇文件—AddCAAV5Project—NewModule,彈出NewModule對話框,輸入你的ModuleName,這里是MyModule1。ModuleInformation中選擇Sharedobject,其中Shared選項表示模塊共享,我們一般選擇此選項,如果你做的是一個可執(zhí)行的程序,如你的模塊只有一個main函數(shù),你就可以選擇Excutable,點擊OK。彈出下面的產(chǎn)生文件對話框,你點擊OK,就創(chuàng)建了一個新的Module,此時的文件視圖如下:下面講解插入資源,即菜單、對話框等。右鍵點擊MyModule1.m,選擇將其設(shè)為啟動項目。選擇文件—ADDCAAV5Item—CATIAResource—CATIAPattern。彈出InsertCATIAPattern對話框,選擇Workshop,點擊OK,彈出CreateWorkshop/Workbench對話框。其中WorkObjecttype可以是Workshop或者Workbench,這里我們選擇創(chuàng)建Workbench,輸入WorkObjectName為MyWorkbench,AssociatedWorkshop選擇PRDWorkshop,即為Product空間。在新創(chuàng)建的Workbench中,會包含Product空間的一些基本標(biāo)準(zhǔn)命令,如插入產(chǎn)品等。如果輸入的是Part空間,則會包含Part空間的一些基本命令。接著點擊Next,彈出下圖對話框,不用選擇直接點擊Next,彈出的對話框是讓你選生成類的前綴,可以不用去管,然后點擊finish彈出生成文件對話框,點擊OK,即完成配置。完成配置后即可看到文件視圖變化如下:更新工程刪除多余的文件和修改mk文件。在完成以上工作后,工程樹的目錄下并沒有剛才建立的workbench,此時點擊project->SelectCAAV5Projects,彈出下面對話框:選中所有復(fù)選框,點擊OK完成對工程的更新,在總目錄下也可以看到建立的workbench;刪除最開始創(chuàng)建的module,并在工程文件夾下將其刪掉。在更新一次工程,不會出現(xiàn)刪掉的module文件即可;(該module的作用是過度,在創(chuàng)建workbench添加pattern時,需要在module下才能添加)工程配置至此CATIA二次開發(fā)的workbench建立完成,但是進行開發(fā)時還有文件需要配置;IdentityCard.h的配置在工程FrameWork的框架下有一個IdentityCard的文件夾,里面有一個IdentityCard.h文件,該文件包含的的是新建工程所調(diào)用的CATIA的內(nèi)部組件,要在這里面聲明,否則在編譯時會出現(xiàn)錯誤。:示例代碼如下:Makefile文件的配置:在后面創(chuàng)建的模塊(Module)都是單獨或是合作完成某一項功能,在每個模塊下都有一個Makefile文件;makefile定義了一系列的規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,至于進行更復(fù)雜的功能操作。在該文件里面也要添加該模塊所連接的模塊,作用于C++的頭文件類似。其示例代碼如下:打開你的工作空間所在目錄,找到你建立的frame框架文件夾,然后打開刪除里面的第一次建立的Module,這里就是MyModule1.m,同時刪除PublicInterface文件夾下對應(yīng)的建立的module的頭文件,這里就是MyModule1.h。修改.mk文件,因為里面未包含CATIAPRDWorkshopConfiguration.h這一個頭文件的Module,以寫字板方式打開MyFrame1-MyWorkbench.m中的Imakefile.mk文件后在后面添加下面代碼:LINK_WITH=$(WIZARD_LINK_MODULES)\

CATPrsWksPRDWorkshop(注意:每用一個新的API都得在相應(yīng)的module下的Imakefile.mk添加其所在的模塊名,在frame下的Identitycard.h里添加其所在的frame名。)(3)指定你的菜單出現(xiàn)位置,打開MyFrame1/Cnext/resource/msgcatalog下面的MyWorkBench.CATRsc文件,修改MyWorkbench.Category="Infrastructure";里面引號里面的內(nèi)容為MechanicalDesign,也就是變?yōu)镸yWorkbench.Category="MechanicalDesign",這樣你的菜單就出現(xiàn)在“機械設(shè)計”里面了。(注意:在定義資源時,同一個frame下的所有資源都放在Cnext/resource/msgcatalog:在文件MyWorkBench.CATINs中,可以定義此Workbench以及其工具條、菜單的所有名字(Title),定義格式為:MyWorkbench.Title="MyWorkbenchtitle";在文件MyWorkBench.CATRsc中,可以定義此Workbench的圖標(biāo)(Icons)和其放置路徑(Category)。前者咱不說明,后者說明如下:MyWorkbench.Category="Infrastructure",其中Category可以為:Infrastructure,MechanicalDesign,Shape,…….。分別對應(yīng)于已有的Workshop。在文件:MyFrame1.dico中(CNext\code\dictionary),定義了此workbench的連接庫)下面進行編譯調(diào)試,在編譯之前先更新一下運行環(huán)境,選擇Create/UpdateRuntimeView,彈出CreateRunTimeView對話框。選中第一個Copyfileonlyiftimestampisdifferent,點擊OK即可。設(shè)置MyFrame1設(shè)置為啟動項目。接著調(diào)試mkmk,項目-mkmk,調(diào)試成功后,設(shè)置啟動程序路徑,點項目->(當(dāng)前工程)屬性,快捷鍵ALT+F7然后是配置屬性->調(diào)試->命令,這時點“瀏覽”,選擇工程所在目錄下的($工程目錄)\inter_a\bin\CNEXT.exe。最后,調(diào)試程序,按Ctrl+F5即可,需等待幾秒,啟動CATIA較慢。管理CAA文檔使用objectModelerBase框架的標(biāo)準(zhǔn)接口,必須要創(chuàng)建session。Session對象管理所有打開的文檔,因此應(yīng)該存在于所有文檔加載之前,變成需要包括的文件有CATSessionServieces和CATDocumentServices如何創(chuàng)建Add-in在創(chuàng)建完framework之后,再創(chuàng)建一個新module,其中創(chuàng)建extensionclass,在文件-AddCAAV5item-Componentextension,如下圖所示,Searchworkspace:D:\CATIA\B19,下面取消searchinprerequisiteframeworkonly的勾選,栓新后選擇CATIPrtCfgAddin接口。其余具體的操作在file:///D:/CATIA/B19/CAADoc/Doc/online/CAACenV5Default.htmCreatinganAdd-inProvidingtheResourcesYoushouldprovidetheresourcesforthetoolbar,themenuandforallitscommands.Theyareclassifiedintothefollowing:Thetoolbar'stitle.TheCreatingResourcesforWorkshopsandWorkbenchesarticledetailsalltheresources[HYPERLINK"D:\\CATIA\\B19\\CAADoc\

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論