SOLIDWORKS二次开发入门(VBA)


1.如何创建VBA程序

作为solidworks二次开发入门的工具,首选VBA,VBA的简单易上手是作为SW二次开发入门的首选,并且sw直接点击录制就可获取绝大多数的API,当我们不知道怎么去找这个API的时候可以先录制,然后再去APIhelp中寻找,大大降低学习难度,下面我们先讲解关于VBA开发SOLIDWORKS的基础语法,让你没有任何功底也可以读懂一个VBA程序。当然了如果既想要看得懂又想要能自己写,学一下VBA的语法还是很有必要的。

进入sw后点击工具,宏就是我们的VBA了,这些按钮的具体功能和使用方法看名字就知道了,一

般都是使用录制功能进行VBA程序的创建,点击录制后去运行SW就会自动生成代码,并且这个程序直接就是一个完整的一个VBA程序(宏程序);

 1.1点击录制

1.2点击新建按钮,选择零件模板

1.3点击停止

1.4将文件保存

1.5点击编辑,将刚刚保存的文件打开,就可以看到下面的代码

' ******************************************************************************
' C:\Users\AppData\Local\Temp\swx21056\Macro1.swb - macro recorded on 06/10/23 by 
' ******************************************************************************
Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.NewDocument("C:\Users\Desktop\新建文件夹\零件.prtdot", 0, 0, 0)
swApp.ActivateDoc2 "零件1", False, longstatus
Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
End Sub

下面我们来分析一下主要的代码:

程序自动生成的创建属性:

' ******************************************************************************
' C:\Users\AppData\Local\Temp\swx21056\Macro1.swb - macro recorded on 06/10/23 by 
' ******************************************************************************

定义部分,就是说这个变量是啥东西,像第一个swApp定义成了一个系统变量,boolstatus是一个布尔变量,longstatus和longwarnings定义成一个长整型

Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

程序主体部分,sub是程序开头,main是主函数的意思,end sub是程序结束,其中程序主体这两个是比较常用的搭配,swApp经过第一个步骤的时候就将SW整个程序给获取到了,

Part这个语句就把当前活动的文档给获取到了,我们就能对当前文档进行操作了

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc

1.2调试程序

1.2.1首先要把调试工具调出来,在程序编辑界面上方右键点击勾选调试,就能出现调试工具,我们主要使用但不调试功能

1.2.2 将刚刚录制新建的零件关闭,调试窗体缩小,将鼠标焦点点击到程序主体中间,然后进行单步调试

 黄色光标为运行的代码位置,我们可以每运行一步然后看每一步具体的操控什么,这样可以知道API的具体效果了,就比如下面的代码就创建了一个新的零件

Set Part = swApp.NewDocument("D:\SolidWorks模版\零件.prtdot", 0, 0, 0)

 

 1.3 更改程序

 当光标运行结束后我们的程序就运行完成了,如果我们要重复多遍这个步骤那就加一个for循环,将我们要运行的重复代码放for循环里,这样一个需要重复的工作就可以用宏完美解决了,下面我们就做一个循环程序来创建多个零件。

' ******************************************************************************
' C:\Users\AppData\Local\Temp\swx21056\Macro1.swb - macro recorded on 06/10/23 by
' ******************************************************************************
Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = Application.SldWorks
For X = 1 To 10
Set Part = swApp.NewDocument("D:\SolidWorks模版\零件.prtdot", 0, 0, 0)

Set Part = swApp.ActiveDoc
Part.SaveAs ("D:\SolidWorks模版\零件\" & X & ".SLDPRT")
Next
End Sub

怎么样,是不是很简单,当然我们还是得学一下VBA语法才行,VBA和VB的基础语法基本相同,可以去快速学习一下vb的语法,这里推荐B站up教达优的脚程,简单易懂,一两天就能学会VB

轻松入门快乐编程之VB程序设计(vb考试救急,文科生也能学会的Visual Basic教程,轻松过二级vb,零基础vb速成)_哔哩哔哩_bilibili