第一课使用SolidWorks宏录制工具.docx
《第一课使用SolidWorks宏录制工具.docx》由会员分享,可在线阅读,更多相关《第一课使用SolidWorks宏录制工具.docx(31页珍藏版)》请在冰点文库上搜索。
第一课使用SolidWorks宏录制工具
第一课_使用SolidWorks宏录制工具
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具.........................................................1
1(宏命令的相关介绍..........................................................................................2
2(利用宏命令建立一个宏文件.......................................................................3
3(理解录制的程序代码.....................................................................................7
4(了解SolidWorksAPI的调用.......................................................................8
5(程序参数的传递..............................................................................................9
FeatureManager:
:
FeatureExtrusion...................................................................10
6(程序代码的整理............................................................................................11
7.程序的调试......................................................................................................12
8(程序的增加功能操作...................................................................................16
练习1录制宏程序.............................................................................................21
练习2增加VBA按钮代码.............................................................................22
练习3从VBA窗口中输入参数....................................................................24
第一课使用SolidWorks宏录制工具
学习本课后,你能达到下列能力:
理解宏是什么,能做什么,什么情况下可以使用宏命令。
了解宏工具条上的每个按钮的作用。
可以利用VBA程序录制一个程序并编辑相应代码。
自定义宏命令按钮,并利用创建的按钮运行宏录制的程序。
通过宏录制命令和运行宏程序,你可以理解按扭和键盘的作用。
你可以知道一个宏命令是如何启动一个进程,怎样与SolidWorks程序进行连
接,又是如何调用SolidWorks的对象和方法。
你可以利用录制的宏程序提高设计能力。
你可以调试一个宏程序。
你可以利用窗口或对话框来控制宏程序的相关参数。
SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材1(宏命令的相关介绍
1(1(宏录制:
你能够利用宏录制命令在SolidWorks环境中录制SolidWorks的相关操作,并可以调用SolidWorksAPI接口提供的所有对象、方法及属性,也可记录SolidWorks环境中的鼠标、菜单和键盘操作。
1(2(宏工具条:
在SolidWorks环境中提供了一个宏工具条,它主要
是宏操作的命令按扭,当然你也可以从“工具”,“宏操作”
来运行这些命令。
缺省状态下,宏工具条是不可见的。
你可以移动鼠标到任一工具按扭上面,单击右键,选择“宏”,则宏工具条就会显示在SolidWorks环境中;当然后,你也可以从“工具”,“工具栏”选择“宏”。
运行命令:
当你运行此命令时,SolidWorks将会弹出一个打开文件对话框,提示选择宏文件(后缀名为SWP),然后自动运行选择文件中的代码。
:
此命令在没有进行录制的状态下为不可用,只有在录制状态可用。
停止命令
运行此命令后,SolidWorks会自动停止程序代码的录制,并弹出一个存盘对话框,提示输入相应的文件,然后以输入的文件名保存录制的内容。
录制/暂停命令:
你可以利用此命令在SolidWorks环境中进行录制,同时在录制过程也可停止录制或继续录制。
新建命令:
此命令表示不通过SolidWorks录制功能直接建立一个宏文件。
一般情况下,利用此命令建立宏文件有三个步骤:
首先,运行此命令输入有效的文件名;第二步,输入标准的编程代码(VBA语言)或从其他文件导入;第三步,利用“运行”命令调试代码直至无误。
此命令一般只针对了解SolidWorksAPI、VB或VBA的人员。
编辑命令:
此命令可以编辑或浏览选择的宏文件代码。
自定义宏按扭命令:
在“工具”,“自定义”,“命令”,“宏”下拖动一个自定义按扭到任一工具条下面,选择一个图形文件作为按钮的图标,同时选择一个宏文SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材件,输入相关的帮助信息和提示信息,则可以为自己的宏文件建立命令按钮。
2(利用宏命令建立一个宏文件
2(1启动SolidWorks并建立一新的零件
建立此零件文件,主运用缺省的单位mm。
2(2(显示宏工具条
选择SolidWorks菜单下的“视图”,“工具条”,“宏操作”,然后宏工具就会显示出来。
2(3(运行宏工具条上的“录制/暂停”命令。
2(4(选择前视平面。
2(5单击草图绘制
2(6单击圆
划好圆后,在特性管理器页面的圆半径,然后回车。
SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材
2(7单击基体拉伸
在特性管理器页面的深度进行设置,然后确定。
2(8(单击停止。
SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材2(9存盘宏文件
在弹出的宏文件存盘对话框内输入文件名为“宏1.swp”,然后确定。
2(10删除所有建立的特征包括草图
2(11单击运行,选择“宏1.swp”。
2(12自定义命令按钮
从菜单“工具”,“自定义”,“命令”下面选择“宏”,然后选择自定义按钮,拖动到宏工具条中去。
注意:
你可以把自定义按钮拖动到任一工具条里面。
2(13定义宏命令按钮
当你拖动自定义按钮到其他工具条上面后,SolidWorks会弹出定义此命令按扭的设置对话框。
“选择图像”从SolidWorks安装目录下选择“\data\usermacro
icons\trash.bmp”,当然,你可以选择自己定义的图形,但不要太大,否则按钮图SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材标会很难看。
“工具提示”和“提示”下面分别输入“圆柱体”和“自动建立圆柱体”。
“宏”选择录制的宏文件“宏1.SWP”,然后方法自动显示,在这里我们默认。
快捷键可以进行设置,也可以不设置。
2(14自定义命令按钮的测试
命令按钮建立完成后,显示状态;移动鼠标到此按钮下显示,然后删除当前文件的所有特征后,单击此命令按运行程序,运行的结果如2.11,但没有提示选择宏文件。
2(15进入VBA编程器
单击编辑按钮,你进入VBA编程器里面,修改或浏览录制的程序代码。
SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材
通过上述系列操作,我们已经成功地录制了一个宏文件,并建立了相关的命令按钮。
3(理解录制的程序代码
宏录制的程序代码可能与你需要的程序不一致,你可以启动VBA编程器进行修改,当然,你必须能够明白程序代码的含义和作用,你才能进行有效地修改。
下面我们针对录制的程序代码,进行一一说明。
3(1变量描述
一般情况来讲,一个程序的各个变量在代码运行前要进行声明,同样SolidWorks宏程序也不例外。
下列代码是SolidWorks宏录制自动建立的变量描述。
DimswAppAsObject‘swApp声明为对象,表示SolidWorks应用程序
DimPartAsObject‘Part声明为对象,表示SolidWorks零件环境
DimboolstatusAsBoolean‘boolstatus声明为布尔值
DimlongstatusAsLong,longwarningsAsLong这两个变量为长整型‘
声明为对象,表示SolidWorks特征数据DimFeatureDataAsObject‘FeatureData
声明为对象,表示SolidWorks特征DimFeatureAsObject‘Feature
声明为对象,表示SolidWorks装配体的组件DimComponentAsObject‘Component
3(2程序入口
每个宏程序必须有一个程序入口,如SubMain()。
SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材3(3与SolidWorks程序建立连接关系
SetswApp=Application.SldWorks是宏程序与SolidWorks建立连接的桥梁代码,得到的应用程序作为对象传送给Part,没有这条代码宏程序不能运行。
3(4与SolidWorks下面的各个工作环境建立连接关系
SetPart=swApp.ActiveDoc是宏程序与SolidWorks中的零件环境建立连接关系的桥梁代码,得到的当前工作环境作为对象传送给Part;这条代码也不能少,否则不能运行。
3(5SolidWorksAPI功能的调用
SolidWorks允许宏程序调用它的API功能,宏调用SolidWorksAPI功能的方法与其他编程语言调用的方法一样,实现同样的功能和操作。
下列是宏程序调用SolidWorksAPI功能的代码:
3(7宏程序的结果
宏程序的结果和VB语言的结束是一样,用代码EndSub表示。
4(了解SolidWorksAPI的调用
通常情况下,SolidWorksAPI的调用是指调用SolidWorks的事件、方法、属性及相关功能,SolidWorksAPI有自己的调用方法及调用顺序,请参考“SolidWorksAPI和插件帮助主题”。
下面介绍一下SolidWorksAPI功能调用的步骤:
4(1SolidWorks应用程序对象
SolidWorks应用程序对象(在宏程序里面声明为swapp,当然你可以声明为其他变量)是所有调用SolidWorksAPI功能的最顶层,要调用SolidWorksAPI的其他功能,必须先调用此对象。
SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材语言代码描述说明VBADimswappasobject或Swapp可以声明为不
DimswappAsSldWorks.SldWorks明对象,也可以声明为
Setswapp=Application.SldworksSolidWorks对象。
在对象调用时,高级语VB或其他语言Dimswappasobject或
言调用的是DimswappAsSldWorks.SldWorks
SolidWorks类。
宏语Setswapp=Getobject(,”Sldworks.
言调用的是当前类。
Application”)
4(2SolidWorks工作环境对象
SolidWorks工作环境对象是指的是零件环境、装配环境、工程图环境及没有环境四个状态,它仅处于SolidWorks应用程序对象下,要调用SolidWorksAPI功能必须在调用SolidWorks应用程序对象后调用此对象;一般情况来讲,得到的SolidWorks工作环境对象主要是当前活动的工作环境。
(关于SolidWorks工作环境对象的对象请参考“SolidWorksAPI和插件帮助主题”。
)本课录制的SolidWorks工作环境对象是零件环境对象,表示如下:
DimPartasObject或DimPartAsSldWorks.ModelDoc2
SetPart=swapp.ActiveDoc‘当前活动的工作环境
4(3其他SolidWorksAPI功能的调用
一旦上述两个对象调用之后,我们就可以调用SolidWorksAPI提供的其他功能如事件、属性、方法及相关函数。
有返回值的SolidWorksAPI:
boolstatus=Part.Extension.SelectByID("前视","PLANE",0,0,0,False,0,Nothing)
直接调用SolidWorksAPI:
Part.InsertSketch2True
Part.ShowNamedView2"*上下二等角轴测",8
需要增加参数的SolidWorksAPI:
Part.CreateCircle0,0,0,0,0.04,0
需要增加对象的SolidWorksAPI:
Part.FeatureManager.FeatureExtrusionTrue,False,False,0,0,0.015,0.01,_
False,False,False,False,0,0,False,False,False,False,1,1,1
5(程序参数的传递
调用SolidWorksAPI功能时,许多方法和属性都必须传递给程序一些参数,否则程序不能正常运行,下列针对FeatureManager:
:
FeatureExtrusion的参数传递作SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材一介绍,其他SolidWorksAPI功能请参考“SolidWorksAPI和插件帮助主题”。
FeatureManager:
:
FeatureExtrusion
pFeat=FeatureManager.FeatureExtrusion(sd,flip,dir,t1,t2,d1,d2,dchk1,dchk2,
ddir1,ddir2,dang1,dang2,offsetReverse1,offsetReverse2,translateSurface1,
translateSurface2,merge,useFeatScope,useAutoSelect)
输入:
(VARIANT_BOOL)sdTRUE单向终止,FALSE双向终止
输入:
(VARIANT_BOOL)flipTRUE反向切除
输入:
(VARIANT_BOOL)dirTRUE反向拉伸
输入:
(long)t1第一个方向终止类型swEndConditions_e:
swEndCondBlind=0
swEndCondThroughAll=1
swEndCondThroughNext=2
swEndCondUpToVertex=3
swEndCondUpToSurface=4
swEndCondOffsetFromSurface=5
swEndCondMidPlane=6
swEndCondUpToBody=7
输入:
(long)t2第一个方向终止类型swEndConditions_e:
swEndCondBlind=0
swEndCondThroughAll=1
swEndCondThroughNext=2
swEndCondUpToVertex=3
swEndCondUpToSurface=4
swEndCondOffsetFromSurface=5
swEndCondMidPlane=6
swEndCondUpToBody=7
输入:
(double)d1第一个方向拉伸的深度(单位为米)
输入:
(double)d2第二个方向拉伸的深度(单位为米)
输入:
(VARIANT_BOOL)dchk1TRUE允许第一个方向有拔模,FALSE不允许。
输入:
(VARIANT_BOOL)dchk2TRUE允许第二个方向有拔模,FALSE不允许。
输入:
(VARIANT_BOOL)ddir1TRUE第一个方向向内拔模,FALSE向外拔模输入:
(VARIANT_BOOL)ddir2TRUE第二个方向向内拔模,FALSE向外拔模输入:
(double)dang1第一个方向的拔模角度
输入:
(double)dang2第二个方向的拔模角度
输入:
(VARIANT_BOOL)如果在第一个终止方向选择从其他实体面或平面进行偏移,则
offsetReverse1True表示偏移的方向远离草图,False表示反向偏移。
输入:
(VARIANT_BOOL)如果在第二个终止方向选择从其他实体面或平面进行偏移,则
offsetReverse2True表示偏移的方向远离草图,False表示反向偏移。
SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材输入:
(VARIANT_BOOL)当你在第一个方向选择swEndcondOffsetFromSurface作为终止
translateSurface1条件时,则TRUE表示终止条件是拉伸到规定的参考面,FALSE
表示终止条件是拉伸到规定的真实的面上。
输入:
(VARIANT_BOOL)当你在第二个方向选择swEndcondOffsetFromSurface作为终止
translateSurface2条件时,则TRUE表示终止条件是拉伸到规定的参考面,FALSE
表示终止条件是拉伸到规定的真实的面上。
输入:
(VARIANT_BOOL)mergeTRUE多个实体零件进行合并,FALSE不合并。
输入:
(VARIANT_BOOL)TRUE表示特征只影到选择的实体,FALSE所有实体。
useFeatScope
输入:
(VARIANT_BOOL)TRUE表示自动选择所有实体,并影响它们,FALSE只选择实体
useAutoSelect并影响它们。
输出:
(LPFEATURE)pFeat返回特征对象。
6(程序代码的整理
SolidWorks宏录制的程序代码比较混乱,而且有些代码是多余的,虽然不影响程序的运行,但是它们要占用内存空间并影响浏览和调试,所以经过宏录制的程序一般情况下要进行整理。
下面是宏录制的宏代码:
分析上面的代码,1-7表示声明变量,其中5-7的变量在程序后面的代码没有使用,是多余的;8行为程序入口;9-11行是程序运行的代码,不能去除;12-13行表示选择“前视基准面”面,不能去除,根据SelectByID的API说明,可以修改;14行表示插入草图,不能去除;15行表示清除选择,可以去除;16行表示通过两SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材点创建一个圆,但是我们输入的40mm没有起作用,进行修改;17表示整个视图以上下二等角轴测显示,可以保留,也可以去除;18-19表示清除当前操作和选择圆,可以去除;20-22行表示通过拉伸创建圆柱体,可以根据FeatureExtrusion的API说明进行修改;23行表示选择轮廓,可以去除;23行表示程序终止。
另外可以根据需要添加一此注解说明,以便程序的维护。
根据以上原则进行修改的代码如下:
7.程序的调试
得到SolidWorks应用程序对象及当前活动的工作文档
创建半径为40mm的圆
创建15mm高的圆柱体特征
无论是自己编制代码或利用宏录制工具进行录制的代码,很多情况下不能满足编程人员的需要,这些你可以对代码进行调试,以确定哪些代码需要进行修改。
下列介绍一下SolidWorksVBA编程器的调试方法。
7(1增加程序断点
在程序的入口处的左边(灰处)单击鼠标左键。
7(2调试宏程序
SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材
单击运行,运行宏,宏程序会自动运行到断点处停止。
7(3开始调试程序
按键F8,程序会运行到下一行代码处。
按键F8
按键F8,按键F8,并移动鼠标到boolstatus处
按键F8,并移动鼠标到boolstatus处
按键F8,并观察到SolidWorks环境下草图已经执行,代码运行到下一行。
SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材
按键F8两次,已经SolidWorks环境下创建了一个中心在原点、半径为40mm的圆,视图以上下二等轴图显示,代码运行到下一行的下一行。
SolidWorksAPI官方培训教材
第一课使用SolidWorks宏录制工具SolidWorksAPI官方培训教材
按键F8,程序创建圆柱体,并运行到最后一行。
按键F8,结束程序。
注意:
在调试的过程,你可以