以批处理模式运行CATIA宏脚本应用探析.doc
文本预览下载声明
以批处理模式运行CATIA宏脚本应用探析摘要:运用CATIA脚本进行自动化操作,可以省去繁杂的手工劳动,更快速的完成工作,同时发生错误的概率降低、纠正错误更容易。在批处理模式下,脚本运行更快,占用资源更少。本文通过实例展示了批处理模式运行CATIA宏脚本的一般流程。
关键词: CATIA;自动化;批处理;宏脚本
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 16-0000-02
CATIA为我们提供了多种运用编程手段获取CATIA对象进行自动化操作的方法。CATIA对象在进程外可以通过OLE自动化对象来访问;在进程内则可以直接通过宏脚本来访问。进程内的自动化操作时,宏脚本和CATIA在同一进程内,通过CATIA的脚本引擎来运行宏脚本。本文将着重介绍这种方法。
1 宏脚本的生成和编辑
启动CATIA v5r19,选择工具-宏-宏库,弹出对话框,单击“宏库”选择脚本的存储位置。选择“VBA项目”。选择编辑如图1所示
可以采用录制和手动编辑的方式生成VBA宏脚本。录制也是宏脚本代码的重要来源。方法为选择工具-宏-启动录制,选择“VBA项目”,完成后保存即可。
2 宏脚本的批处理运行方式
编辑完成后将宏脚本保存在合适的位置,单击开始-运行,输入
CNEXT -batch –macro 文件地址.catvba 模块名。
以批处理运行宏脚本,由于不显示人机交互界面,在对多个独立文件操作时,会缩短每个文件的操作时间,减少占用的系统资源。CATIA会话会在宏脚本结束后自动结束,不需要人工干预。在某些任务中,这正是我们所需要的,下面将举例说明。
3 批处理方式运行宏脚本应用实例
假设需要统计一批用CATIA二维图纸定义的零件中,哪些零件用了哪些规格的2024铝材。我们可以选择人工操作统计。步骤为:打开二维图纸?在零件表中寻找带有“2024”字样的材料信息?记录到EXCEL表格中?关闭图纸。如此反复循环。我们也可以采用宏脚本自动完成这些操作。主要代码如下:
......
UserForm1.Show 0
str2=”2024”
For intIndex = 1 To objFOLDER.Files.Count
UserForm1.Label5.Caption = intIndex
Set objfile = objFOLDER.Files.Item(intIndex)
If UCase(Right(objfile.Name, 11)) = “.CATDRAWING” Then
cao = cao + 1
excel.DisplayAlerts = False
excel.Visible = False
drawing_number = UCase(Left(objfile.Name, Len(objfile.Name) - 11))
Set objDwgDoc = CATIA.Documents.Open(objfile.Path)
UserForm1.Label10.Caption = objDwgDoc.Name
For j = 1 To objDwgDoc.Sheets.Count
Set objsheet = objDwgDoc.Sheets.Item(j)
For k = 1 To objsheet.Views.Count
Set objview = objsheet.Views.Item(k)
For L = 1 To objview.Texts.Count
Set OBJTEXT = objview.Texts.Item(L)
If InStr(OBJTEXT.Text, str2) 0 Then
con = con + 1
UserForm1.Label12.Caption = con
STR_ABS = OBJTEXT.Text
excel.Worksheets(1).Cells.Range(”A” con).Value = objDwgDoc.Name
excel.Worksheets(1).Cells.Range(”B” con).Value = objsheet.Name
excel.Worksheets(1).Cells.Range(”C” con).Value = objview.Name
excel.Worksheets(1).Cells.Range(”D” con).Value = STR_ABS
......
由上节可知,因为需要频繁的打开、关闭图纸,即更新图形交互界面,为了提高运行效率,应采用批处
显示全部