本文包括以下内容:
- Automation(以下简称自动化)与CAA的区别
- 用C#创建Automation根对象的代码
Automation文档的使用方法
以下是正文
Automation(以下简称自动化)与CAA的区别
相比CAA开发,COM自动化接口的好处在于:
- 不需要购买安装CAA
- 因为是基于COM组件调用进行开发,所以可以用任何(高)版本VS进行开发,有更好的智能感知和代码提示
- CAA开发中涉及大量复杂的设计模式,而且必须用C++开发,编译环境也必须是达索提供的编译环境,而自动化开发可以基于C++,也可以使用CLR语言如C#、http://VB.NET,开发难度大大降低,可以非常非常顺手的写图形化程序,可以在同一个工程中同时用C#、VB、C++/CLI开发,这非常酷
- 开发前准备只需要安装CATIA和IDE如VS2015、而且接口一定程度上能够实现跨版本。
相比CAA开发,COM自动化接口的不足在于:
- 自动化只能实现CATIA本身各个模块能够做到的工作,比如你有一万个法兰需要批量打孔,甚至根据不同大小的法兰和受力打不通数量的孔,自动化接口都可以胜任。但如果你想要在一个曲面上求空间上从一个点出发经过曲面反射到另一个点的所有反射点,因为这样的工作CATIA本身做不到,自动化就难以胜任了。
- 自动化开发还有个缺点是:不能像CAA一般,开发嵌入CATIA的可交互的程序(感谢题主补充)。合理的使用自动化提供的select方法可以实现简单的选择或选择集交互,更复杂的拖动乃至子视图树状图什么的开发只能靠CAA
所以自动化接口能够胜任80%的自动化工作,其他的只能靠CAA。

本文介绍了CATIA的Automation与CAA开发的区别,并详细阐述了如何使用C#创建Automation根对象,以及自动化文档的使用方法。自动化开发适用于大部分CATIA任务,但无法实现CAA那样的交互式功能。提供了一段C#初始化CATIA对象的代码示例,并分享了相关资源链接。

1万+

被折叠的 条评论
为什么被折叠?



