前段时间因为科研课题的需要,接触了CATIA二次开发,主要是用于自动建模。
CATIA二次开发有三种方式,VBScript/CATScript宏编程、基于CATIA Automation的二次开发、基于CAA的二次开发,复杂程度依次上升,功能越是依次上升。
宏编程的功能是很弱的,循环和逻辑语句没法实现。
VB6.0二次开发可以实现编程语言的大部分功能,对于本专业的同学而言,因为很多数采系统用的是VB6.0,所以对此语言比较熟悉,通过VB6.0编程,有利于课题组成员的后续维护。VB6.0二次开发最大的功能缺陷是,由于语言本身的限制,难以把程序封装为控制台应用程序,便于被其它程序调用,往往需要点一下。不过考虑到,自动参数化建模这个功能的使用频次并不是很高,所以人工点击一下好像也可以接受。
VB6.0二次开发的本质是通过VB6.0调用CATIA Automation 的COM接口,因此也可以通过Python调用win32com库,进行二次开发。使用Python开发的程序可读性更强,功能也更强大。缺点是不能像VB二次开发一样,把CATIA录制的操作宏修改以后作为程序代码,实现快速编程的目的。(参考CATIA小狼的《Python环境下 的 CATIA Automation 二次开发》)
CAA的问题在于除了需要安装CATIA以外,需要安装RADE和CAA这两个软件,完成开发环境。但是后两者的破解版,版本是很有限的。最流行的是R23版本的破解版。
对于不追求极致效率的开发而言,基于Python的二次开发可能是在上手难度和功能之间取得平衡的最好技术路径。