一、背景
CATIA是当今工业领域内领先的三维CAD软件,通过对CATIA的二次开发,可以对特定功能和需要进行定制,并且无缝嵌入到CAITA中。
二、二次开发框架
CATIA提供了AutomationAPI组件和组件应用架构(CAA,Component Application Architecture)两种开发模式。细分的话,其实可以分成四种:Automation API(自动化组件),KonwledgeWare(智能构件),Interactive User Defind Feature(UDF)和CAAC++/Java API(CAA)。
2.1 Automation组件
Automation API具备与任何OLE所兼容的平台进行通讯能力,自动化(Automation)组件使用VBScript作为编辑工具。通过宏录制功能(Macro Record),可以记录用户的操作过程并自动生成VBScript代码。这种方式比较简单,在CATIA环境就中可完成。
2.2 组件应用架构(CAA)
CAA采用组件对象模型(COM)和对象的连接和嵌入(OLE)技术,COM作为一种软件架构具备了更好的模块独立性、可扩展性,使CAA的程序设计更加容易且趋于标准化,使程序的代码更加简洁明了。在CATIA运行的情况下,外部进程可以通过访问COM组件实现对CATIA的操作,如创建、修改CATIA环境和几何形体的数据、尺寸等。这种方式主要使用C++作为开发语言。
2.3 COM组件调用(C#)
C