-
引言
使用场景:
使用CATIA对数模数据进行修改与调试后,会涉及到后续CATIA设计表单独导出指定编号的零件。
工作效果:
此过程十分繁琐,重复性极高,在消耗大量工作时间的同时,处理的效果也不尽人意。
程序说明:
本程序基于VBS、CATIA宏指令进行修改,旨在解决繁琐、复杂的重复性工作,减少工作时间、增进工作的效率、提高工作的质量。
-
程序
Language="VBSCRIPT"
rem ###此程序采用VBS语言,为CATIA录制的宏程序进行改编,需根据不同的CATIA文件进行更改,rem为注释内容###
Sub CATMain()
Set partDocument1 = CATIA.ActiveDocument
Set part1 = partDocument1.Part
rem ###CATIA设计表选择采用序列号作为变量,设置变量"i"与变量"a"(a=i+1),便于后续的自动化处理###
dim i,a
rem ###赋值过程###
i=1
a=2
dim oExcel,oWb,oSheet,Filename
rem ###创建虚拟的Excel表格###
Set oExcel= CreateObject("Excel.Application")
rem ###导入需要的Excel表格###
Set oWb = oExcel.Workbooks.Open("此处输入Excel的绝对地址")
rem #选择Excel中的Sheet
Set oSheet = oWb.Sheets("此处输入Excel_Sheet的命名")
rem ###循环语句,130为"截至序列号"(Excel中存在数据的最后一行)###
while i<130
rem ###调出设计表###
Set relations1 = part1.Relations
Set designTable1 = relations1.Item("此处输入设计表命名")
rem ###选择对应的序列号###
designTable1.Configuration = i
rem ###更新CATIA程序###
part1.Update
rem ###调整CATIA三维视角###
Set specsAndGeomWindow1 = CATIA.ActiveWindow
Set viewer3D1 = specsAndGeomWindow1.ActiveViewer
Set viewpoint3D1 = viewer3D1.Viewpoint3D
viewer3D1.Reframe
Set viewpoint3D1 = viewer3D1.Viewpoint3D
rem ###调出保存选项_"另存为"###
Set partDocument1 = CATIA.ActiveDocument
rem ###提取Excel单元格的信息,为避免导出Filename的单元格,添加变量"a"###
Filename = oSheet.Range("此处输入Excel列的字母"&a).Value
rem ###设置绝对路径、命名、格式(&为字符串连接)###
rem ###绝对路径,以"C:\Users\Drowmy\TEST"为例,读取为文件,非文件夹绝对路径,更改为"C:\Users\Drowmy\Desktop\TEST\"###
partDocument1.SaveAs "此处输入输出文件夹的绝对路径"&Filename&".CATPart"
i=i+1
a=a+1
wend
End Sub
rem ————更新2024.4.26————
rem #更新内容:新增提取Excel表格信息进行命名功能
rem #为便于程序运行的流畅性,将更新内容置于程序前端
rem ————更新结束2024.4.26————
rem ###在更改变量"i"时,若设计表中存在error(报错、无法执行),则程序会进行中断,因此建议先对设计表进行修正###
rem ###程序的局限性:1.经过大量的导出后,系统会变得卡顿 2.对于有空缺的设计表,宏会执行对应的程序,会产生报错"ERROR",因此在使用该程序时必须保证设计表的完整性!###
rem ————更新2024.4.30————
rem ###更新内容:增添程序提示:1.采用VBS语言!!!不是VBA!!!CATIA能使用VBS!!!2.绝对路径的提示###
-
强调
- 此程序的基础语言为VBS,最好具备一定编程与CATIA基础再进行修改!
- 经过大量导出后,系统会变得卡顿(具体原因未知)!
- 在CATIA设计表中,在连续性的导出过程下,不可以存在数据的空缺!!!宏指令在执行时,会产生报错"Error",解决方案:1.调整Excel中的数据,使其能够连贯运行;2.保证设计表数据的完整性。
-
拓展
由于文件导出的要求不一致,可使用VBS语言对此程序进行修改,以达到正确执行的效果。
###本程序由drowmy进行编写,程序转载需要进行标出引用###