APP下载

基于VBS的CATIA二次开发在车身设计中的应用

2019-06-11吕奉阳申威韩强罗培锋

时代汽车 2019年3期
关键词:二次开发

吕奉阳 申威 韩强 罗培锋

摘 要:为了减少重复设计,提高工作效率,对CATIA二次开发进行了研究。介绍了CATIA二次开发的基本流程,采用VBS编写了批量导入坐标点、批量创建焊点球面、批量更改零件颜色和图纸链接替换等应用实例代码。通过应用实例,验证了CATIA二次开发的实用性和高效性。

关键词:VBS;CATIA;二次开发;车身设计

1 引言

车身设计过程中,经常遇到一些重复性工作,例如将坐标点信息从EXCEL导入CATIA,焊点设计时将坐标点生成球面,统计车身材料分布时将零件用不同颜色区分,零件号更改后图纸链接失效导致重新出图。这些工作内容本身并不复杂,由于坐标点数量多,焊点数量多,车身零件多,图纸信息量大,导致工时增加,影响工作效率及开发周期。为了减少重复设计工作量,提高工作效率,CATIA二次开发日益受到重视。

2 理论介绍

2.1 VBS脚本语言

VBS全称Microsoft Visual Basic Script Edition,即微软公司可视化BASIC脚本版。VBS是基于Visual Basic的脚本语言,是Visual Basic的一个抽象子集,是Windows系统内置的,用它编写的脚本代码不需编译成二进制文件,直接由Windows系统执行。

VBS脚本不需使用专业的编程软件,应用Windows系统自带的记事本即可。将程序代码输入到记事本里面,然后保存为以.vbs为扩展名的文件。双击VBS文件名即可执行程序。

VBS语法简单,灵活高效,功能强大,可以使工作任务自动化,可以让设计师从重复琐碎的工作中解脱出来,提高工作效率。基于以上特点,本文采用VBS脚本进行CATIA二次开发。

2.2 CATIA V5 Automation

CATIA提供了两种编程接口,一种是自动化对象编程(V5 Automation),一种是开放的组件应用架构(CAA)。CAA功能全面,稳定性好,适合深层次的CATIA二次开发,但是对开发人员的要求较高,需要使用专业的编程软件及工具。V5 Automation是基于COM技术的编程接口,描述了CATIA二次开发编程对象架构,包含不同接口中每个对象的方法属性等详细信息,是进行CATIA二次开发的重要参考资料。本文采用基于V5 Automation 的CAITA的二次开发方法,使用VBS作为编程语言。

2.3 CATIA二次开发流程

CATIA二次开发的目的是满足产品设计自动化需求。所谓CATIA二次开发,就是利用CATIA提供的API接口进行程序设计开发,拓展CATIA软件功能,实现软件功能个性化和操作自动化。

进行CATIA二次开发,首先要了解CATIA V5 Automation API的基本架构,掌握常用对象的属性和方法。CATIA V5 Automation对象架构如图1所示。

CATIA二次开发的过程可以理解为:用户为实现某种功能,根据需要合理地调用V5 Automation提供的类、库的属性和方法以及二次开发函数。CATIA中的每个功能(包括零件设计、曲面设计、装配设计、工程制图等)以及所有的实体特征(包括草图特征、修饰特征、曲面特征、变换特征、组合特征等)都有相应的类、库支撑,因此CATIA二次开发的主要工作就是合理地调用V5 Automation API对象进行编程。对CATIA进行二次开发的基本流程如图2所示。

3 应用实例

3.1 批量导入坐标点

车身设计过程中,需要根据外部门的安装需求导入坐标点,产品接口控制文件一般采用EXCEL文件形式,坐标点位置通过xyz坐标值确定。设计时一般采用手工输入坐标值的方法导入坐标点。坐标点较多时,手工输入工作量较大,且容易出错。利用VBS批量读取EXCEL文件坐标值并导入CATIA,可以提高工作效率。

批量导入坐标点的基本流程如图3所示。VBS脚本代码如图4所示。

图5是EXCEL中的坐标点示例。A、B、C三列分别代表点的x,y,z坐标值。打开CATIA应用程序,进入零件设计或创成式曲面设计模块。打开包含坐标点的EXCEL文件:CreatPointFromEXCEL.xls。确认文件名及路径与VBS代码一致。双击执行VBS脚本,切换到CATIA应用界面,可以看到EXCEL坐标点已经批量导入CATIA,如图6所示。

3.2 批量创建焊点球面

汽车白车身一般由数百个钣金冲压件焊接而成,焊点设计是白车身设计的重要内容。在CATIA中,两层焊点一般采用半径3mm的绿色球面表示。白车身焊点设计的特点是建模简单,焊点数量多,重复性工作量大,适合采用二次开发进行批处理,提升建模效率。

批量创建焊点球面的基本流程如图7所示。VBS脚本代码如图8所示。

打开包含坐标点的CATIA文件,双击执行VBS脚本,在CATIA文件中选择包含坐标点的几何图形集,完成坐标点批量生成焊点球面如图9所示。

3.3 批量更改零件颜色

白车身包含数百个零件,设计过程中,一般采用不同颜色进行区分。实际应用过程中,为了统计镀锌板及非镀锌板,沿用件及专用件,高强度钢板应用分布,需要在总成数据中对零件颜色进行更改。

以高强度钢板应用分布为例,需要根据材料类别对零件进行区分并用不同颜色表示。本文采用欧洲车身会议采用的车身材料颜色代码定义,如表1所示。零件颜色更改的基本流程如图10所示。VBS脚本代码如图11所示。

图12是EXCEL中的零件颜色代码定义示例。A列表示零件号,B、C、D三列分别代表颜色代码的R、G、B数值。打开CATIA总成数据文件,打开包含零件颜色代码定义的EXCEL文件:Setcolor.xls。确认文件名及路径与VBS代码一致。双击执行VBS脚本,切换到CATIA應用界面,可以看到零件颜色批量更改结果如图13所示。

3.4 图纸链接替换

车身开发过程中,经常遇到由于设计变更或配置增加导致零件号更改的情况,零件号更改后导致2D图纸链接数据失效,图纸无法更新,重新出图需要将图纸信息重新标注一遍,对于复杂零件,重新出图工作量较大。利用CATIA二次开发,将原图纸链接数据替换为新数据,然后在原图纸上更新零件变化点的标注信息即可,可以提高出图效率。

图纸链接替换的基本流程如图14所示。VBS脚本代码如图15所示。

打开CATIA图纸,打开图纸链接数据,将CATIA当前工作视图切换到图纸。双击执行VBS脚本,弹出对话框如图16所示,输入链接数据序号,点击确定即可完成图纸链接替换。

4 结语

本文对CATIA二次开发技术进行了研究,介绍了VBS及CATIA二次开发技术的基本理论及开发流程,通过批量导入坐标点、批量创建焊点球面、批量更改零件颜色和图纸链接替换等实例验证了CATIA二次开发的实用性及强大功能。由于VBS脚本语言的局限性,实现可视化窗口界面比较复杂,交互体验较差,不适合复杂的CATIA二次开发。下一步研究方向是扩展CATIA二次开发的应用范围及实现方法,不局限于VBS脚本语言,进一步提高工作效率,提升设计质量。

参考文献:

[1]胡挺,吴立军.CATIA二次开发技术基础[M].电子工业出版社,2006.

[2]周桂生,陆文龙.CATIA二次开发技术研究与应用[J].机械设计与制造,2010(1):81-83.

[3]彭欢.基于V5 Automation的CATIA二次开发技术研究[J].电子机械工程,2012,28(2):61-64.

猜你喜欢

二次开发
初中生物教材插图的分类及二次开发
例谈对高中数学教材中习题的二次开发
浅谈CAD软件二次开发的方法及工具
例谈课本习题的“二次开发”
二次开发教材 拓展学生思维
浅谈AM系统铁舾建模的实用二次开发
高中物理教材导入的“二次开发”
单机游戏的二次开发