想要提高SolidWorks使用效率,了解宏程序是必不可少的一步。
一、前言
今天先教大家简单了解一下宏程序,以及怎么使用它。看完本篇文章,即使你没有任何编程基础,也能做出一些简单的宏程序来提高效率。后面我也会经常给大家分享一些十分有用的宏。
那我们开始吧。
宏程序是VB语言脚本,它可以调用SolidWorks提供的API来完成对SolidWorks软件的一些操作。
二、典型痛点案例
来看一个简单的例子。
我们工程师日常出完工程图,大部分都需要将它们转成PDF和DXF格式的文件。现有的很多插件都有批量转换格式的功能,我也经常使用。
但是有另外一种情况,在一段时间内成为了我的痛点,那就是改图的时候。当你设计结束、加工完成、进入组装阶段,或多或少有一些零件需要变更。有时候变更的数量只有那么三四个,出完这三四个零件的图后,我已经不想再去启动插件,我只想出完一张图立马转格式打印,避免注意力分散。
可是每张图转换两种格式,鼠标要点好多下,非常难受。这个时候就需要宏程序来帮我做这些简单却繁琐的任务了。
三、通过录制宏来获取代码
最简单的编写宏程序的方法是录制宏。
我们点击录制宏进入录制状态

进行正常另存为操作,将工程图另存为PDF,点击保存

点击停止录制,给宏文件取个名字保存到合适位置后会自动弹出代码编辑界面,留意一下这里生成的代码。



用相同的方法录制一个DXF的保存宏,得到下面这样的代码。

录制下下来的宏,在编辑界面内点击运行,就会执行另存为的操作,而且另存为的路径和文件名就是括号的内的路径和文件名和文件格式。其他部分都是可以不变的,比如你可以尝试把第一次录制好的pdf宏,红框内最后三个字母改为dxf或者dwg,执行之后他就会把当前活动的工程图文件另存为dxf或者dwg。
这里要解释一下:当前活动文件,就是你当前solidworks界面显示的文件

再尝试一下在一个宏内执行两次另存为呢?

你会发现,执行一次就把pdf和dxf都转出来了
但是现在有一个问题,路径是固定的,用于其他工程图的时候,执行这个宏时还是会按照这个路径来另存。那绝对不是我们想要的对吧?所以我们需要把这个路径字符串改为一个变量。
四、修改代码
思路是这样的:我们先读取当前活动工程图文件的完整路径,显然读取到的是类似于这样的一个字符串D:\项目\S26003 编带机\1.设计文件\1.设计模块\28081-03-18 阻挡立板.SLDDRW,然后对读取到的字符串稍微处理一下,把后缀的那几个字母改成我们想要的pdf 或者dxf。这样的话每次执行宏程序都会在工程图所在的文件夹里生成一个同名的pdf或者dxf文件
读取文件路径和处理字符串需要一点点的vb基础和solidworks api的基础,暂且不急说明。目前只需要知道getPathName是solidworks api内提供的获取文件路径的一个方法就行。
ai时代编程变得简单,但是你仍然需要知道哪些事情是程序能做的,大概是怎么做的。别担心,随着我们公众号分享的深入,你会越来越多的了解solidworks api能做哪些事(其实他几乎可以做所有事)。这样你在寻求ai的帮助的时候才能有的放矢,清晰的表达自己的思路。
好,最终我们把代码改成这样,其中绿色字体是我为零基础朋友写的注释

这是文本,你可以直接粘贴到你的vba编辑界面里,按下F5执行测试看看
Option Explicit Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim sPathName As String Dim sPathName1 As String Dim sPathName2 As String Dim bRet1 As Boolean Dim bRet2 As BooleanSub main() Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc sPathName = swModel.GetPathName sPathName = Left(sPathName, Len(sPathName) - 6) sPathName1 = sPathName + "pdf" sPathName2 = sPathName + "dxf" bRet1 = swModel.SaveAs3(sPathName1, 0, 2) bRet2 = swModel.SaveAs3(sPathName2, 0, 2)End Sub
五、使用宏
到这里你应该对宏程序有了大概的认知:它就是用VB写的、能够自动执行SolidWorks命令的一段程序。当你发现自己一直在机械重复地点击SolidWorks的按钮时,就要审视一下这些重复动作是不是能用宏来执行了。
此时还有另外一个问题:程序是写好了,怎么能快速地用它呢?总不可能每次要用的时候都要打开这个编辑界面吧。
那我们就要用到宏按钮功能。
点击小齿轮旁边的三角形 →自定义→命令→宏→新建宏

按住宏按钮往工具栏上拖。拖到工程图界面,那就是激活工程图环境的时候按钮才会出现;其他环境也是一样。拖到最上面(工具栏区域),那么任何时候都会出现。
松开鼠标后会出现一个弹窗,选择之前写好的宏文件即可

最后我们给它设计一个简洁明了的图标吧。bmp格式,像素尽量用16x16

右击刚刚的宏按钮,添加图标文件

最后的效果就是这样啦

每次你需要单个转图时,点击这个小图标就可以瞬间完成两个格式的转换。
OK,今天的分享就到这里。喜欢的话可以点赞、收藏、转发,您的支持对我非常重要。
你在工作中还遇到哪些痛点?可以在评论区留言,说不定就可以利用宏程序来解决。
关注本公众号,获取更多效率知识。
夜雨聆风