为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > SolidWorks宏工具

SolidWorks宏工具

2023-03-18 6页 pdf 1MB 35阅读

用户头像 个人认证

is_017931

热爱锻炼

举报
SolidWorks宏工具solidworksi第一课使用SolidWorks宏录制工具.........................................................11.宏命令的相关介绍..........................................................................................22.利用宏命令建立一个宏文件.................................................................
SolidWorks宏工具
solidworksi第一课使用SolidWorks宏录制工具.........................................................11.宏命令的相关介绍..........................................................................................22.利用宏命令建立一个宏文件.......................................................................33.理解录制的程序代码.....................................................................................74.了解SolidWorksAPI的调用.......................................................................85.程序参数的传递..............................................................................................9FeatureManager::FeatureExtrusion...................................................................106.程序代码的整理............................................................................................117.程序的调试......................................................................................................128.程序的增加功能操作...................................................................................16练习1录制宏程序.............................................................................................21练习2增加VBA按钮代码.............................................................................22练习3从VBA窗口中输入参数....................................................................24第一课使用SolidWorks宏录制工具学习本课后,你能达到下列能力:理解宏是什么,能做什么,什么情况下可以使用宏命令。了解宏工具条上的每个按钮的作用。可以利用VBA程序录制一个程序并编辑相应代码。自定义宏命令按钮,并利用创建的按钮运行宏录制的程序。通过宏录制命令和运行宏程序,你可以理解按扭和键盘的作用。你可以知道一个宏命令是如何启动一个进程,怎样与SolidWorks程序进行连接,又是如何调用SolidWorks的对象和方法。你可以利用录制的宏程序提高设计能力。你可以调试一个宏程序。你可以利用窗口或对话框来控制宏程序的相关参数。1.宏命令的相关介绍1.1.宏录制:你能够利用宏录制命令在SolidWorks环境中录制SolidWorks的相关操作,并可以调用SolidWorksAPI接口提供的所有对象、方法及属性,也可SolidWorks环境中的鼠标、菜单和键盘操作。1.2.宏工具条:在SolidWorks环境中提供了一个宏工具条,它主要是宏操作的命令按扭,当然你也可以从“工具”,“宏操作”来运行这些命令。缺省状态下,宏工具条是不可见的。你可以移动鼠标到任一工具按扭上面,单击右键,选择“宏”,则宏工具条就会显示在SolidWorks环境中;当然后,你也可以从“工具”,“工具栏”选择“宏”。运行命令:当你运行此命令时,SolidWorks将会弹出一个打开文件对话框,提示选择宏文件(后缀名为SWP),然后自动运行选择文件中的代码。停止命令:此命令在没有进行录制的状态下为不可用,只有在录制状态可用。运行此命令后,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的其他功能,必须先调用此对象。语言代码描述说明VBADimswappasobject或Swapp可以声明为不明DimswappAsSldWorks.SldWorks对象,也可以声明为Setswapp=Application.SldworksSolidWorks对象。VB或其他语言Dimswappasobject或在对象调用时,高级语DimswappAsSldWorks.SldWorks言调用的是Setswapp=Getobject(,”Sldworks.SolidWorks类。宏语Application”)言调用的是当前类。4.2SolidWorks工作环境对象SolidWorks工作环境对象是指的是零件环境、装配环境、图环境及没有环境四个状态,它仅处于SolidWorks应用程序对象下,要调用SolidWorksAPI功能必须在调用SolidWorks应用程序对象后调用此对象;一般情况来讲,得到的SolidWorks工作环境对象主要是当前活动的工作环境。(关于SolidWorks工作环境对象的对象请参考“SolidWorksAPI和插件帮助主题”。)本课录制的SolidWorks工作环境对象是零件环境对象,表示如下:DimPartasObject或DimPartAsSldWorks.ModelDoc2SetPart=swapp.ActiveDoc‘当前活动的工作环境4.3其他SolidWorksAPI功能的调用一旦上述两个对象调用之后,我们就可以调用SolidWorksAPI提供的其他功能如事件、属性、方法及相关函数。有返回值的SolidWorksAPI:boolstatus=Part.Extension.SelectByID("前视","PLANE",0,0,0,False,0,Nothing)直接调用SolidWorksAPI:Part.InsertSketch2TruePart.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,15.程序参数的传递调用SolidWorksAPI功能时,许多方法和属性都必须传递给程序一些参数,否则程序不能正常运行,下列针对FeatureManager::FeatureExtrusion的参数传递作一介绍,其他SolidWorksAPI功能请参考“SolidWorksAPI和插件帮助主题”。FeatureManager::FeatureExtrusionpFeat=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=0swEndCondThroughAll=1swEndCondThroughNext=2swEndCondUpToVertex=3swEndCondUpToSurface=4swEndCondOffsetFromSurface=5swEndCondMidPlane=6swEndCondUpToBody=7输入:(long)t2第一个方向终止类型swEndConditions_e:swEndCondBlind=0swEndCondThroughAll=1swEndCondThroughNext=2swEndCondUpToVertex=3swEndCondUpToSurface=4swEndCondOffsetFromSurface=5swEndCondMidPlane=6swEndCondUpToBody=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表示反向偏移。输入:(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行表示通过两点创建一个圆,但是我们输入的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=100mmCommandButton2:(名称)=cmd500mm;Cation=500mmCommandButton3:(名称)=cmd1m;Cation=1mCommandButton4:(名称)=cmd5m;Cation=5mCommandButton5:(名称)=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操作环境中运行自定义命令按钮。100mm500mm1m8.8增加交互式窗口再增加一个窗口,并定义相关的属性,(名称)=FrmSecond;Caption=交互式圆柱体,然后增加相应的控件,定义属性如下:CommandButton1:(名称)=cmdCreate;Cation=创建CommandButton2:(名称)=Cmdexit;Cation=退出TextBox1:(名称)=DiaText;Text=0.15TextBox2:(名称)=HeiText;Text=100Label1: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.SelectByIDModelDoc2.ActiveDocModelDoc2.InsertSketch2ModelDoc2.SketchRectangleModelDoc2.CreateCircleModelDoc2.CreateLine2FeatureManager.FeatureExtrusionFeatureManager.FeatureCutFeatureManager.FeatureRevolve操作过程:1在SolidWorks环境中新建一个新空白的零件。2显示宏操作工具条。3点击宏录制/暂停命令按钮。4根据提供的模型操作SolidWorks命令,并绘出相应的模型。5模型建立完成后,点击宏停止按钮。6把宏文件命名存在一个临时路径下面。7建立一个自定义命令按钮,并附上上一步的宏文件。8新建一个SolidWorks零件。9运行刚才定制命令按钮。10利用宏编辑命令浏览宏代码,并了解SolidWorksAPI的运用。相关文件模型如下:练习2增加VBA按钮代码目标:通过本练习,操作人员能够掌握VBA增加窗口及控件的方法,并能够设置相关的属性,并能够根据录制的代码定制相关的函数,同时根据SolidWorksAPI提供的参数进行修改。练习对象:SolidWorksVBA的操作,SolidWorksAPI的各个参数。使用的API:ModelDoc2.Extension.SelectByIDModelDoc2.ActiveDocModelDoc2.InsertSketch2ModelDoc2.CreateCircleFeatureManager.FeatureExtrusion操作过程:1在SolidWorks环境中新建一个新空白的零件。2显示宏操作工具条。3点击宏录制/暂停命令按钮。4利用SolidWorks命令,并绘出圆柱体。5模型建立完成后,点击宏停止按钮。6把宏文件命名存在一个临时路径下面。7建立一个自定义命令按钮,并附上上一步的宏文件。8新建一个SolidWorks零件。9运行刚才定制命令按钮。10利用宏编辑命令浏览宏代码,并了解SolidWorksAPI的运用。11在VBA中增加一个窗口及相关控件。12增加一个函数,并添加相应代码,同时对各个控件进行编程。13测试宏。练习模型:半径为30mm,高度分别为10mm,30mm,50mm,80mm的四个圆柱体。程序形式:模型:代码:练习3从VBA窗口中输入参数目标:通过本练习,操作人员应掌握利用VBA窗口的文本框来控制传递给SolidWorksAPI所需要的参数。练习对象:文本框的添加、文本数值的转换和代码的调试。使用的API:ModelDoc2.Extension.SelectByIDModelDoc2.ActiveDocModelDoc2.InsertSketch2ModelDoc2.CreateCircleFeatureManager.FeatureExtrusion操作过程:1在SolidWorks环境中新建一个新空白的零件。2显示宏操作工具条。3点击宏录制/暂停命令按钮。4利用SolidWorks命令,并绘出圆柱体。5模型建立完成后,点击宏停止按钮。6把宏文件命名存在一个临时路径下面。7建立一个自定义命令按钮,并附上上一步的宏文件。8新建一个SolidWorks零件。9运行刚才定制命令按钮。10利用宏编辑命令浏览宏代码,并了解SolidWorksAPI的运用。11在VBA中增加一个窗口及相关控件。12对确定按钮进行编程。13测试宏。程序形式:模型:程序代码:
/
本文档为【SolidWorks宏工具】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索