初識CAA

 

剛開始學習CAA不久,滿打滿算也不過30天。其中還要去掉出去玩的,心不在焉的,吊兒郎當的時間,真正用在學習上的時間就不多了。

 

CAADS公司正對於其一系列產品,egCATIAENOVIADELIMAetc,進行二次開發的一個環境。與VC結合的比較緊密。CAAV4是用於Unix/Linux的,到CAAV5才移植到Windows系統,但是V4V5不是簡單的版本升級,其實現方法上完全不一樣,甚至連數據格式都不一樣。比如說,CATIAV4的數據要想轉到V5版本中來,需要專用的工具進行格式轉換纔可以。

CATIA是一個很專業的用於三維設計的軟件,比Pro/EUG更好。我不是學機械設計的,所以我也不會用CATIA,也不會用Pro/EUG,好在哪裏我就更不知道了,只不過大家都這麼說罷了。DS的這一套東西用在飛機設計(波音,飛豹等)還有汽車設計領域比較的多,因爲專業,所以龐大?呵呵,確實比較大,基本都需要工作站以上的機子才能跑。當然價格也很昂貴,不是一般的小公司有能力買的。

 

學習CAA的過程就是整天啃CAA的那個Encyclopedia和“研究”CAA自帶的Case的過程,由於機械設計的專業知識缺乏,還是有點挑戰性的。

CAA的介紹和安裝在我收藏的一篇文章CAA及其應用》中已經有了詳細的介紹,另外還有一篇pdf文檔(暫時無法上傳)介紹了CAARADE最起步驗證是否安裝成功。其中在Create/Update Runtime View之後,還可以通過Tools->Open Runtime Window直接輸入exe的名字和參數也是可以運行的。

 

下面介紹一個具體的例子來說明工程中的每個文件是做什麼用的。

1、      拷貝CAAProductStructure.edu你的文件夾,然後通過CAA RADE打開這個Case編譯。

2、      File View標籤裏面可以看到一系列的文件。*.edu是一個Framwork(框架),*.mModule(模塊),Module下一層次纔是具體的CAA ClassComponentInterface等,整個層次就是這樣的三層結構。

3、      CAAProductStructure.edu files文件夾下面有三個子文件夾,ProductedInterfaces下存放一些頭文件,這些頭文件基本是模塊或者類、接口的頭文件,只是說明可以被框架裏的其他的類或者模塊調用。IndentityCard文件夾下含有IndentityCard.h文件,這個文件中聲明瞭這個框架中用到了哪些PrereqComponent(其實就是系統的框架),在開發過程中所用到的在這裏必須通過AddPrereqComponent包含。還有一個文件夾是CNext,用CAA RADE環境編譯後總會生成一個CNext.exe,這應該和這裏的CNext文件夾有些關係吧,其中resources毫無疑問是定義資源的文件夾,對話框、菜單、位圖等VC傳統的資源都在這可以定義。其中需要注意的是默認的資源語言是English,在其中有一個French的文件夾,這裏面定義了一套French的資源,如果添加一個Simplified_Chinese的文件夾,也可以定義一套簡體中文的資源,這些資源的加載都是自動識別的,和操作系統有關,當然也可以定義其他語言的資源,具體的還請察看EncyclopediaCode文件夾下是定義dicoiid的,這也是和CNext有關的,如果沒有這裏面的說明,編譯後運行CNext是沒有效果的,因爲和環境變量的那一套東西沒有加載。這個CNext文件夾,在運行Create/Update Runtime View菜單後會在intel_a文件夾下生成一套幾乎對應的東西,這一套是在運行的時候需要的,把intel_a文件夾複製添加到安裝CATIA的地方去,執行CNext就會自動啓動了開發以後的CATIA,這就使組件的奧祕吧,我也不太清楚。

4、      還有就是各個module的文件夾,下面有srcinterfaces分別包含了源文件和頭文件,不用解釋,每增加一個CAA Class或者Interface這裏就會對應的添加文件。需要注意的是Imakefile.mk文件,這是一個聲明動態鏈接庫的文件,用到的動態鏈接庫都需要在這聲明。

文件結構就是這個樣子。

 

使用CAA V5 Help Viewer可以給你很便捷的幫助,在CAA RADE環境中按Ctrl+F1鍵就可以打開Help Viewer。在Index下輸入你想要找的類或者函數都是可以的。比如說輸入CATIIner..就可以看到有接口出來了,這是一個讀取產品慣量(其實是質量、表面積、重心和慣量等)的接口,需要用到這個需要在FrameworkIndentityCard.h中添加SpaceAnalysisInterfaces這個框架,還要在用到的地方包含CATIInertia.h頭文件,在這個ModuleImakefile.mk中包含CATSaiSpaceAnalysisItf模塊。如果不包含框架和模塊會出現LNK2001錯誤,典型的有聲明找不到實現的錯誤。

 

在開始動手之前當然還要看懂提到多次的Encyclopedia了,這裏面有全面的介紹,有Index,還有Search。在動手之前,需要對各個模塊是做什麼用的有個大概的瞭解,還有把右下角的一個紅色的RADE先看一下,其中介紹的怎麼使用還是蠻詳細的,還有規定了一些規範,在編程過程中是實用的,不按照它的rules來,可能會遇到意想不到的錯誤。慢慢實踐,慢慢體會,知識源於積累的。

 

知道了文件結構和如果使用幫助,就可以開始嘗試慢慢的開發需要的東西了。

 

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