一、背景
CATIA是当今工业领域内领先的三维CAD软件,通过对CATIA的二次开发,可以对特定功能和需要进行定制,并且无缝嵌入到CAITA中。
二、二次开发框架
CATIA提供了AutomationAPI组件和组件应用架构(CAA,Component Application Architecture)开发模式。
2.1 Automation组件(VBScript)
Automation API具备与任何OLE所兼容的平台进行通讯能力,自动化(Automation)组件使用VBScript作为编辑工具。通过宏录制功能(Macro Record),可以记录用户的操作过程并自动生成VBScript代码。这种方式比较简单,在CATIA环境就中可完成。
2.2 COM组件调用(C#)
CATIA安装后会注册相应的COM组件,COM作为一种软件架构具备了更好的模块独立性、可扩展性。在CATIA运行的情况下,外部进程可以通过访问COM组件实现对CATIA的操作,如创建、修改CATIA环境和几何形体的数据、尺寸等。通过C#可添加需要的COM组件引用可完成对CAITA的二次开发。
2.3 组件应用架构(CAA)
CAA为主要的开发方式,安装CAA后安装路径下会提供头文件和库文件,通过达索提供的RADE辅助开发工具来搭建CAA开发环境,这种方式主要使用C++作为开发语言。
三、CAA+RADE
3.1 配置开发环境
需要:CATIA、CAA接口、CAA RADE(版本对应)、Visual Studio。
3.2 CAA RADE
RADE是在Visual Studio基础上专门针对CAA开发的辅助集成开发环境,可以理解为CAA开发的IDE。
3.3 CAA接口库
CAA接口包括了达索提供的可使用的CATIA接口(头文件、库文件等),其实就是SDK。
3.4 百科全书
对于CAA开发,最基础也是最常用的帮助文档便是百科全书。
百科全书路径:Root_Dir\CAADoc\Doc\online\CAACenV5Default.htm
对AutomationAPI组件来说,其帮助文档为:Root_Dir\win_b64\code\bin\V5Automation.chm
四、开发模式
4.1批处理模式
批处理模式,即在不启动CATIA的情况下运行的程序。
4.2交互式模式
交互式模式,即在CATIA下运行的程序。