APP下载

基于CATIA宏的零件属性自动添加方法研究

2012-05-08宋瑜郝泳涛

电脑知识与技术 2012年7期

宋瑜 郝泳涛

摘要:宏(Macro)是为了实现多任务执行的自动化而组合在一起的一系列的命令和指令。该文引入宏这一概念,并通过编程自定义宏来实现对零件属性的自动添加。基于宏的概念,该文提出一种基于CATIA宏的零件属性自动添加方法。该方法可以替代传统手动添加的方法,提高生产效率。

关键词:宏(Macro);CATIA;属性添加

中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)07-1659-03

The Methodology of Automatic Attachment of Attributions in Part Designing Based on CATIA Macros

SONG Yu, HAO Yong-tao

(CAD Research Center of Tongji University, Shanghai 201804, China)

Abstract: Macro is the combination of a series of commands and instructions, which are aimed at automation of executions of multitask. In this paper, the conception of macro is introduced and used to achieve the attribution attachment of parts by programming the custom macros. Based on the macro, a methodology of automatic attachment of attributions in part designing is proposed, which can replace the traditional and improve the efficiency.

Key words: Macro; CATIA; attribution attachment

随着计算机和数字控制技术的发展,计算机辅助设计及制造(CAD/CAM)已经广泛应用于产品设计和机械制造领域中。运用此法进行零件的设计和加工制造,能使企业提高设计质量,缩短生产周期,降低产品成本,取得良好的经济效益[2],CATIA给用户提供了从设计到制造的集成化数字环境,能够满足用户从设计到制造的复杂需求。

CATIA首次从工作站平台移植到个人计算机强力震撼CAD/CAM市场[1],由于它具有超强的知识工程和专家系统的功能,以及个性化的界面、智能型的功能操作,广泛应用于航天和汽车行业。

在汽车设计过程中,零件的许多自定义属性需要人为添加,但是汽车的零件数量庞大,类型众多,单独人工添加工作效率极低。本文作者讨论CATIA在Windows环境下的基于宏的自动添加零件属性,以便于后期提取BOM表。

以下文章中首先介绍CATIA中宏的定义和属性的添加,再以上海大众BOM表开发项目,来验证基于CATIA宏的自动添加零件属性的可行性。

1宏的定义

宏(Macro)是为了实现多任务执行的自动化而组合在一起的一系列的命令和指令。宏可以用下列几种脚本语言编写,具体则取决于操作系统,如BasicScript 2.2 SDK适用于Unix系统;如VBScript(Visual Basic的脚本语言)则适用于Windows NT系统;又如Jscript(JavaScript的一种应用)也适用于Windows NT系统[1]。

编程访问CATIA对象有如下两种方法:一种是进程内的,另一种是进程外的,本文所介绍的零件属性提取的程序采用的是进程内编程访问CATIA对象方法,进程内的宏脚本可以兼容Unix和windows平台,本文程序开发采用VBScript脚本类型,运行方式为从宏列表对话框中运行[2]。

2创建宏与运行宏

2.1创建宏

宏可用在各种软件之上,并且在其中的创建和运行过程大体类似。这里重点介绍宏在CATIA中的创建与运行过程。

创建过程:首先运行CATIA软件,新建一个文件,然后进入菜单项中的“Tools”,打开子菜单Macro下的Macros(或用快捷键AIt+ F8),此时出现一个窗口,如图1所示。

点击“创建”按钮,在宏名称下的编辑框中命名一个宏的名称,如“宏2”。然后点击“确定”按钮,此时就打开了宏编辑器窗口,如图2所示。

图1宏命令打开窗口

图2宏编辑器窗口

然后在此窗口的文本框内输入宏的代码并且保存,该宏就创建完成了。

2.2运行宏

首先选择需要运行的宏,由于宏既可保存于内部文件,也可保存于外部文件,所以首先在宏窗口的左下角的下拉框中选择是内部文件还是外部文件;如果是内部文件,则在宏窗口的文本框中会显示已创建的一系列宏,选择需要的宏,按下Run按钮,宏结果就可显示于窗口内;如果是外部文件,则选择宏窗口左侧的Select按钮,选择宏所在的文件目录,按下Run按钮,同样,宏结果也显示于

窗口内[1]。

3宏在CATIA中的应用

在汽车零件设计中,我们经常要给零件添加若干自定义属性,以方便后期BOM便提取,这是一件极其繁重的任务,经常用到的零件自定义属性如表1:

表1

本文采用的CATIA版本为V5R19,以下所有的论述和程序均是在此版本上编写和运行的。按照前一章节所述创建属性方法,在宏中添加如下代码:

Sub TreeIt(sPath)

……

For Each oSubFolder In oSubFolders //对目录进行遍历直至找到CATIA文件

……

Next

For Each oFile In oFiles

……

For Each product1 in products //开始添加零件自定义属性count = count + 1

Set parameters1 = product1.ReferenceProduct.UserRefProperties

Set strParam1 = parameters1.CreateString("件号", "")

strParam1.ValuateFromString ""

Set parameters2 = product1.ReferenceProduct.UserRefProperties

Set strParam2 = parameters2.CreateString("名称", "")

strParam2.ValuateFromString ""

Set parameters3 = product1.ReferenceProduct.UserRefProperties

Set strParam3 = parameters3.CreateString("材料", "")

strParam3.ValuateFromString ""

Set parameters4 = product1.ReferenceProduct.UserRefProperties

Set strParam4 = parameters4.CreateString("規格型号", "")

strParam4.ValuateFromString ""

Set parameters5 = product1.ReferenceProduct.UserRefProperties

Set strParam5 = parameters5.CreateString("主要尺寸", "")

strParam5.ValuateFromString ""

Set parameters6 = product1.ReferenceProduct.UserRefProperties

Set strParam6 = parameters6.CreateString("备注", "")

strParam6.ValuateFromString ""

Set parameters7 = product1.ReferenceProduct.UserRefProperties

Set strParam7 = parameters7.CreateString("类型", "")

……

Set parameters8 = product1.ReferenceProduct.UserRefProperties

Set dimension1 = parameters8.CreateString("重量", "")

dimension1.ValuateFromString ""

If count=1 then

Set relations1 = product.Relations

Set formula1 = relations1.CreateFormula("公式.1", "", strParam2, "`零件编号`") f

ormula1.Rename "公式.1"

End If

Next

……

End Sub

Sub CATMain()

Dim vInput

vInput = InputBox("选择工作目录","目录") If vInput <> -1 and vInput <> "" Then

TreeIt vInput//调用上面TreeIt子函数

End If

End Sub

然后保存并运行,便能实现对零件自动添加属性的功能。

4结束语

上述代码是核心代码,由于本项目涉及到其余实现目标,在此不详细列出。从以上案例可以看出基于CATIA宏的零件自定义属性自动添加是完全可行的。此法省去了众多重复的手工操作,缩短了汽车设计周期。由此可见,宏的使用可以加快产品设计研发周期,提升工作效率。随着CATIA功能的不断增强以及CATIA应用范围的不断扩大,宏作为一种必不可少的辅助功能,将不断拓展CATIA的功能。

参考文献:

[1]曾贞群.在CATIA中运用宏处理大量数据[J].CAD/CAM与制造业信息化,2003(6).

[2]蔡艳召,孔宪光,仇原鹰,张建丽.CATIA刀具库的建立技术研究[J].机床与液压,2008,36(4).