VB对solidworks进行二次开发入门2种方式
solidworks二次开发全教程系列
solidworks二次开发全教程系列solidworks二次开发-01-录制一个宏第一步:我们需要自己录制一个宏,然后看看程序产生了什么代码。
当初学习excel时候就是这么干的。
只是,solidworks要复杂一些,直接录制的宏不能使用,需要做一些调整。
在没有经验的时候我们最好按照下面的建议来做。
Edit or Debug SolidWorks MacroEdit or debug SolidWorks macros using Microsoft VBA. 使用Microsoft VBA编辑或调试宏To edit or debug a SolidWorks macro:Click Edit Macro on the Macro toolbar, or click Tools, Macro, Edit.NOTES: 注意:To automatically edit a macro after recording it, click Tools, Options, Systems Options. On the General tab, select Automatically edit macro after recording and click OK. This setting is persistent across SolidWorks sessions.此选项Automatically edit macro after recording 顾名思义是在记录宏完毕后自动打开编辑界面。
If you recently edited the macro, you can select it from the menu when you click Tools, Macro. This menu lists the last nine macros that you edited.已经编辑了宏,菜单中会有最近的9个宏程序列表供选择。
基于VB的Solidworks的二次开发
基于VB的Solidworks的二次开发目录第一章绪论 (1)1.1课题研究背景和意义 (1)1.1.1 设计手段 (1)1.1.2 分析理论 (2)1.1.3 外观造形 (2)1.1.4 液压部件CAD系统的意义 (2)1.2 CAD技术的特点及应用 (4)1.2.1 CAD技术的特点 (4)1.2.2 CAD(算机辅助设计)应用 (5)1.3 CAD/CAM技术的发展概述 (7)1.4 SolidWorks软件简介及应用 (10)1.4.1SolidWorks软件主要有以下基本功能: (10)第二章SolidWorks二次开发 (13)2.1 SolidWorks二次开发简介 (14)2.2 SolidWorks二次开发的两种基本方式 (14)2.2.1 基于OLE自动化技术 (14)2.2.2 基于COM规范 (15)2.3 SolidWorks的二次开发工具 (15)2.4 SolidWorks宏简介 (16)2.5 SolidWorks二次开发方法比较 (18)2.6 SolidWorks二次开发的基本原理 (19)2.7 本系统的具体开发方案 (20)第三章数据库 (21)3.1 数据库的简介 (21)3.1.1 数据库结构及应用 (21)3.1.2 数据库技术的应用 (22)3.3数据库接口技术(Access数据库引擎) (22)第四章Visual Basic 6.0 (25)4.1 Visual Basic 6.0简介 (25)4.1.2 Visual Basic 6.0的新特点 (26)4.2 VB开发液压阀标准件库的实例 (28)4.2.1 分析结构特征,建立DV节流截止阀和单向节流截止阀体模型 (29)4.3 用VB开发人机交互界面及运行结果 (30)结论 (44)致谢 (45)参考文献 (46)基于VB的DV节流截止阀和单向节流截止阀SolidWorks的二次开发060606415 马冶指导教师: 高长银教授第一章绪论1.1课题研究背景和意义液压部件因具有结构简单、工艺适应性强、环境污染小等其他设备不可替代的性能特点,被广泛应用于汽车制造、航空航天、国防、电力电子、塑料、机械、冶金和轻工等国民经济的各个领域。
基于Vb的Solidworks二次开发的经典实例
发表时间: 2009-6-5 来源: 智造网关键字: solidworks二次开发因为SW整合了VB编辑器(比较像,这个编辑器又可以进行宏与二次开发的制作。
这里使用宏的建立来打好基础框架,以简化开发过程。
用这种录制宏的方法也可以快速得到SW的操作命令,这比检索全英文的API 文档方便。
因为SW整合了VB编辑器(比较像,这个编辑器又可以进行宏与二次开发的制作。
使用宏的建立来打好基础框架,以简化开发过程。
用这种录制宏的方法也可以快速得到SW的操作命令,这比检索全英文的API 文档方便。
目的:使用简单实例,向新手讲述最基本的二次开发步骤,让没用过二次开发的朋友能够迅速上手。
本文需要VB6的基础技术,能看懂VB6程序代码,会写基本程序就行。
第一步:录制宏运行SW,如图的两种方法开始录制宏新建一个圆柱体,然后停止录制,并保存文件第二步:创建程序使用编辑宏,在VB编辑器中打开刚才制作的宏文件。
界面跟VB6是一样的。
程序并不长,通过读程序,我们找到刚才所作的两件事情--创建文件和建模的代码,以备后用。
插入用户窗体在控件工具箱重托拽一个按钮控件到窗体,如图。
把窗体和按钮的Caption属性分别改成:"SW基础二次开发"和"画阵列",这样窗口和按钮的文字就变成我们需要的样子了。
当然你也可以写成其他文字。
第三步:整理代码首先存盘,防止调试过程中死机带来的损失。
然后双基左上角"工程"窗口中的"模块"下我们刚刚建立的那个宏,来显示代码。
在"Sub main()"下面一行添加"Sub main()",让程序运行后首先显示刚刚创建的窗口。
然后选中"Sub main()"到最后一个"end"之间的所有属于宏的代码,并剪切。
这样宏代码就剩下下面的三句。
(分隔线上面的声明代码不要动)工程窗口双击"UserForm1",显示创建的窗口,再双击按钮,VB会自动建立按钮点击事件的代码:Private Sub CommandButton1_Click()End Sub我们把刚才宏的所有代码先粘贴过来。
solidworks二次开发全教程系列
solidworks二次开发全教程系列solidworks二次开发-01-录制一个宏第一步:我们需要自己录制一个宏,然后看看程序产生了什么代码。
当初学习excel时候就是这么干的。
只是,solidworks要复杂一些,直接录制的宏不能使用,需要做一些调整。
在没有经验的时候我们最好按照下面的建议来做。
Edit or Debug SolidWorks MacroEdit or debug SolidWorks macros using Microsoft VBA. 使用Microsoft VBA编辑或调试宏To edit or debug a SolidWorks macro:Click Edit Macro on the Macro toolbar, or click Tools, Macro, Edit.NOTES: 注意:To automatically edit a macro after recording it, click Tools, Options, Systems Options. On the General tab, select Automatically edit macro after recording and click OK. This setting is persistent across SolidWorks sessions.此选项Automatically edit macro after recording 顾名思义是在记录宏完毕后自动打开编辑界面。
If you recently edited the macro, you can select it from the menu when you click Tools, Macro. This menu lists the last nine macros that you edited.已经编辑了宏,菜单中会有最近的9个宏程序列表供选择。
solidworks二次开发全教程系列
solidworks二次开发全教程系列solidworks二次开发-01-录制一个宏第一步:我们需要自己录制一个宏,然后看看程序产生了什么代码。
当初学习excel时候就是这么干的。
只是,solidworks要复杂一些,直接录制的宏不能使用,需要做一些调整。
在没有经验的时候我们最好按照下面的建议来做。
Edit or Debug SolidWorks MacroEdit or debug SolidWorks macros using Microsoft VBA. 使用Microsoft VBA编辑或调试宏To edit or debug a SolidWorks macro:Click Edit Macro on the Macro toolbar, or click Tools, Macro, Edit.NOTES: 注意:To automatically edit a macro after recording it, click Tools, Options, Systems Options. On the General tab, select Automatically edit macro after recording and click OK. This setting is persistent across SolidWorks sessions.此选项Automatically edit macro after recording 顾名思义是在记录宏完毕后自动打开编辑界面。
If you recently edited the macro, you can select it from the menu when you click Tools, Macro. This menu lists the last nine macros that you edited.已经编辑了宏,菜单中会有最近的9个宏程序列表供选择。
用VB进行Solidworks二次开发的编程技巧与实现方法
用VB进行Solidworks二次开发的编程技巧与实现方法0.引言Solidworks是美国Solidworks公司基于Windows平台开发的著名的全参数化三维实体造型软件,其功能强大、性能优良,易学易用,同时solidworks具有良好的开放性和兼容性。
不仅可以向下兼容二维AutoGAD,同时也可以与许多其它专业软件(如有限元分析软件Ansys、三维实体设计软件UG、Pro/E等)无缝集成为功能十分强大的CAD/GAE/CAM/PDM系统,完全能胜任大型工程与产品的设计、分析、制造和数据管理。
当前,各类用户不仅在应用Solidworks的强大功能进行各类专业设计,同时也在积极探索Solidworks的二次开发技术,力求扩展Solidworks的功能并使其用户化、专业化、本土化,以提高该软件的附加值与工作效率。
本文通过实例介绍了Solidworks二次开发中有关零部件绘制、插件生成及独立可执行文件生成过程中的编程技巧与实现方法。
1. 三维设计VB编程实现对于大多数三维软件使用者来说,主要是单纯的三维建模和装配。
可是在实际的三维设计中经常会遇到不好解决的问题,比如频繁出现的尺寸不同但形状相似的零件,齿轮等零件的曲线绘制等。
如果想解决这样的问题就必须涉及到二次开发,使用编程可以使零件建模更加快捷或更加真实。
但是对于大多数初学者而言,由于牵涉到许多solidworks API 底层命令的调用,不容易也不可能全面掌握。
因此,利用宏命令进行相关部分的录制,在VB 相关语法规则的约束下进行源代码的改写,用这种录制宏的方法可以快速得到solidworks的操作命令,这比检索全英文的API文档方便,从而有效提高了编程效率。
宏录制的源代码不能直接运行,必须在VB编辑器中对制作的宏文件进行一些修改,替换相关代码,删除冗余代码,这样的话录制的宏文件才可以得以顺利运行。
关于这方面的文章很多,在此不再赘述。
特别强调的是,对于Sub main中出现的前七句代码(本文以新建一个文件为例,其他情况类似):Set swApp = Application.SldWorksswApp.ActiveDoc.ActiveView.FrameLeft = 0swApp.ActiveDoc.ActiveView.FrameTop = 0swApp.ActiveDoc.ActiveView.FrameState = 1swApp.ActiveDoc.ActiveView.FrameState = 1Set Part = swApp.NewDocument("D:\ProgramFiles\SolidWorks\data\templates\零件.prtdot", 0, 0#, 0#)Set Part = swApp.ActivateDoc2("零件1", False, longstatus) 上述创建方法与SW的安装位置有关联,因此使用下面三句通用的创建零件方法来替代这些代码:Set swApp = Application.SldWorksSet Part = swApp.NewPartSet Part = swApp.ActiveDoc通过对宏录制的源代码的修改与完善,便可以运行该宏文件。
solidworks二次开发教程
solidworks二次开发教程在Solidworks二次开发中,我们可以使用Solidworks API来扩展和定制软件功能,提高工作效率。
下面是一个简单的教程,介绍了如何创建和编辑模型,以及如何进行基本的数据管理。
1. 创建一个新的Part文件:```vbDim swApp As SldWorks.SldWorksDim swModel As SldWorks.ModelDoc2Set swApp = Application.SldWorksSet swModel =swApp.NewDocument("C:\ProgramData\SolidWorks\SolidWorks 2022\templates\part.prtdot", 0, 0, 0)'设置Part文件属性swModel.Extension.CustomPropertyManager("").Add3 "MyProperty", swCustomInfoText, "MyValue"```2. 创建一个新的Assembly文件:```vbDim swApp As SldWorks.SldWorksDim swModel As SldWorks.ModelDoc2Set swApp = Application.SldWorksSet swModel =swApp.NewDocument("C:\ProgramData\SolidWorks\SolidWorks 2022\templates\assembly.asmdot", 0, 0, 0)'创建组件Dim swAssembly As SldWorks.AssemblyDocSet swAssembly = swModelDim swPart As SldWorks.ModelDoc2Set swPart =swAssembly.AddComponent5("C:\Path\To\Part.sldprt", 0, "", False, "", 0, 0, 0)'设置Assembly文件属性swModel.Extension.CustomPropertyManager("Part.sldprt").Add3 "MyProperty", swCustomInfoText, "MyValue"```3. 创建一个新的Drawing文件:```vbDim swApp As SldWorks.SldWorksDim swModel As SldWorks.ModelDoc2Set swApp = Application.SldWorksSet swModel =swApp.NewDocument("C:\ProgramData\SolidWorks\SolidWorks 2022\templates\drawing.drwdot", 0, 0, 0)'导入视图Dim swDrawing As SldWorks.DrawingDocSet swDrawing = swModelDim swView As SldWorks.ViewSet swView =swDrawing.CreateDrawViewFromModelView3("C:\Path\To\Part.s ldprt", "*等轴测", 0, 0, 0)'设置Drawing文件属性swModel.Extension.CustomPropertyManager("Part.sldprt").Add3 "MyProperty", swCustomInfoText, "MyValue"```4. 编辑模型:```vb'打开一个Part文件Dim swApp As SldWorks.SldWorksDim swModel As SldWorks.ModelDoc2Set swApp = Application.SldWorksSet swModel = swApp.OpenDoc6("C:\Path\To\Part.sldprt", swDocumentTypes_e.swDocPART,swOpenDocOptions_e.swOpenDocOptions_Silent, "", 0, 0)'选择特定特征Dim swFeat As SldWorks.FeatureSet swFeat = swModel.FeatureByName("特征名称")'修改特征参数If swFeat.GetTypeName2 = "特征类型" ThenDim swFeatData As SldWorks.FilletFeatureDataSet swFeatData = swFeat.GetDefinitionswFeatData.Radius = 5.0swFeat.ModifyDefinition swFeatData, swModel, Nothing End If'保存并关闭文件swModel.SaveAs2 "C:\Path\To\Part.sldprt", swSaveAsVersion_e.swSaveAsCurrentVersion, False, True swModel.CloseDoc```5. 数据管理:```vb'打开一个Part文件Dim swApp As SldWorks.SldWorksDim swModel As SldWorks.ModelDoc2Set swApp = Application.SldWorksSet swModel = swApp.OpenDoc6("C:\Path\To\Part.sldprt", swDocumentTypes_e.swDocPART, swOpenDocOptions_e.swOpenDocOptions_Silent, "", 0, 0)'获取自定义属性值Dim swCustPropMgr As SldWorks.CustomPropertyManager Set swCustPropMgr =swModel.Extension.CustomPropertyManager("")Dim propValue As StringpropValue = swCustPropMgr.Get2("MyProperty")'MsgBox弹窗显示自定义属性值MsgBox "MyProperty的值是:" & propValue'关闭文件swModel.CloseDoc```上述代码为简单的Solidworks二次开发教程,帮助你了解如何创建、编辑和管理模型数据。
基于VB对SolidWorks参数化设计的二次开发
基于VB对SolidWorks参数化设计的二次开发韩泽光;孙君祥;郝瑞琴【摘要】论文介绍了对SolidWorks二次开发的核心技术与开发方法,设计编制了基于SolidWorks软件的交互式特征轴段设计系统.该系统按照特征进行分类,分析模型各特征之间的关系,在SolidWorks中用最简单、最少的命令来建立阶梯轴的结构模型,通过宏录制获得代码,对其进行编辑与修改,实现二次开发的目的.实例证明,该系统允许用户在生产过程中更快、更方便地设计零部件,节省设计时间和成本,并在开发Access数据库调用参数的过程中,阐述了二次开发的方法.【期刊名称】《机电产品开发与创新》【年(卷),期】2017(030)005【总页数】3页(P79-81)【关键词】二次开发;Access数据库;宏录制【作者】韩泽光;孙君祥;郝瑞琴【作者单位】沈阳建筑大学机械工程学院,辽宁沈阳110168;沈阳建筑大学机械工程学院,辽宁沈阳110168;沈阳建筑大学机械工程学院,辽宁沈阳110168【正文语种】中文【中图分类】TP391.9SolidWorks是目前在中国市场上最常用的三维CAD软件之一,除了少数高端软件需求外,几乎可以满足所有的一般要求[1]。
该软件采用非完全约束特征造型技术,整个设计过程都是完全相关的,在设计过程中可以实时修改设计,与之相应的尺寸零件也同时地进行修改[2]。
它还可以进行动态模拟仿真装配,对静态干涉进行检查,节省了生产成本,它将二维绘图与三维建模技术相结合,自动生成零部件尺寸、物料清单等技术数据,从而简化了工程图纸的制作过程[3]。
此外,它还具有较好的开发界面和功能扩展,可以把图形从AutoCAD转移到SolidWorks,也可以将Solid-Works中的图形转换成AutoCAD[4]。
但SolidWorks本身也有一些缺点,因为它是国外研究和开发的软件,所以不能满足我国企业在许多方面的本土方面的要求,为了解决该问题,发挥其强大的功能,必须进行开发处理,即进行二次开发[5]。
VB对SOLIDWORKS进行二次开发入门2种方式
VB对solidworks进行二次开发本次的开发均使用简单圆柱为例进行solidworks二次开发方法一:借助API绘图函数1.使用宏录制圆柱的建模过程,录制代码如下:2.在VB程序开发环境中建立标准EXE文件,并且引用solidworks类型库,其引入步骤如下:单击菜单栏中【工程】【引用】命令,选择“SolidWorks exposed Type Libraries For add-in Use”(SolidWorks插件库文件)、“SolidWorks2007Type Libray”(SolidWorks库文件)和“SolidWorks Consant Type library”(SolidWorks常数库)3.在VB开发环境中添加2个lable控件,2个textbox控件,2个commandbutton控件,并将lable控件分别命名为圆柱直径,圆柱长度,将commandbutton控件分别命名为连接solidworks,开始绘制。
程序界面如下:4.代码编写A.在代码编写窗口,通用区定义变量,代码如下:Dim swapp As ObjectDim part As ObjectDim boolstatus As Boolean'定义接口B.双击第一个commandbutton控件,并且写入如下代码:Set swapp=CreateObject("SldWorks.Application")Set part=swapp.NewPart()swapp.Visible=True'获取solidworks软件接口并新建一个零件文件(至此,就可以使用VB启动solidworks)C.双击第二个commandbutton控件,并把solidworks录制的宏文件的相关代码复制到VB的第二个commandbutton控件Click的事件中,并且对代码进行修改,修改后的代码如下:boolstatus=part.Extension.SelectByID2("前视","PLANE",0,0,0,False,0, Nothing,0)part.SketchManager.InsertSketch Truepart.ClearSelection2TrueDim skSegment As ObjectSet skSegment=part.SketchManager.CreateCircle(0#,0#,0#, Val(Text1.Text)/2000,0,0#)part.ShowNamedView2"*上下二等角轴测",8part.ClearSelection2Trueboolstatus=part.Extension.SelectByID2("Arc1","SKETCHSEGMENT",0,0, 0,False,0,Nothing,0)Dim myFeature As ObjectSet myFeature=part.FeatureManager.FeatureExtrusion2(True,False, False,0,0,Val(Text2.Text)/1000,0,False,False,False,False,0,0,False,False,False,False,True,True,True,0,0,False)part.SelectionManager.EnableContourSelection=False5.单击VB中的启动按钮,先进性程序调试,调试结果如下:注意:在solidworks的API函数中的单位是米,如Set skSegment=part.SketchManager.CreateCircle(0#,0#,0#,Val(Text1.Text)/2000,0,0#),至于除以2000的原因是API中的绘制圆的函数,是以半径为参数。
Solidworks二次开发入门教程
Solidworks二次开发入门教程连载4:运用VB语言实现二次开发VB简述Visual Basic(简称为VB)是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows 环境下的各类应用程序。
它简单易学、效率高,且功能强大可以与Windows 专业开发工具SDK相媲美。
在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。
随着版本的提高,Visual Basic的功能也越来越强。
5.0版以后,Visual Basic 推出了中文版,与前个版本相比,其功能有了很大提升。
Visual Basic 6.0作为Visual Studio 6.0的优秀一员,已成为企业级快速开发的利器。
Visual Basic 6.0在数据访问方面有了很大的改进,新的ADO组件让对大量数据快速访问成为可能。
数据环境和新的报表功能也让数据开发有了全新的体验。
Visual Basic 借助COM/COM+强大的功能,可以开发具有多层结构的分布式应用程序。
同时,Visual Basic还可以在IIS上开发性能超群的Web应用程序。
Visual Basic 6. 0在语言方面和IDE方面的改进都不大,但是许多新增的组件成为Visual Basic开发人员手中的利器,如File System Object等。
新的字符串函数Split和Replace等也给Visual Basic的程序员带来很大方便。
Visual Basic 6.0具有下述优点:(1) 面向对象(2) 事件驱动(3) 软件的集成式开发(4) 结构化的程序设计语言(5) 强大的数据库访问功能(6) 支持对象的链接与嵌入技术(7) 网络功能(8) 多个应用程序向导(9) 支持动态交换、动态链接技术(l0) 联机帮助功能VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。
VB二次开发Solidworks精讲
运用VB语言实现二次开发1 VB简述Visual Basic(简称为VB)是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。
它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。
在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。
随着版本的提高,Visual Basic的功能也越来越强。
5.0版以后,Visual Basic 推出了中文版,与前个版本相比,其功能有了很大提升。
Visual Basic 6.0作为Visual Studio 6.0的优秀一员,已成为企业级快速开发的利器。
Visual Basic 6.0在数据访问方面有了很大的改进,新的ADO组件让对大量数据快速访问成为可能。
数据环境和新的报表功能也让数据开发有了全新的体验。
Visual Basic 借助COM/COM+强大的功能,可以开发具有多层结构的分布式应用程序。
同时,Visual Basic还可以在IIS上开发性能超群的Web应用程序。
Visual Basic 6.0在语言方面和IDE方面的改进都不大,但是许多新增的组件成为Visual Basic开发人员手中的利器,如File System Object等。
新的字符串函数Split和Replace等也给Visual Basic的程序员带来很大方便。
Visual Basic 6.0具有下述优点:(1) 面向对象(2) 事件驱动(3) 软件的集成式开发(4) 结构化的程序设计语言(5) 强大的数据库访问功能(6) 支持对象的链接与嵌入技术(7) 网络功能(8) 多个应用程序向导(9) 支持动态交换、动态链接技术(l0) 联机帮助功能VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。
solidworks二次开发全教程系列
solidworks二次开发全教程系列solidworks二次开发-01-录制一个宏第一步:我们需要自己录制一个宏,然后看看程序产生了什么代码。
当初学习excel时候就是这么干的。
只是,solidworks要复杂一些,直接录制的宏不能使用,需要做一些调整。
在没有经验的时候我们最好按照下面的建议来做。
Edit or Debug SolidWorks MacroEdit or debug SolidWorks macros using Microsoft VBA. 使用Microsoft VBA编辑或调试宏To edit or debug a SolidWorks macro:Click Edit Macro on the Macro toolbar, or click Tools, Macro, Edit.NOTES: 注意:To automatically edit a macro after recording it, click Tools, Options, Systems Options. On the General tab, select Automatically edit macro after recording and click OK. This setting is persistent across SolidWorks sessions.此选项Automatically edit macro after recording 顾名思义是在记录宏完毕后自动打开编辑界面。
If you recently edited the macro, you can select it from the menu when you click Tools, Macro. This menu lists the last nine macros that you edited.已经编辑了宏,菜单中会有最近的9个宏程序列表供选择。
solidworks二次开发全教程系列之欧阳学创编
solidworks二次开发全教程系列solidworks二次开发-01-录制一个宏第一步:我们需要自己录制一个宏,然后看看程序产生了什么代码。
当初学习excel时候就是这么干的。
只是,solidworks要复杂一些,直接录制的宏不能使用,需要做一些调整。
在没有经验的时候我们最好按照下面的建议来做。
Edit or Debug SolidWorks MacroEdit or debug SolidWorks macros using Microsoft VBA. 使用Microsoft VBA编辑或调试宏To edit or debug a SolidWorks macro:Click Edit Macro on the Macro toolbar, or click Tools, Macro, Edit.NOTES: 注意:To automatically edit a macro after recording it, click Tools, Options, Systems Options. On the General tab, select Automatically edit macro after recording and click OK. This setting is persistent across SolidWorks sessions.此选项Automatically edit macro after recording 顾名思义是在记录宏完毕后自动打开编辑界面。
If you recently edited the macro, you can select it from the menu when you click Tools, Macro. This menu lists the last nine macros that you edited.已经编辑了宏,菜单中会有最近的9个宏程序列表供选择。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB对solidworks进行二次开发本次的开发均使用简单圆柱为例进行solidworks二次开发方法一:借助API绘图函数1.使用宏录制圆柱的建模过程,录制代码如下:2.在VB程序开发环境中建立标准EXE文件,并且引用solidworks类型库,其引入步骤如下:单击菜单栏中【工程】【引用】命令,选择“SolidWorks exposed Type Libraries For add-in Use”(SolidWorks插件库文件)、“SolidWorks 2007 Type Libray”(SolidWorks库文件)和“SolidWorks Consant Type library”(SolidWorks常数库)3.在VB开发环境中添加2个lable控件,2个textbox控件,2个commandbutton控件,并将lable控件分别命名为圆柱直径,圆柱长度,将commandbutton控件分别命名为连接solidworks,开始绘制。
程序界面如下:4.代码编写A.在代码编写窗口,通用区定义变量,代码如下:Dim swapp As ObjectDim part As ObjectDim boolstatus As Boolean'定义接口B.双击第一个commandbutton控件,并且写入如下代码:Set swapp = CreateObject("SldWorks.Application")Set part = swapp.NewPart()swapp.Visible = True'获取solidworks软件接口并新建一个零件文件(至此,就可以使用VB启动solidworks)C.双击第二个commandbutton控件,并把solidworks录制的宏文件的相关代码复制到VB的第二个commandbutton控件Click的事件中,并且对代码进行修改,修改后的代码如下:boolstatus = part.Extension.SelectByID2("前视", "PLANE", 0, 0, 0, False, 0, Nothing, 0)part.SketchManager.InsertSketch Truepart.ClearSelection2 TrueDim skSegment As ObjectSet skSegment = part.SketchManager.CreateCircle(0#, 0#, 0#, Val(Text1.Text) / 2000, 0, 0#)part.ShowNamedView2 "*上下二等角轴测", 8part.ClearSelection2 Trueboolstatus = part.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)Dim myFeature As ObjectSet myFeature = part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, Val(Text2.Text) / 1000, 0, False, False, False, False, 0, 0, False, False, False, False,True, True, True, 0, 0, False)part.SelectionManager.EnableContourSelection = False5.单击VB中的启动按钮,先进性程序调试,调试结果如下:注意:在solidworks的API函数中的单位是米,如Set skSegment =part.SketchManager.CreateCircle(0#, 0#, 0#, Val(Text1.Text) / 2000, 0, 0#),至于除以2000的原因是API中的绘制圆的函数,是以半径为参数。
各函数的特点可以参考solidworks 中的API帮助)方法二:借助access数据库1.依照方法一的前两步操作2.使用solidworks绘制一个圆柱,命名为圆柱,并且保存在硬盘中,记下硬盘的位置,本例保存位置为:"F:\资料\SW\代码\圆柱.SLDPRT"3.在VB中添加部件adodc控件在VB 6.0种选择“工程”菜单,再点击“部件”菜单项,在弹出的“部件”对话框中选中“Microsoft ADO Data Control 6.0(OLEDB)”选项即可。
DATAGRID控件在VB 6.0种选择“工程”菜单,再点击“部件”菜单项,在弹出的“部件”对话框中选中“Microsoft DataGrid Control 6.0(OLEDB)”选项即可。
工程引用:要能正确引用ADO数据对象,应在VB 6.0集成开发环境中选择“工程”菜单,再点击“引用”菜单项,在弹出的“引用”对话框中选中“Microsoft ActiveX Data Objects 2.7Library”选项来添加ADO数据对象类型库。
4.制作圆柱的access数据库可以直接在Visual Basic 6.0集成开发环境中通过“可视化数据管理器”来创建数据库如下图操作:A.B.C.D.单击“添加字段”,建立圆柱直径和圆柱长度两个字段,并把字段类型设置为doubleE.右击yuanzhu,选择打开,在弹出的对话框中选择添加,添加几组数据5.使用label,commandbutton,textbox,adodc,datagrid控件,设计VB的程序界面,其界面如下:6.建立VB与access的连接:静态”连表的话1。
右键Adodc控件->Adodc属性-> 通用2。
选“连接字符串”右边的“生成”,自己选“提供者”和“连接”提供者选择Microsoft.Jet.OLEDB.4.03。
再选Adodc属性的“记录源”4.“命令类型”可选adCmdUnknow或adCmdTxt,然后在“命令文本”中写入你的SQL语句或者选adCmdTable,然后直接选表,本例就选择adCmdTable5.DataGrid控件的DataSource属性设为Adodc7.代码编写a.在通用代码编辑区协商如下代码:Dim swapp As ObjectDim part As ObjectDim boolstatus As BooleanDim longstatus As Long, longwarnings As Long'定义接口b.双击第一个commandbutton控件,并且写入如下代码:Set swapp = CreateObject("SldWorks.Application")Set part = swapp.OpenDoc6("F:\资料\SW\代码\圆柱.SLDPRT", 1, 0, "",longstatus, longwarnings)swapp.Visible = True'打开文件c.双击第二个commandbutton控件,并且写入如下代码:Part.Parameter(“D1@草图1”).Value=val(text1.text)Part.Parameter(“D1@凸台-拉伸1”).Value=val(text2.text)Part.EditRebuildd.抽取网格数据方式1.选择datagrid1控件的RowColChange事件,将网格中的数据赋值给text1和text2,以此把网格中的所需数据抽取出来,代码如下:Text1.Text = DataGrid1.Columns(0).CellValue(DataGrid1.Bookmark)Text2.Text = DataGrid1.Columns(1).CellValue(DataGrid1.Bookmark)其中使用Bookmark属性能够访问当前行的数据其中columns(i)中的数字i代表表中的第i列方式2.使用textbox属性设置,将text1的datasource属性选为adodc1(ADO控件),在将将text1的datafield属性选为你需要的字段名即可设置text1的数据邦定。
其它text控件依此设置即可完成你的需要。
本例中的具体设置为,text1中的datasource属性选为adodc1,datafield属性选为圆柱直径Text2中的datasource属性选为adodc1,datafield属性选为圆柱长度此方式则不需要使用datagrid1控件的RowColChange事件来抽取网格数据(在本次实例中,我选择方式1进行网格数据抽取)小结.1.个人认为VB对solidworks进行二次开发,方式一适用于小型的简单的零件建模方式二适用于标准件,常用件和一些大型的常用的复杂零件建模2.可以把方式二中的数据库用法和方式一中的API函数用法结合起来就是说让方式一中的textbox的值来自于数据库的网格值,省去了方式二中的设置打开文件路径步骤,以及使用Part.Parameter(“”).value的步骤3.要掌握使用宏记录来获取solidworks建模函数的方法4.针对access在VB程序中添加其他的数据,可以通过设置datagrid属性中的AllowAddNew 为true AllowDelete 为true 来实现。