> 1.Automation的基于宏的也应该属于CAA下面吧?
> 我看CAA V5 Encyclopedia就是分为Automation Home和C++/Java Home
> 也就是说Automation也归于CAA下面?
應該說Automation底層也是透過CAA去完成他的功能的
換句話說, Automation是用CAA寫出來的
> 2.Automation开发等同于基于宏的开发吗?
功能的限制: CAA >> Automation
語法: C++ vs VB
> 3.VBA和Automation的关系是怎样的?他们应该是不同的
Automation的語法就是VB, 也就是說你可以透過VBA去執行Automation的功能
> 总之,我是想了解CATIA的几种二次开发方式的结构怎样,分为几类
其實正確的說法應該是分成四類:
CAAV5 C++, CAAV5 Automation, CAAV5 Java, CAAV5 Knowledgeware
他們都叫CAA or CAAV5, 只不過大家習慣上都只稱CAAV5 C++為CAA,
CAAV5 Automation就叫Automation...
總之都是以CAAV5 C++為基礎來延伸出一些subset
CAAV5 Automation就是CAAV5 C++的subset,
CAAV5 Java也是CAAV5 C++的subset...
至於CAAV5 Knowledgeware...我個人不認為他是一個開發工具啦...
因為他只是CATIA interactively操作上的一個功能罷了...
頂多你自己定一些formula...沒什麼太大義意...
所以當然CAAV5 C++功能最為完整...
基本上你在CATIA裡interactively辨的到的CAAV5 C++都辨的到
(當然有些DS內部的lib及resource沒有還是沒辨法啦)
你可以看Encyclopedia裡的structure, 就可以知道這三種各別函蓋了那些部份的功能.
至於他們的優缺點, 我簡單寫一下,
CAAV5 C++:
[優點]-->功能最強大, 切換不同版本orSP之間的相容性問題較小, 執行速度最快
[缺點]-->學習難度較高
CAAV5 Automation
[優點]-->簡單易學
[缺點]-->功能受限, 切換不同版本orSP之間的相容性問題很大(應該說他的API很愛變來變去...)
CAAV5 Java
....我沒用過不知道....
> 有人把catalog也算做CATIA二次开发而别把它和CAA、宏并列
應該是指Knowledgeware吧,
的確在DS的官方說法裡他們都是並列的...
你指的catalog...是指CATIA Knowledgeware裡用UDF時的catalog?...
還是是指UDF(User Defined Feature)?
(我記得有某個ptt有寫到開發工具的比較中也把UDF也列了進來,
指明了UDF是最貴,花最多時間的開發方式)
UDF只是開發的一個方法...自己寫catalog定義一個feature...
(只能用CAAV5 C++來寫)(CATIA interactive操作定出來的那個不算)
用底層的operator去算一些你自己想要的geometry出來
(打個比方, 大概就是開發一個GSD中的Loft...)
這個大概是做二次開發算最麻煩的一種方式了...
(不過最後出來的東西也較好用, 因為可以完整支援CATIA的操作...)
像是如果你需要開發一些特殊曲面的Feature...那就非得用UDF不可了...
以上個人淺見, 有錯還請指正.
SDK. |