1 引言
CATIA是一款集计算机辅助设计、制造、分析于一体的功能强大的软件,其设计平台多达60多个,贯穿了产品生产的全过程,广泛应用于机械、飞机、汽车、造船和其他电子机械产品行业。二次开发技术提高了软件的用户化和专业化程度,它可以利用软件的扩展功能,更好地为客户服务,提高了工作效率的同时,也提升了产品的质量。CATIA提供了诸多的二次开发接口,以及支撑这些接口的开放式的内部程序,给用户进行产品的二次开发带来了方便。本文结合CATIA的二次开发技术,以齿轮为实例,采用VB系统设计符合用户工作习惯的界面,完成宏程序的执行,可以方便快速地生成几何形体。
2 CATIA二次开发技术介绍
CATIA提供的二次开发的接口包括自动化编程(v5 Automation)和开放的基于构件的应用编程接口(CAA)。CATIA提供的二次接口通过两种方式与外部程序进行通信:一种是进程内的应用程序方式(In-Process Application),另一种是进程外的应用程序方式(Out-Process Application)。
2.1 进程内的应用程序方式
进程内访问就是程序脚本和CATIA是在同一个进程内运行的,简单地说,是由CATIA自身的脚本来分析并执行宏脚本命令的。宏脚本有3种类型:VBScript、CATScript和VBA脚本。进程内的脚本可以兼容Unix和Windows平台。使用宏的方法为小型项目提供了一个快捷的途径,可以完成一些比较简单的二次开发,但是也具有一些局限性,比如功能有限,运行不方便,对话框等与CATIA界面风格结合的不好等。基于CAA组件应用架构的开发方式则可以解决这些问题。
2.2 进程外的应用程序方式
进程外访问就是CATIA作为一个OLE(Object Linking and Embedding,对象连接与嵌入)自动化服务器,不调用程序脚本的运行。外部程序通过COM接口与CATIA进行通信,可以用VBA脚本来访问CATIA,也可以在VB程序中访问CATIA。COM接口(Component Object Model,部件对象模型))是一种二进制语言兼容规范,它可以实现不同语言开发的组件之间的相互通信,使代码可以重复使用,提高了编程效率。采用CATIA V5的自动化应用接口和CAA V5的C++、Java应用接口,可以实现人工交互功能。自动化应用接口可以在操作界面调用VisualBasic系统的“InputBox”和“MsgBox”函数来获取用户的输入信息和输出结果,CAA V5则可以执行更多的交互命令,并在工作台将这些命令进行分组,给用户呈现一个快捷、精美的工作界面。
2.2.1 CATIA V5的自动化应用接口
Automation技术是建立在COM基础之上,由OLEAutomation发展而来的。Automation技术并不是直接获取和处理数据,而是利用一个应用程序对另一个应用程序进行操作,从而间接地利用组件对象的属性获取和处理数据。Automation技术包括server和client两个方面。Automation server是一个提供了Dispatch接口的COM组件,而Automation client则是一个通过Dispatch接口与自动化服务器进行通信的COM客户。如果我们把CATIA看成是一个server,那么应用程序则是client。CATIA Automation提供了许多进行二次开发的API函数,还有一些专用数据常量。API(Application Programing Interface,应用程序编程接口)是CATIA平台内预先编好的一组函数,实现与外界的通信功能,在Xl:Program Files\Dassauh Systemes\Bx2\iutel_a\code\bin目录下可以找到这些文件(X1为CATIA安装的盘符名称,X2为CATIA的版本号)。不同类型的CATIA文档对应不同的API函数。借助自动化技术,数据常量在外部应用程序和CATIA之间的传递过程,对应用程序来说是不可见的。
2.2.2 CAA V5技术
CAA采用面向对象的程序语言,而面向对象的程序设计因为其具有可复用性、抽象性、封装性等优点,已逐渐在软件开发领域中占据主导地位。CAA采用COM技术,它首先连接到CATIA的COM接口,然后调用CATIA最底层的API,运用OLE技术对组件对象进行程序集成并彼此进行连接,使COM对象具备了更好的模块独立性和可扩展性,使CAA的程序设计趋于标准化,程序的代码更加简洁。
3 齿轮的参数化设计
利用Visual Basic进行CATIA二次开发时,为了简化程序的编制,以及充分利用CATIA提供的二次开发功能,往往需针对零件利用CATIA的宏录制方法获取零件建模所需的宏命令,然后对所录制的宏命令进行相应的修改,例如增加零件参数变量设置、与数据库进行连接以获取零件结构参数等,这会节省很多时间。
3.1 齿轮参数化建模
齿轮的整个建模过程是基于参数化设计理念的,即将具有代表性的几何形状定义为特征,并将其所有尺寸设为参数变量,通过特征尺寸参数来生成特征实体,并以此为基础构造更加复杂的零件模型。参数化设计通常采用尺寸驱动法,即在保证零件的拓扑结构不变的情况下,把零件的尺寸参数定义为尺寸变量,并给出变量之间的约束关系。当给定不同的尺寸值时,便可得到一组结构相同而尺寸不同的零件。首先,将齿轮进行特征分解,根据CATIA的功能特点,确定各特征结构建立的顺序,每一次所建立的特征结构尽可能要简单、规范,从而使复杂的零件由一系列基本特征结构表示出来。在齿轮的参数化过程中,要按正确的顺序建立各个特征,否则可能导致在CATIA中生成的参数驱动的模型与实际产品的尺寸不符。在进行建模之前需要激活CATIA中的宏命令录制功能,即“工具——宏——启动录制”,以获得整个齿轮建模所需的宏命令流。模型建立完毕后.打开宏命令,并对其中涉及到的驱动尺寸进行参数变量设定,使程序通过用户自定义界面获得驱动尺寸参数值后,对标准模型之间的约束关系进行修改,从而改变特征的几何或拓扑信息,进而修改相关模型及其之间的关系,生成所需要的零件。
3.2 CATIA中齿轮参数化建模的实现
CATIA中实现参数化建模可以用参数、公式、表格、特征等驱动方式。在本文中利用用户参数和公式方法驱动图形。CATIA不仅具有系统默认的参数,还有用户自定义参数。开发人员通过用户自定义参数和公式的工具,可以方便、快捷地制定出满足客户个性化需求的各种各样的参数以及联系这些参数之间的公式。CATIA提供了以下诸多可供用户选择使用的参数:几何参数(如:点、线、曲线、曲面等)、物理参数(如:长度、质量、速度、温度、密度等)、无量纲参数(如:整数、实数)、字符型参数及布尔型参数等40多种类型的参数。用户自定义公式为CATIA中系统参数与用户参数之间的通信建立了枢纽。开发人员者可以通过创建用户自定义参数与三维模型特征参数之间的公式,使用户自定义参数驱动系统参数,进而控制图形的尺寸。
3.3 用户工作界面的设计
用户界面是实现人机交互的媒介,而一个友好的用户界面,能够使用户方便快捷地进行产品的设计与开发。使用VBA编程时,要按所实现的功能选择合适的控件对象,也要合理布局控件对象在窗体中的位置。进行界面设计时,主要就是把合适的控件按功能需要放到合适的位置并设置合适的属性,用户既可以保留VisualBasic系统为新创建的对象设置的属性默认值,包括对象的名称、颜色、大小、位置等,也可以根据自己的需要,通过属性窗口和代码窗口对属性进行修改。完成界面的设计后,对那些需要与外部信息进行交互的对象,如命令按钮、单选按钮、检查框、文本框等,就可以在代码窗口中编写程序,以此来告诉控件对象需要响应的事件。
3.4 齿轮参数化设计程序开发
首先,通过CATIA的知识工程模块,利用系统参数和公式,建立齿轮三维模型与数据间的关联,对数据进行分类和整理,把那些能够控制齿轮形状的数据进行参数化,通过对这些数据的更改实现齿轮模型的改变。采用VB语言编写控制程序,通过人工输入用户自定义参数,进行数据的传递,以生成满足条件的齿轮三维模型。齿轮设计程序界面如图1和图2。
图1 界面设计
图2 齿轮设计程序界面
生成的齿轮模型通过上述方法编写程序运行界面,输入齿轮的主要控制参数,就可在CATIA运行环境中生成齿轮的三维实体模型。
4 结语
在VBA语言的支持下,CATIA的所有模块的基本功能,都可以通过自身丰富的二次开发的接口实现,在产品的虚拟建模方面具有很大优势。从上述实例中也可以看出,基于CATIA二次开发平台的的齿轮参数化设计是完全可行的。用户确定好齿轮的主要参数后,通过对设计界面的简单操作,就可以实现齿轮三维模型的自动生成,省去了在CATIA中进行重复的手工操作,缩短了产品造型设计周期,提高了工作效率。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/