0前言
目前,针对企业产品特点开发自定义的CAD系统已成为众多企业考虑的问题。CATIA是法国达索系统公司的CAD/CAE/CAM一体化软件,在世界 CAD/CAE/CAM领域中处于领先地位。CATIA被广泛应用于航空航天、汽车制造、造船、机械制造等行业。它的集成解决方案覆盖所有的产品设计与制 造领域,满足了工业领域各类大、中、小型企业的需要。世界上已有超过13 000个用户选择了CATIA ,其中包括波音、克莱斯勒、宝马、奔驰、本田、丰田等著名企业。波音公司用CATIA完成了整个波音777的零件设计和电子装配,创造了业界的一个奇迹, 从而也确立了CATIA在CAD/CAE/CAM行业的领先地位。
二次开发是对软件进行用户化和专业化的有效手段,它可以使软件更好地为用户服务,这对提高工作效率和工作质量有着不可低估的作用。CATIA提供了多种二 次开发的接口,其中包括自动化对象编程( VS Automation)和开放的基于构件的应用编程接口(CAA)。
本研究通过对CATIA中的ActiveX Automation技术的分析,结合实例给出利用VB对CATIA进行二次开发的方法。
1 Visual Basic
Visual Basic是Microsoft公司推出的面向对象的可视化编程工具。VB具有快速的程序开发环境,界面设计操作简单,代码编写量小,用户可以很方便地直 接改动界面。由于CATIA加人了ActiveX自动化服务功能,而VB又是最为常用的支持ActiveX技术的开发工_具,以它作为开发工具,可使 CATIA与其他Windows程序的数据共享变得非常容易。
1.1 ActiveX Automation技术及其工作机制
ActiveX Automation是一套微软标准,以前通常称为OLE Automation,该标准允许通过外显(exposed)的对象,由一个Windows应用程序控制另一个Windows应用程序。Windows自 身允许在同一时间内执行多个应用程序,ActiveX Automation则主要处理它们之间的通信问题,每一个应用程序都可以访问其他应用程序所暴露的信息。
ActiveX Automation所涉及的一个主要问题是两个应用程序之间的对话问题,但两个应用程序之间并不是一种对等的关系。ActiveX Automation和每个部分所涉及到的两个应用程序所起的作用是不同的。客户机是对话的发起端,而服务器则是对话的响应端,对客户机作出响应。 ActiveX Automation代码主要在客户机上运行,但其功能是在服务器实现的。
每个ActiveX Automation操作过程都分3步:当有一个应用程序耍进行ActiveX Automation操作时,该程序就以客户机模式进行对话呼叫,而另一个被它所访问的应用程序以服务器的模式响应。对话开始后,客户机模式应用程序运行 一些包括服务器命令的代码。在使用时,则由客户机应用程序决定具体使用哪个命令。于是ActiveX Automation的相应命令被传送到服务器模式应用程序,服务器模式应用程序按照客户机模式应用程序的要求完成特定的任务。客户机模式应用程序可以继 续发出其他的执行命令,直到整个任务完成为止。
CATIA支持ActiveX Automation标准,可完全实现ActiveX Automation自动化。
1.2利用ActiveX Auto进行CATIA二次开发
在VB中,可以通过使用CATIA实体的库文件编写CATIA的二次开发程序,其一般步骤如下:
(1)应用CATIA部件;
(2)定义CATIA对象模型;
(3)编写CATIA应用程序。
2用VB创建CATIA应用程序
笔者所介绍的程序是一个用VB开发CATIA程序的参考模型,也是一个比较通用的开发模式。下面举例说明在VB环境下怎样利用ActiveX技术进行CATIA的二次开发。
这个例子是在CATIA中创建符合要求的成型立辊三维视图。
2.1编程思路
从VB连接到CATIA,主要是使用CreateObject和GetObject函数,创建获得对ActiveX对象的引用,其实现代码如下:
连接到CATIA之后,就可以对CATIA进行操作。
2.2具体步骤
(1)运行VB 6. 0,系统会弹出"New Project",对话框,从"New"选项卡中选择"Standard EXE"选项,单击"打开"按钮创建新工程。选择"Project/Reference"菜单项,系统会弹出一个对话框,从对话框列表中选择所有以 CATIA开头的库选项,单击"OK"按钮。
(2)在系统自动添加的窗体Form 1中,添加控件。在窗体的初始化事件中,为各个文本框添加默认参数值,如图1所示。
(3)在窗体的通用代码区,声明用于进行计算和与CATIA进行数据传递的公有变量。
(4)窗体中"绘图"按钮的单击事件,其作用是与CATIA建立连接,并且在图形窗口中绘制成型立辊的三维视图。三维视图的生成采用先生成草图sketch,接着在设定旋转轴线后再旋转的方法。
2.3实例效果
在VB6.0的开发环境中,按下F5键运行程序,系统将弹出成型立辊对话框,如图2所示。
适当调整成型立辊的参数值后,单击"绘图"按钮,系统会自动打开CATIA在CATIA未运行的情况下,并在图形窗口中绘制成型立辊图形,如图3所示。
3结束语
在VB中通过创建程序进行参数化设计,其目的是对已有的零部件图形进行局部尺寸修改,以产生符合设计要求的新图形文件。
本研究阐述了利用VB对CATIA零件设计进行二次开发的一些关键技术,并用一个实例加以详述,对于欲利用VB对CATIA进行二次开发的工程技术人员有 很好的借鉴作用。在熟练掌握CATIA软件功能的情况下,通过对其展开深人研究,任何人都可以开发出适用于本单位和个人习惯的工具,为提高工作效率和产品 质量服务。