SolidWorks宏工具.docx

上传人:b****1 文档编号:14900631 上传时间:2023-06-28 格式:DOCX 页数:29 大小:1.62MB
下载 相关 举报
SolidWorks宏工具.docx_第1页
第1页 / 共29页
SolidWorks宏工具.docx_第2页
第2页 / 共29页
SolidWorks宏工具.docx_第3页
第3页 / 共29页
SolidWorks宏工具.docx_第4页
第4页 / 共29页
SolidWorks宏工具.docx_第5页
第5页 / 共29页
SolidWorks宏工具.docx_第6页
第6页 / 共29页
SolidWorks宏工具.docx_第7页
第7页 / 共29页
SolidWorks宏工具.docx_第8页
第8页 / 共29页
SolidWorks宏工具.docx_第9页
第9页 / 共29页
SolidWorks宏工具.docx_第10页
第10页 / 共29页
SolidWorks宏工具.docx_第11页
第11页 / 共29页
SolidWorks宏工具.docx_第12页
第12页 / 共29页
SolidWorks宏工具.docx_第13页
第13页 / 共29页
SolidWorks宏工具.docx_第14页
第14页 / 共29页
SolidWorks宏工具.docx_第15页
第15页 / 共29页
SolidWorks宏工具.docx_第16页
第16页 / 共29页
SolidWorks宏工具.docx_第17页
第17页 / 共29页
SolidWorks宏工具.docx_第18页
第18页 / 共29页
SolidWorks宏工具.docx_第19页
第19页 / 共29页
SolidWorks宏工具.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

SolidWorks宏工具.docx

《SolidWorks宏工具.docx》由会员分享,可在线阅读,更多相关《SolidWorks宏工具.docx(29页珍藏版)》请在冰点文库上搜索。

SolidWorks宏工具.docx

SolidWorks宏工具

SolidWorks宏工具

solidworksi

第一课使用SolidWorks宏录制工具

学习本课后,你能达到下列能力:

●理解宏是什么,能做什么,什么情况下可

运行选择文件中的代码。

停止命令

此命令在没有进行录制的状态下为不可用,只有在录制状态可用。

运行此命令后,SolidWorks会自动停止程序代码的录制,并弹出一个存盘对话框,提示输入相应的文件,然后以输入的文件名保存录制的内容。

录制/暂停命令

你可以利用此命令在SolidWorks环境中进行录制,同时在录制过程也可停止录制或继续录制。

新建命令

此命令表示不通过SolidWorks录制功能直接建立一个宏文件。

一般情况下,利用此命令建立宏文件有三个步骤:

首先,运行此命令输入有效的文件名;第二步,输入标准的编程代码(VBA语言)或从其他文件导入;第三步,利用“运行”命令调试代码直至无误。

此命令一般只针对了解SolidWorksAPI、VB或VBA的人员。

编辑命令

此命令可以编辑或浏览选择的宏文件代码。

自定义宏按扭命令

在“工具”,“自定义”,“命令”,“宏”下拖动一个自定义按扭到任一工具条下面,选择一个图形文件作为按钮的图标,同时选择一个宏文件,输入相关的帮助信息和提示信息,则可以为自己的宏文件建立命令按钮。

2.利用宏命令建立一个宏文件

2.1启动SolidWorks并建立一新的零件

建立此零件文件,主运用缺省的单位mm。

2.2.显示宏工具条

选择SolidWorks菜单下的“视图”,“工具条”,“宏操作”,然后宏工具就会显示出来。

2.3.运行宏工具条上的“录制/暂停

”命令。

2.4.选择前视平面。

2.5单击草图绘制

2.6单击圆

划好圆后,在特性管理器页面的圆半径

,然后回车。

2.7单击基体拉伸

在特性管理器页面的深度进行设置

,然后确定。

2.8.单击停止

2.9存盘宏文件

在弹出的宏文件存盘对话框内输入文件名为“宏1.swp”,然后确定。

2.10删除所有建立的特征包括草图

2.11单击运行

,选择“宏1.swp”。

2.12自定义命令按钮

从菜单“工具”,“自定义”,“命令”下面选择“宏”,然后选择自定义按钮

,拖动到宏工具条中去。

注意:

你可以把自定义按钮拖动到任一工具条里面。

2.13定义宏命令按钮

当你拖动自定义按钮到其他工具条上面后,SolidWorks会弹出定义此命令按扭的设置对话框。

“选择图像”从SolidWorks安装目录下选择“\data\usermacroicons\trash.bmp”,当然,你可以选择自己定义的图形,但不要太大,否则按钮图标会很难看。

“工具提示”和“提示”下面分别输入“圆柱体”和“自动建立圆柱体”。

“宏”选择录制的宏文件“宏1.SWP”,然后方法自动显示,在这里我们默认。

快捷键可以进行设置,也可以不设置。

2.14自定义命令按钮的测试

命令按钮建立完成后,显示状态

;移动鼠标到此按钮下显示

,然后删除当前文件的所有特征后,单击此命令按运行程序,运行的结果如2.11,但没有提示选择宏文件。

2.15进入VBA编程器

单击编辑

按钮,你进入VBA编程器里面,修改或浏览录制的程序代码。

通过上述系列操作,我们已经成功地录制了一个宏文件,并建立了相关的命令按钮。

3.理解录制的程序代码

宏录制的程序代码可能与你需要的程序不一致,你可以启动VBA编程器进行修改,当然,你必须能够明白程序代码的含义和作用,你才能进行有效地修改。

下面我们针对录制的程序代码,进行一一说明。

3.1变量描述

一般情况来讲,一个程序的各个变量在代码运行前要进行声明,同样SolidWorks宏程序也不例外。

下列代码是SolidWorks宏录制自动建立的变量描述。

DimswAppAsObject‘swApp声明为对象,表示SolidWorks应用程序

DimPartAsObject‘Part声明为对象,表示SolidWorks零件环境

DimboolstatusAsBoolean‘boolstatus声明为布尔值

DimlongstatusAsLong,longwarningsAsLong‘这两个变量为长整型

DimFeatureDataAsObject‘FeatureData声明为对象,表示SolidWorks特征数据

DimFeatureAsObject‘Feature声明为对象,表示SolidWorks特征

DimComponentAsObject‘Component声明为对象,表示SolidWorks装配体的组件

3.2程序入口

每个宏程序必须有一个程序入口,如SubMain()。

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的其他功能,必须先调用此对象。

语言

代码描述

说明

VBA

Dimswappasobject或

DimswappAsSldWorks.SldWorks

Setswapp=Application.Sldworks

Swapp可以声明为不明对象,也可以声明为SolidWorks对象。

在对象调用时,高级语言调用的是SolidWorks类。

宏语言调用的是当前类。

VB或其他语言

Dimswappasobject或

DimswappAsSldWorks.SldWorks

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功能请参考“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)sd

TRUE单向终止,FALSE双向终止

输入:

(VARIANT_BOOL)flip

TRUE反向切除

输入:

(VARIANT_BOOL)dir

TRUE反向拉伸

输入:

(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)dchk1

TRUE允许第一个方向有拔模,FALSE不允许。

输入:

(VARIANT_BOOL)dchk2

TRUE允许第二个方向有拔模,FALSE不允许。

输入:

(VARIANT_BOOL)ddir1

TRUE第一个方向向内拔模,FALSE向外拔模

输入:

(VARIANT_BOOL)ddir2

TRUE第二个方向向内拔模,FALSE向外拔模

输入:

(double)dang1

第一个方向的拔模角度

输入:

(double)dang2

第二个方向的拔模角度

输入:

(VARIANT_BOOL)offsetReverse1

如果在第一个终止方向选择从其他实体面或平面进行偏移,则True表示偏移的方向远离草图,False表示反向偏移。

输入:

(VARIANT_BOOL)offsetReverse2

如果在第二个终止方向选择从其他实体面或平面进行偏移,则True表示偏移的方向远离草图,False表示反向偏移。

输入:

(VARIANT_BOOL)translateSurface1

当你在第一个方向选择swEndcondOffsetFromSurface作为终止条件时,则TRUE表示终止条件是拉伸到规定的参考面,FALSE表示终止条件是拉伸到规定的真实的面上。

输入:

(VARIANT_BOOL)translateSurface2

当你在第二个方向选择swEndcondOffsetFromSurface作为终止条件时,则TRUE表示终止条件是拉伸到规定的参考面,FALSE表示终止条件是拉伸到规定的真实的面上。

输入:

(VARIANT_BOOL)merge

TRUE多个实体零件进行合并,FALSE不合并。

输入:

(VARIANT_BOOL)useFeatScope

TRUE表示特征只影到选择的实体,FALSE所有实体。

输入:

(VARIANT_BOOL)useAutoSelect

TRUE表示自动选择所有实体,并影响它们,FALSE只选择实体并影响它们。

输出:

(LPFEATURE)pFeat

返回特征对象。

6.程序代码的整理

SolidWorks宏录制的程序代码比较混乱,而且有些代码是多余的,虽然不影响程序的运行,但是它们要占用内存空间并影响浏览和调试,所以经过宏录制的程序一般情况下要进行整理。

下面是宏录制的宏代码:

分析上面的代码,1-7表示声明变量,其中5-7的变量在程序后面的代码没有使用,是多余的;8行为程序入口;9-11行是程序运行的代码,不能去除;12-13行表示选择“前视基准面”面,不能去除,根据SelectByID的API说明,可以修改;14行表示插入草图,不能去除;15行表示清除选择,可以去除;16行表示通过两点创建一个圆,但是我们输入的40mm没有起作用,进行修改;17表示整个视图以上下二等角轴测显示,可以保留,也可以去除;18-19表示清除当前操作和选择圆,可以去除;20-22行表示通过拉伸创建圆柱体,可以根据FeatureExtrusion的API说明进行修改;23行表示选择轮廓,可以去除;23行表示程序终止。

另外可以根据需要添加一此注解说明,以便程序的维护。

根据以上原则进行修改的代码如下:

7.程序的调试

得到SolidWorks应用程序对象及当前活动的工作文档

创建半径为40mm的圆

创建15mm高的圆柱体特征

无论是自己编制代码或利用宏录制工具进行录制的代码,很多情况下不能满足编程人员的需要,这些你可以对代码进行调试,以确定哪些代码需要进行修改。

下列介绍一下SolidWorksVBA编程器的调试方法。

7.1增加程序断点

在程序的入口处的左边(灰处)单击鼠标左键。

7.2调试宏程序

单击运行,运行宏,宏程序会自动运行到断点处停止。

7.3开始调试程序

按键F8,程序会运行到下一行代码处。

按键F8

按键F8,按键F8,并移动鼠标到boolstatus处

按键F8,并移动鼠标到boolstatus处

按键F8,并观察到SolidWorks环境下草图已经执行,代码运行到下一行。

按键F8两次,已经SolidWorks环境下创建了一个中心在原点、半径为40mm的圆,视图以上下二等轴图显示,代码运行到下一行的下一行。

按键F8,程序创建圆柱体,并运行到最后一行。

按键F8,结束程序。

注意:

在调试的过程,你可以返回上一行代码(用鼠标左键黄色箭头到上一行或前面几行)时,SolidWorks执行后的结果不能返回到原先的状态,所以你在进行这样的操作时,先到SolidWorks环境中利用返回命令回到需要的状态。

7.6程序的自动运行

当上述步骤满足需要时,在程序的入口处清除断点,按键F5,程序自动执行上述所有步骤。

8.程序的增加功能操作

我们编制的程序中的一些参数,很多时间需要进行交互式操作,利用上述的操作不能达到要求,这时,我们可给程序添加交互式操作的窗口或对话框。

8.1增加窗口

在SolidWorksVBA编程器里面,选择“插入”,“用户窗体”,这样窗口就加入到宏文件里面,然后编辑窗口的相关属性,Cation=创建圆柱体;(名称)=FrmMain。

8.2.增加各个命令控件

增加如窗口上面的按钮,并分别定义不同的属性。

CommandButton1:

(名称)=cmd100mm;

Cation=100mm

CommandButton2:

(名称)=cmd500mm;

Cation=500mm

CommandButton3:

(名称)=cmd1m;

Cation=1m

CommandButton4:

(名称)=cmd5m;

Cation=5m

CommandButton5:

(名称)=cmdexit;Cation=退出程序

Label1:

Cation=说明:

运行各个按钮你可以建立长度不同的圆柱体

8.3建立创建圆柱体的函数

双击“模板”下面的“宏11”,复制所有代码,然后双击窗口,粘贴代码,修改SubMain为FunctionCreateCylinders(lengthAsLong),同时修改0.015为length,并把特征建立的过程传给函数。

8.4编辑各个命令的代码

双击的每个命令控件,并编辑相应的代码。

8.5修改宏的代码

双击“模板”下面的“宏11”,修改宏代码,删除其他所有的代码,只保留程序入口和程序结果点,在二者之间加入代码,LoadFrmMain:

FrmMain.Show.

8.6存盘宏

在SolidWorksVBA编程器里面,点

保存当前所有编辑。

8.7运行当前修改的宏

你可以直接在SolidWorksVBA运行宏,也可以进入SolidWorks操作环境中运行自定义命令按钮

100mm

500mm

1m

8.8增加交互式窗口

再增加一个窗口,并定义相关的属性,(名称)=FrmSecond;Caption=交互式圆柱体,然后增加相应的控件,定义属性如下:

CommandButton1:

(名称)=cmdCreate;

Cation=创建

CommandButton2:

(名称)=Cmdexit;

Cation=退出

TextBox1:

(名称)=DiaText;Text=0.15

TextBox2:

(名称)=HeiText;Text=100

Label1:

Cation=圆柱直径,

Label2:

Cation=圆柱高度

8.9编制CmdCreate和Cmdexit代码

双击CmdCreate控件,进入窗口FrmSecond代码编辑区,复制窗口FrmMain里面的声明并在窗口FrmSecond代码编辑区最前面进行粘贴,然后复制窗口FrmMain里面的CreateCylinders里面代码,并进行修改。

8.10交互式圆柱体窗口的运行

程序焦点处于FrmSecond下面,直接在SolidWorksVBA下面点

,对其进行测试。

8.11向SolidWorks工具条上增加另外一个命令按钮

在SolidWorks环境中重复2.11的操作,SolidWorks会弹出的对话框,然后进行设置。

8.12测试自定义的命令按钮,然后建立圆柱体。

8.13存盘宏。

通过以上操作,说明通过SolidWorksVBA操作SolidWorksAPI的功能是一件非常简单的操作,通过本课,你可以利用上述操作建立SolidWorks系列化参数零件。

练习1录制宏程序

目标:

通过本练习,要求掌握SolidWorks宏录制的过程,并能够制作每个宏程序的命令按扭,同时了解SolidWorksAPI的一些操作原理。

练习对象:

宏录制、宏编辑及自定义命令按钮。

使用的API:

ModelDoc2.Extension.SelectByID

ModelDoc2.ActiveDoc

ModelDoc2.InsertSketch2

ModelDoc2.SketchRectangle

ModelDoc2.CreateCircle

ModelDoc2.CreateLine2

FeatureManager.FeatureExtrusion

FeatureManager.FeatureCut

FeatureManager.FeatureRevolve

操作过程:

1在SolidWorks环境中新建一个新空白的零件。

2显示宏操作工具条。

3点击宏录制/暂停命令按钮。

4根据提供的模型操作SolidWorks命令,并绘出相应的模型。

5模型建立完成后,点击宏停止按钮。

6把宏文件命名存在一个临时路径下面。

7建立一个自定义命令按钮,并附上上一步的宏文件。

8新建一个SolidWorks零件。

9运行刚才定制命令按钮。

10利用宏编辑命令浏览宏代码,并了解SolidWorksAPI的运用。

相关文件模型如下:

练习2增加VBA按钮代码

目标:

通过本练习,操作人员能够掌握VBA增加窗口及控件的方法,并能够设置相关的属性,并能够根据录制的代码定制相关的函数,同时根据SolidWorksAPI提供的参数进行修改。

练习对象:

SolidWorksVBA的操作,SolidWorksAPI的各个参数。

使用的API:

ModelDoc2.Extension.SelectByID

ModelDoc2.ActiveDoc

ModelDoc2.InsertSketch2

ModelDoc2.CreateCircle

FeatureManager.FeatureExtrusion

操作过程:

1在SolidWorks环境中新建一个新空白的零件。

2显示宏操作工具条。

3点击宏录制/暂停命令按钮。

4利用SolidWorks命令,并绘出圆柱体。

5模型建立完成后,点击宏停止按钮。

6

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2