基于VB的SolidWorks二次开发
如何利用vb对SolidWorks进行二次开发简介
如何利用对SolidWorks进行二次开发1.首先正确安装vs2010与SolidWorks,打开vs2010新建项目如图1。
图1系统会自动生成解决方案如图2。
图22.然后添加窗口Form1,向窗体中添加一个Button按钮,编写代码如下。
Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickMsgBox("测试成功 by_NYX")End SubEnd Class3.修改代码,如图3。
图3将代码修改为:Public Sub AddCommandMgr()Dim cmdGroup As ICommandGroupIf iBmp Is Nothing TheniBmp = New BitmapHandler()End IfDim thisAssembly As AssemblyDim Title As String = "NYX_CESHI"Dim ToolTip As String = "Form1 Design System"Dim docTypes() As Integer = {swDocumentTypes_e.swDocASSEMBLY, _swDocumentTypes_e.swDocDRAWING, _swDocumentTypes_e.swDocPART}thisAssembly = System.Reflection.Assembly.GetAssembly(Me.GetType()) Dim cmdGroupErr As Integer = 0Dim ignorePrevious As Boolean = FalseDim registryIDs As Object = NothingDim getDataResult As Boolean =iCmdMgr.GetGroupDataFromRegistry(mainCmdGroupID, registryIDs)Dim knownIDs As Integer() = New Integer(1) {mainItemID1, mainItemID2}If getDataResult ThenIf Not CompareIDs(registryIDs, knownIDs) Then'if the IDs don't match, reset the commandGroupignorePrevious = TrueEnd IfEnd IfcmdGroup = iCmdMgr.CreateCommandGroup2(mainCmdGroupID, Title, ToolTip, "", -1, ignorePrevious, cmdGroupErr)If cmdGroup Is Nothing Or thisAssembly Is Nothing ThenThrow New NullReferenceException()End IfIf Not IsNothing(cmdGroup) ThenrgeIconList =iBmp.CreateFileFromResourceBitmap("SwVBAddin1_Matlab.ToolbarLarge.bmp", thisAssembly)cmdGroup.SmallIconList =iBmp.CreateFileFromResourceBitmap("SwVBAddin1_Matlab.ToolbarSmall.bmp", thisAssembly)rgeMainIcon =iBmp.CreateFileFromResourceBitmap("SwVBAddin1_Matlab.MainIconLarge.bmp", thisAssembly)cmdGroup.SmallMainIcon =iBmp.CreateFileFromResourceBitmap("SwVBAddin1_Matlab.MainIconSmall.bmp", thisAssembly)cmdGroup.AddCommandItem2("测试用", 0, "Form1 Design", "Form1 Design", 4, "Form1", "Form1_EnableMethod", 0, swconst.swCommandItemType_e.swMenuItem)cmdGroup.HasToolbar = TruecmdGroup.HasMenu = TruecmdGroup.Activate()End IfthisAssembly = NothingiBmp.Dispose()End Sub'判断菜单工具条按钮可用性Function Form1_EnableMethod() As Integer If iSwApp.ActiveDoc Is Nothing Then Form1_EnableMethod = 1ElseForm1_EnableMethod = 0End IfEnd FunctionFunction Form1() As BooleanDim st As New Form1st.Show()End Function4.重新生成解决方案,如图4。
solidworksapi二次开发实例详解 -回复
solidworksapi二次开发实例详解-回复SolidWorks API二次开发实例详解SolidWorks API(Application Programming Interface)是一组用于自动化、自定义和扩展SolidWorks功能的函数和接口。
它为SolidWorks 用户提供了编写宏和自定义插件的能力,使他们能够根据自己的需求定制和优化SolidWorks软件。
本文将以SolidWorks API二次开发实例为主题,详细介绍如何一步一步回答。
第一步:了解SolidWorks API基础知识在开始二次开发前,我们需要先了解SolidWorks API的基础知识。
SolidWorks API主要使用Visual Basic for Applications (VBA)和.NET 编程语言。
我们需要掌握SolidWorks API的对象模型、常用的函数和接口,以及一些常见的开发技巧和规范。
第二步:选择开发环境和工具SolidWorks API的开发环境主要有两种选择:VBA和.NET。
VBA是一种脚本语言,集成在SolidWorks软件中,默认安装,适合编写简单的宏。
而.NET是一种面向对象的编程语言,需要安装SolidWorks API软件包和Visual Studio环境,适合编写复杂的插件。
根据实际需求和开发技能,选择适合的开发环境和工具,然后配置好相应的开发环境。
第三步:开始二次开发实例假设我们需要开发一个自动创建螺纹零件的SolidWorks插件。
这个插件能够根据用户输入的参数,在SolidWorks软件中自动生成螺纹零件。
1. 创建一个新的SolidWorks插件项目使用Visual Studio创建一个新的SolidWorks插件项目。
选择合适的项目类型和模板,然后配置项目属性。
确定插件的名称、描述和版本等信息。
2. 编写插件的逻辑代码在SolidWorks插件项目中,我们需要编写适当的代码来实现螺纹零件的自动生成逻辑。
solidworks api二次开发实例详解 -回复
solidworks api二次开发实例详解-回复如何进行SolidWorks API二次开发实例的详解SolidWorks是一款常见的三维计算机辅助设计(CAD)软件,用于创建和编辑各种机械设计、装配和零件模型等。
它具有功能强大的应用编程接口(API),允许开发人员自定义和扩展软件的功能。
在本文中,我们将通过一个实例来详细介绍SolidWorks API的二次开发过程。
1. 环境设置首先,我们需要确保已经正确设置SolidWorks的开发环境。
在SolidWorks安装目录中,找到并运行"swvisualizeapi.exe"文件,按照提示安装Visualize API。
接下来,打开SolidWorks软件,点击"工具"->"宏"->"编辑",在"选项"对话框的"VBA环境"选项卡中,勾选"显示工具栏"和"显示添加-Ins",以便在开发过程中方便调试和查看结果。
2. 创建新的宏在SolidWorks中点击"工具"->"宏"->"新建"来创建一个新的宏。
在该宏中,我们将使用VBA代码进行二次开发。
首先,我们需要定义一个模块(Module)来存储我们的代码。
在"Macros in"下拉菜单中选择"NewMacros",然后点击"创建",在弹出的对话框中命名新模块为"API_Example"。
接下来,在模块中输入以下代码:vbaOption ExplicitSub API_Example()' 在此处编写您的代码End Sub接下来,我们将在此处编写我们的代码。
3. 加载程序集在编写SolidWorks API代码之前,我们需要加载SolidWorks程序集。
基于vb的solidworks夹具标准件的二次开发大学毕设论文
毕业设计报告(论文)报告(论文)题目:基于VB的SolidWorks夹具标准件的二次开发作者所在系部:机械工程系作者所在专业:机械设计制造及其自动化作者所在班级:作者姓名:作者学号: 7指导教师姓名:郑完成时间:本科生毕业设计(论文)原创性及知识产权声明本人郑重声明:所呈交的毕业设计(论文)基于VB的SolidWorks夹具标准件的二次开发是本人在指导教师的指导下,独立进行研究工作取得的成果。
除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品或成果。
对本设计(论文)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
因本毕业设计(论文)引起的法律结果完全由本人承担。
本毕业设计(论文)成果归北华航天工业学院所有。
本人遵循北华航天工业学院有关毕业设计(论文)的相关规定,提交毕业设计(论文)的印刷本和电子版本。
本人同意北华航天工业学院有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;可以采用影印、缩印、数字化或其它复制手段保存论文;在不以营利为目的的前提下,可以公布非涉密毕业设计(论文)的部分或全部内容。
特此声明毕业设计(论文)作指导教师:2摘要SolidWorks是机电类行业应用最为广泛的软件之一。
本设计针对用Visual Basic(以下简称VB)软件对SolidWorks软件中的夹具标准件库的二次开发进行了详细的研究。
当今产品的需求日渐趋于多样性、多变性,技术更新周期不断缩短、应用不断加快,产品结构和功能日趋复杂,要求夹具设计和制造周期及组合时间不断缩短,宜采用统一化、通用化、系列化、组合化的方式进行设计。
通过使用计算机,在已有的CAD软件的基础上建立夹具标准件图库。
SolidWorks是一套基于Windows操作系统的CAD/CAM/PDM桌面集成系统。
用VB 编程进行参数化设计,对Solidworks进行二次开发,在VB里面建立夹具相关参数的数据库,最后将SolidWorks绘图软件与VB编程软件通过尺寸参数区东以及接口技术,使二者结合到一起。
基于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我们把刚才宏的所有代码先粘贴过来。
利用VB对SolidWorks的二次开发
尺寸、 相互 2.1 桌面集成系统。它的设计数据 3445 可以编辑, 关系和几何轮廓形状可以随时修改; 具有特征管理器, 复杂零部 件的细节和局部设计清晰明了, 操作简单; 全相关技术使得零部 件之间和零部件与图纸之间的更新完全同步;自动进行动态约 束检查, 具有强劲的复杂曲面造型功能; 既可以先设计立体的钣 金零件也可以按零件的平面展开图进行设计。由于以上特点, !"#$%&"’() 成为目前微机平台上的主流三维设计软件 6 7 8 。 然而,!"#$%&"’() 也不尽完美,由于该软件是国外开发的, 像标题栏、 明细表、 放大图的标注等, 不适合我国标准要求, 给设 计者带来很多不便。因此, 为了满足国内客户的需要, 使常用的 或重复的任务自动化,提高工作效率,有必要对其进行有针对 一种是基 性的二次开发 6 3 8 。 !"#$%&"’()’ 的二次开发分为两种: 于自动化技术; 一种是基于 ,91。
! "# !
平功辉等: 利用 $% 对 &’()*+’,-. 的二次开发
T.R%’U T.R VJ* :O L’DSWG> H ?D@)E>L’DMN>J@5 X>@SWG>
第/期
情况, 选择一种合适的开发工具。这里结合实例, 利用高级编程 开发工具 $%, 成功地实现了对 &’()*+’,-. 二次开发。
万方数据
第L期 P$$Q 年 L 月
文章编号: L$$L - JMMN O P$$Q R $L - $$N% - $J
机械设计与制造 8/9:*+6=@ #6?*,+ S #34;# 参数化绘图系统研究与开发#
基于VB的SolidWorks零件库的二次开发
SolidWorks是在Windows环境下实现的第一个机械三维CAD软件,是基于特征进行参数化实体建模设计的工具,可以创建完全关联的三维实体模型。
SolidWorks以其设计过程简单、功能强大等优点,成为当前常用的一种三维设计软件。
尽管SolidWoks的功能十分强大,但它只是针对整个制造行业的通用软件,不能满足特定用户的特殊要求。
这就需要用户根据自身的需要利用SolidWorks所提供的二次开发工具和接口进行二次开发,使其在企业的产品开发中发挥更大的作用,提高设计效率。
1SolidWorks 二次开发原理概述1.1SolidWorks二次开发的形式SolidWorksAPI(ApplicationProgrammingInterface,应用程序编程接口)是SolidWorks的OLE(ObjectLinkingandEmbedding,对象链接或嵌入)应用程序开发接口,用户可以利用它和支持OLE编程的开发工具,如VB、VBA(Excel,Access)、VC等对SolidWorks进行二次开发,建立适合用户需要的、专用的SolidWorks功能模块,在此基础上实现零件及模具的参数化驱动。
Solidworks二次开发通常有两种形式:一是独立应用程序(standaloneapplication),用户程序作为一个独立的应用程序(*.exe),通过API接口调用SolidWorks提供的服务,完成对SolidWorks的控制和操作;二是插件形式(Add-Inapplication),用户程序作为一个插件(*.dll)集成到Solidworks中去。
插件形式下,用户程序跟Solidworks程序运行在同一进程空间,运行效率高,而且用户可以在SolidWorks中添加自己的菜单、工具栏、属性页等,使用户程序跟Solidworks程序浑然容为一体。
由于插件程序跟SolidWorks运行在同一进程空间,插件程序的异常会导致solidworks程序的不稳定,因此在做开发时也要更加小心。
solidworks二次开发毕业论文 超好
摘要:SolidWorks是一种非常优秀的三维机械设计软件,但是它缺少国家标准零件库,为机械设计工作带来了不便。
VB是一种简单易学,而且功能强大的高级编程语言,Access是一种容易使用,而且功能强大的数据库管理系统。
SolidWorks 提供了基于OLE自动化技术的API函数,可以使用VB为它进行二次开发。
螺纹联接的国家标准数据可以使用Access来管理。
使用VB为SolidWorks开发螺纹联接国家标准零件的专用模块,配合Access管理的国家标准数据,就可开发出针对SolidWorks的国家标准零件库模块。
把模块编译成SolidWorks的插件,然后用菜单的方式挂到SolidWorks系统中,可以使螺纹联接国家标准零件模块的使用更加方便。
关键词:标准零件标准零件库螺纹联接标准零件库二次开发 SolidWorksAbstract:The SolidWorks is a real fair 3D machine design software, But it be in defect of the Lib of the national standard parts, that works to bring for machine design very inconvenient. VB is a easily study, and powerful computer high class language, Access is an easy usage, and powerful DBMS. The SolidWorks provided mass API functions base the OLE Automation technique, Can be use the VB to development two times for it. The national standard data of the thread linker can use the Access to manage. Can be use the VB develop the Lib of the national standard parts of thread linker for SolidWorks, and the National standard data that manage by Access, Can develop the appropriation molds of the Lib of the national standard parts of thread linker for SolidWorks. Let the appropriation molds edit and translate it be the Add-ins of the SolidWorks, then use the menu to hang in the SolidWorks system, and can make the Lib of the national standard parts of thread linker more convenient.Key words:The standard parts; The Lib of the standard parts The Lib of the national standard parts of thread linker;Two times development; SolidWorks第一章绪论1.1 SolidWorks系统简介目前,在我国的CAD市场上比较流行的三维CAD软件有SolidWorks、MDT、UG、Pro/E SolidEdge 等。
基于VB语言的SolidEdge二次开发探讨
( ) ! ! " # # $
张琪锋
杨淑涛
曾详泉
(0 : ( / 1 2 & 34 ’ 1 5 ’ 067 " ) /7 ! 7 ( “ ” ) 5 1 ’ 8 9 6 4 : 0 1 4 ; ( " ( “ ” ) 5 1 ’ 8 9 6 < = > : ( 0 1 " 7 “ !3 插 ( (@ 5 1 ’ " 1 ’ ( > 3 ’ ?7 7 入点:” ) ) ( ( “!3 直 5 1 ’ 1 ’ 0 > 5 ’ " ?0 @ 7 径0 :” ) ) ( (" " ) ) 5 1 ’ 6 A B0 ? ( (" " ( ) ) ) 5 1 ’ A !0 5 6 ’ B ?; ? ( ( (C ( ) ) (C ( ) (" " ) ) ) ) 5 1 ’ / = > 5 ’ 4 9 6 " ; 4 9 0 6 " A B; ?7 7 7 ( ( ( ( ) ) ( ( ) (" " ) ) ) ) 5 1 ’ ! = > 5 ’ D 4 9 6 " ; D 4 9 0 6 " A B; ?7 7 7 ) ( “ ” 4 ( : : 9 3 0 4 > 6 4 = 1 "6 7
5 7 JK 2 3 B 8 7 , 9 , ( / 0 ; J ( M 0 N O 2 8 7 . ; + 7 ) ‘定义对 L ’ ’2 E ’ ’ 象 5 7 JK 5 .2 3 B 8 7 , 9 , ( P ; 0 + O P ; 0 + 5 . * J ( ) + ‘定义对象 L E & )9 0 0 0Q ( 3 * J (R ( S + (, “ ” ) B ( + K 2 =? ( + & K ( . + B 8 7 , 9 , ( O 2 8 7 . ; + 7 ) L ’ ’ L E ’ ’ ‘连接到已打开的 B 8 7 , 9 , ( E 1 <9 0 0> : ( ) 9 0 0 O D 8 ( ; 0
基于VB的SolidWorks的二次开发与应用
图 3 轴承数据库界面
参考文献
[1] 江洪,魏峥,王涛威.SolidWorks 二次开发实例解析[M].机械工业社, 2004.
[2] 李传君,施卫东,曹为东.VB 技术对 SolidWorks 的二次开发在双流道 叶轮中的应用[J].江苏大学学报,2002.
[3]陈岳坪,陈敏,肖学勤.SolidWorks 的界面设计技术[J].广西工学院学报, 2003.
Dim swap As Object Dim Part As Object Dim boolstatus As Object
·49·
《精密制造与自动化》
Dim longstatus As Object Dim Annotation As Object Dim Gtol As Object Dim DatumTag As Object Dim FeatureData As Object Dim Feature As Object Dim Component As Object Sub main() Set swApp=CreateObject(“SldWorks.Application”) Set Part=swap.ActivateDoc … … End Sub
列化的轴承,这些轴承将在设计时,反复地在装配 体的不同位置被选用,而且规格大小不同。本实例 将建立单列向心球轴承的三维模型库,用户选取各 种规格的尺寸时,能够自动从模型库中取出,以便 插入到装配体中。这样可以大大简化设计工作,提 高设计频率。具体生成标准件的方法是:运用模板 建立基本造型,然后更改关键尺寸,重新建模,完 成标准件调用。 3.1 分析结构特征,建立轴承实体模型
最简单的二次开发工具是 VBA,在涉及 Excel 时用 VBA 最为方便,VBA 常用于录制宏,得到基 本程序框架。易学易用的高级开发语言是 VB,但 功能有限。功能强大的语言是 Visual C++,但是入 门较难。Delphi 集中了 VB 和 Visual C++两者的优 点,学习过程中很容易上手,而且功能也非常强大, 尤其在界面设计、数据库编程和网络编程方面更具 有独到之处,但遗憾的是 SolidWorks 常常不支持 Delphi+OLE。
基于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二次开发的编程技巧与实现方法
用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通过对宏录制的源代码的修改与完善,便可以运行该宏文件。
VB对solidworks进行二次开发入门2种方式
VB对solidworks进⾏⼆次开发⼊门2种⽅式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中的绘制圆的函数,是以半径为参数。
基于VB的SolidWorks二次开发
ห้องสมุดไป่ตู้
动化。
收稿日期: 2005- 10- 09
131 机械工程师 2006 年第 3 期
制 造 业 信 息 化 Ma n u fa c tu rin g In fo rm a tio n a liz a tio n
图 3 尺寸参数表
图 4 VB 中参数定义界面
图 1 SolidWor ks2004 的接口关系图
[ 参考文献] [ 1] 温 诗 铸 , 黎 明. 机 械 学 发 展 战 略 研 究 [ M] . 北 京 : 清 华 大 学 出 版
社, 2003, 43- 45. [ 2] Kazuki MIZUTANI, Kazumichi KATO and Kazumasa NAKAMU-
RA. Active vibration control of rotating shaft supported by flexible bearings ( 1st report, application of the principle of a dynamic absorber [ A] . Transactions of Japan Society of Mechanical Engi- neers Part C[ C] . 595621993, JSME: 1710- 1716.