前两篇我们已讨论了转换问题,本篇涉及到具体的转换并不多,而是介绍SolidWorks的另一个有用的工具—宏。其实,其他SolidWorks的操作也可以如此简化的。
你是否觉得,每次转换的时候很繁,需东点西选,经常容易搞错另存为的格式,讨厌的映射文件每次出现,等待你更改?下面我们摆平它!
1.在SolidWorks 中操作:文件/另存为,选择保存类型为DWG或DXF,点击选项,出现“输出选项”对话框,选择“每次保存时不显示映射”,重新输出一遍。使映射设置对话框在输出的时候不再显示。
2.在SolidWorks中操作:工具/宏操作/录制
3.把输出DWG文件的操作再来一遍。然后操作:工具/宏操作/停止,会出现宏的“另存为”对话框。
4.取名保存宏。
5.操作:工具/宏操作/编辑,选择我们刚才保存的宏。VBA打开了宏。
可以看见我们刚才执行的操作是把打开的工程图保存成一个aaa.DWG文件。
如果打开其他SolidWorks工程图bbb,执行这个宏,结果会把这个图转换成DWG文件,但文件名仍然是aaa.dwg,这当然不行,我们来改进一下。
6.把全部代码删除,输入以下代码:(直接从网页拷贝、粘贴吧,保证不会错)
Dim swApp As Object
Dim Part As Object
Dim Filename As String
Dim No As Integer
Dim Title As String
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Filename = Part.GetPathName()
No = Len(Filename)
Filename = Left(Filename, No - 7)
Part.SaveAs2 Filename & ".DWG", 0, True, False
Title = Part.GetTitle
Set Part = Nothing
swApp.CloseDoc Title
x = MsgBox(" 已保存为 DWG 文件 ", 0)
End Sub
7.解释一下代码的功能,熟悉VB的朋友可以跳过此部的分析,直接看下一段。
A部分:定义变量。让程序以相同的文件名把DWG文件保存在SolidWorks工程图相同的文件夹内。(如果SolidWorks工程图文件名为:XXX. SLDDRW则AutoCAD图纸的文件名为:XXX.DWG)。此部分不可删除和省略。
B部分:转换完成后关闭SolidWorks工程图,这对同时需转换大量的工程的话十分有用。如果你转换后不想关闭图纸的话,删了它。
C部分:转换后出现一个信息框:“已保存为DWG文件”。增加这个部分的原因是因为:实现一键操作后,如果一次需转换大量的图纸,转换时太爽了,有时按键按得太快,系统有时会“发病”。如果把“已保存为DWG文件”换成:"文件已转成:"&Title &".DWG" 。
信息框就输出转换后的文件名。
在这里,你可能觉得没用,但如果你在C部分后再增加一个D部分:打开同目录中的下一个工程图,用循环语句全部转换,可以同时转换成千上万个工程图,没有C部分来检查和监测一下,你根本不知道程序运转到什么地方了,还以为死机了呢。
你觉得没用的话也可以删了它。
8.记住:上一行的东西千万不能粘贴在代码里。
9.直接关闭VBA宏编辑器,在更改的时候它会自动保存。所已在更改的时候要小心点。
10.添加“宏”TOOLBAR,一键搞定它。操作:工具/自定义,出现“自定义”对话框;选命令/宏,把右面的人头小图标往你需要的工具栏上拖,松手,出现“自定义宏按钮”对话框;按右边的文件选择按钮,出现“宏路径”对话框
11.选择我们刚才编辑过的宏文件,按“打开”;此时你可以在“自定义宏按钮”对话框中设置“快捷键”,这对经常要用到转换的朋友也十分有用。此时也可以用“选择图象”给此按钮换一个与众不同的图标。
12.点击“确定”,再确定。
13.好了!现在打开一张工程图,点击刚才拖出来的按钮,DWG输出一键结束。
|