sw二次开发文档
- 格式:doc
- 大小:181.00 KB
- 文档页数:21
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插件项目中,我们需要编写适当的代码来实现螺纹零件的自动生成逻辑。
基于AGW和PRO/E的平面凸轮参数化三维建模技术的研究凸轮机构广泛应用于纺织机械、印刷机械、食品机械、内燃机、自动化仪表以及各种轻工机械中。
凸轮机构之所以得到了如此广泛的应用,是因为它兼有传动、导向及控制机构的各种功能,可以驱动从动件实现复杂...0 引言凸轮机构广泛应用于纺织机械、印刷机械、食品机械、内燃机、自动化仪表以及各种轻工机械中。
凸轮机构之所以得到了如此广泛的应用,是因为它兼有传动、导向及控制机构的各种功能,可以驱动从动件实现复杂的运动规律。
正是由于凸轮机构的这一特点,决定了在设计凸轮轮廓时首先要考虑从动件的运动规律。
也就是说,必须根据从动件的运动规律来确定凸轮的轮廓曲线,这就给凸轮的三维实体建模带来了很大难度。
因此,利用机械三维设计软件设计凸轮时,既要考虑凸轮机构从动件的运动规律,又要考虑不同运动规律作用下凸轮轮廓的变化,这也是凸轮参数化三维建模的意义所在。
本文利用机械三维设计软件Pro/Engineer Wildfire 4.0对盘形平面凸轮进行了三维建模。
在生成凸轮轮廓曲线时,采用了尺寸驱动和参数化的方法,输人不同的结构参数,相应以得到了不同的凸轮轮廓。
同时,利用Visual Basic6.0设计了独立的程序界面,通过接口程序A utomation Gateway 4.2(AGW)驱动Pro/Engineer实现了平面凸轮轮廓的参数化设计。
这种方法简单、快捷,不仅可以大大提高PROE二次开发的效率,同时对于平面凸轮机构参数化三维建模而言也是一种行之有效的设计方法。
1 设计方法通常,在设计凸轮时,先根据工作要求确定从动件的运动规律,然后根据这一运动规律设计凸轮的轮廓。
传统的凸轮轮廓的设计方法有作图法和解析法两种,以解析法最为常用,解析法是基于反转法的原理,先求出凸轮轮廓曲线方程式,再精确计算出凸轮轮廓曲线上各点的坐标值。
以偏心直动滚子从动件为例,设凸轮机构的偏距为e;基圆半径为r0;转向系数η,当凸轮转向为顺时针时δ为1,转向为逆时针时为一1;经过滚子中心的从动件导路线偏于Y轴正侧时δ为1,偏于Y轴负侧时δ为一1。
基于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课题研究背景和意义液压部件因具有结构简单、工艺适应性强、环境污染小等其他设备不可替代的性能特点,被广泛应用于汽车制造、航空航天、国防、电力电子、塑料、机械、冶金和轻工等国民经济的各个领域。
/ShowForum.aspx?id=36&ClassID=57对法恩特插件进行外部操作1想必大家对法恩特的插件不陌生的;大概是第一款完整的标准件的插件;空闲的时候做了个小程序,用来对FNT插件进行外部操作,目的是用其他外部程序控制法恩特的软件窗口工作;首先用到win32 api函数:findwindows;Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long把这句话加到vb程序的声明中,这样在程序里面就能调用findwindows函数来寻找FNT的窗口了,本质上来说每个windows窗口都有一个唯一的句柄,可惜每次运行窗口的时候句柄的值是变动的;hwnd = FindWindow(vbNullString, "法恩特标准件库--螺栓")如果“法恩特标准件库--螺栓”这个窗口是打开着的,我们就能利用上面的语句找到这个窗口的句柄;hwnd这个函数的真值就是句柄;这是第一步,只有找到了句柄才能够对这个特定的窗口进行操作;如果需要对其他窗口操作把语句中的窗口名称换掉即可:如:hwnd = FindWindow(vbNullString, "法恩特标准件库--轴承")hwnd = FindWindow(vbNullString, "法恩特标准件库--螺母")hwnd = FindWindow(vbNullString, "法恩特标准件库--垫圈")hwnd = FindWindow(vbNullString, "法恩特标准件库--密封件")这个是随意换的;如果想操作solidworks窗口,就换成:hwnd = FindWindow(vbNullString, "Solidworks Office Premium 2007")一样可以得到sw软件的运行窗口;抱歉我用的是sw2007;机器破,没办法;补充一点:在用上面的hwnd语句之前,要加一个hwnd的定义:Dim hwnd As Long这样就把hwnd的类型规定为长整型;找到hwnd,也就是上面所说的句柄是打算干什么呢?当然是为了找到这个窗口里面显示的其他控件;怎么找呢?下次再写给大家;我们说到hwnd是句柄,也就是法恩特窗口的句柄;我们来看上图:图中有“确定”“取消”按键,这是我们软件中经常有的东西,这种东西有个专有名称叫控件,是专门做出来的一个软件集合,可以供编程者调用;图中也还有其他种类的控件,我们可以数一下,一共是12个控件;其中包括“标准件类型”这样的字段也是用控件的形式做出来的。
基于SolidWorks的二次开发应用I. 为什么选择SolidWorks作为二次开发平台A. SolidWorks的市场份额和优势B. SolidWorks的开发工具和程序界面C. SolidWorks的二次开发应用范例II. SolidWorks二次开发应用的基本原理A. SolidWorks API的介绍B. SolidWorks事件和回调机制C. SolidWorks二次开发常用语言III. SolidWorks二次开发应用的案例分析A. 基于SolidWorks的机械自动化设备设计B. 基于SolidWorks的图像处理算法应用C. 基于SolidWorks的虚拟现实应用开发IV. SolidWorks二次开发应用的实现步骤A. 二次开发环境配置B. SolidWorks API开发流程C. 开发测试和调试V. SolidWorks二次开发应用的展望与趋势A. 三维协同设计和云端协同设计的应用趋势B. SolidWorks二次开发应用在智能制造领域的发展前景C. 其他相关领域的应用探索以上是基于SolidWorks的二次开发应用的论文提纲,可参考进行论文写作。
第一章:为什么选择SolidWorks作为二次开发平台I. SolidWorks的市场份额和优势SolidWorks是一种专为机械设计而打造的CAD软件平台,其在全球的市场份额非常大,因为其提供了丰富的设计工具和功能,可以满足不同行业客户的需求。
同时,SolidWorks支持第三方二次开发,其API提供了各种接口和工具,可以帮助开发者进行高效的工作。
II. SolidWorks的开发工具和程序界面对于SolidWorks的二次开发,开发工具与C#、等编程语言集成在一起,极大的方便了开发者的使用。
其应用程序编程接口(API)包含大量可用的对SolidWorks进行编程的命令和函数,使得开发者可以通过程序来图形化地创建、修改和分析模型,而不需要在SolidWorks中手动进行这些操作。
2.3 Solidworks 二次开发Solidworks是在windows环境下实现的三维机械CAD软件。
它采用了windows用户界面,拥有强大、动态激活的属性管理器,以灵活的草图绘制为基础,辅助以特征建立能力以及装配控制功能,并提供了自由、开放、功能完整的API开发工具接口。
这些功能使solidworks实现了三维CAD软件所提倡的易操作性、高效性以及功能完全性。
Solidworks软件进行参数化建模的主要技术特点是:(1)基于特征.将某些具有代表性的平面几何形状定义为特征,并将其所有尺寸存为可调参数,进而形成实体,以此为基础来进行更为复杂的几何形体的构造。
(2)全尺寸约束。
将形状和尺寸联系起来考虑,通过尺寸约束来实现对几何形状的控制。
(3)尺寸驱动设计通过编辑尺寸数值来驱动几何形状的改变,尺寸参数的修改将导致其他相关模块中的相关尺寸的全盘更新。
采用这种技术的理由在于它能够彻底地克服了自由建模的无约束状态,几何形状均以尺寸的形式而被牢牢地控制住.Solidworks通过OLE(对象的嵌入与链接)或者COM为用户提供了自由开放、功能完整的二次开发接口(API)。
因此,凡支持OLE和COM编程的开发工具,诸如Visual Basic、Visual C++等均可用于Solidworks的二次开发,以创建出使用人员所需的、专门化的Solidworks应用模块。
Solidworks支撑Activex Automation技术,在VB环境下建立客户程序可以直接访问Solidworks中的对象,在这里,为求方便,我们可将solidworks理解为一个服务程序,把二次开发工具的VB程序作为客户程序,它们之间只是服务器与客户的关系.用户主要在VB上进行操作,VB就可以驱动Solidworks完成相应的工作。
通过调用API对象属性的设置和方法,就可以在开发的程序中实现与solidworks相同的功能。
对于一般零件我们可采用人机交互的形式建立模型,设定合理的设计变量,再通过VB程序驱动设计变量实现模型的更新方法,系统开发流程如图2-5示:图2-5二次开发几乎是所有应用CAD 软件企业的共同需求,商品化软件开发机构为了开拓市场、扩大市场份额、保持产品的市场地位,也非常重视企业在应用CAD 软件时的这个共性需求.本设计阐述了利用SolidWorks API接口开发嵌入式功能模块以扩充原SolidWorks 功能的关键技术,已在企业SolidWorks 二次开发中得以广泛运用,并且形成了客户化定制的SolidWorks软件系统,具有明显的实用价值。
1.绪论1.1 课题研究的意义任何设计都是时代的产物,它的不同的面貌,不同的特征反映着不同的历史时期的科技技术水平。
技术是产品形态发展的先导,新材料,新工艺的出现,必然给产品带来新的结构,新的形态和新的造型风格。
材料、加工工艺、结构、产品形象有机地联系在一起的,某个环节的变革,便会引起整个机体的变化。
夹具业多样化发展使得通用的夹具CAD软件不能完全满足企业的特殊要求,所有研究在通用图形软件的基础上二次开发企业自主的夹具CAD系统十分必要。
如果进行二次开发,可以全面扩展其功能或将其功能集成到客户应用程序中,从而实现完全客户化【1】。
夹具可分为通用夹具、组合夹具、专用夹具几类。
组合夹具和专用夹具设计时需要进行一系列的定位、夹紧、装配设计才能满足生产的要求。
随着生产节奏的加快,能在短时间内由标准元件组装完成的组合夹具,受到诸多企业普遍的青睐。
其不足之处是外形尺寸较大,笨重;刚性较差,同时由于所需元件的储备量大,故一次性投资费用较高;而且目前组合夹具的设计和组装仍采用落后的人工拼装和管理方法,大多数企业的组合夹具是根据工艺人员设计的工序图由组合夹具组装站进行组装。
由于没有详细的装配图,组装时往往需要经过多次安装、调整才能达到要求,比较费时费力,不仅效率低、周期长,而且装配质量依赖丰富的生产经验和技术熟练的技工,这正是企业短缺的人才,客观上成为限制组合夹具广泛应用的障碍。
另外,有些复杂的组合夹具由于装夹精度高,对人的经验依赖程度高,组装站担心拆卸后难以恢复,故需要长期保存,这就造成组合元件长期被占用,影响组合元件周转使用。
所以,在如今的市场上如果提供一个选择,并考虑到当今的科技,客户会喜欢根据其具体的需求选择一个产品建造。
产品的定制通常需要个人拥有必要的产品知识和设计技能,并把它们应用在客户所需的要求和规格上,而且这个过程通常需要耗费很多时间。
如果应用软件进行二次开发建立一个标准件三维实体模型库,用户选择标准件时,便能自动从库中取出,然后插入到装配体的指定位置,将大大简化设计工作,提高设计效率。
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个宏程序列表供选择。
VBA(Visual Basic for Application)实际就是集成在应用程序内部的开发语言,可以看作是VB的简化版本。
使用VBA 编写的程序即称为“宏”。
注意,VBA编写的宏是不能脱离应用程序而独立运行的,例如SW的宏必须在SW环境下运行。
在SW中打开VBA的方法:使用菜单【工具/宏操作/新建...】或者【工具/宏操作/编辑】第一课简单的VB知识VB是我们使用的开发工具,多了解VB知识有助于我们更好的进行SW的二次开发。
如有可能,请尽可能抽出时间认真学习VB。
VB是面向对象的开发工具。
所以“对象”是我们所需要操作的核心。
对象代表应用程序中的元素,例如草图直线、拉伸特征。
如果我们需要在SW中画一条直线,实际就是添加一个草图直线对象。
如果需要修改拉伸特征的定义实际就是编辑拉伸特征对象。
每个对象都有自己的“属性”和“方法”。
“属性”描述了对象的特性,例如Layer(图层)对象有这样几个属性:Name(名称),Color(颜色),Widty(线宽)。
显然,只要我们将这几个属性一一表述清楚就可以准确的描述出这个图层对象的特性。
“方法”就是对象所能进行的操作。
例如PartDoc(零件文档)对象有这个方法:SaveToFile2。
只要我们获得了PartDoc 对象,就可以使用这个方法将当前选择的曲面或实体保存为文件。
提示:对于简单的VB知识,可以查看VBA的帮助。
(打开VBA的编程界面,然后使用菜单【帮助/VB 帮助】,或者直接按 F1 键)第二课 SW的对象模型我们可以SW的API帮助查询SW相关的对象、属性和方法。
打开SW,使用菜单【帮助/SW API和插件帮助主题】,在弹出的帮助窗口中选择【索引】标签,并输入关键字“object”,然后双击想要查看的主题(object diagram, SolidWorks API)。
如需要进一步查询某个对象的具体信息,可以点击图片中对应的对象明。
例如,我们单击“SldWorks”,(如果你很熟悉对象名,可以直接在索引中输入对象名,这样查询对象的属性和方法更便捷) 。
VBA(Visual Basic for Application)实际就是集成在应用程序内部的开发语言,可以看作是VB的简化版本。
使用VBA 编写的程序即称为“宏”。
注意,VBA编写的宏是不能脱离应用程序而独立运行的,例如SW的宏必须在SW环境下运行。
在SW中打开VBA的方法:使用菜单【工具/宏操作/新建...】或者【工具/宏操作/编辑】第一课简单的VB知识VB是我们使用的开发工具,多了解VB知识有助于我们更好的进行SW的二次开发。
如有可能,请尽可能抽出时间认真学习VB。
VB是面向对象的开发工具。
所以“对象”是我们所需要操作的核心。
对象代表应用程序中的元素,例如草图直线、拉伸特征。
如果我们需要在SW中画一条直线,实际就是添加一个草图直线对象。
如果需要修改拉伸特征的定义实际就是编辑拉伸特征对象。
每个对象都有自己的“属性”和“方法”。
“属性”描述了对象的特性,例如Layer(图层)对象有这样几个属性:Name(名称),Color(颜色),Widty(线宽)。
显然,只要我们将这几个属性一一表述清楚就可以准确的描述出这个图层对象的特性。
“方法”就是对象所能进行的操作。
例如PartDoc(零件文档)对象有这个方法:SaveToFile2。
只要我们获得了PartDoc 对象,就可以使用这个方法将当前选择的曲面或实体保存为文件。
提示:对于简单的VB知识,可以查看VBA的帮助。
(打开VBA的编程界面,然后使用菜单【帮助/VB 帮助】,或者直接按 F1 键)第二课 SW的对象模型我们可以SW的API帮助查询SW相关的对象、属性和方法。
打开SW,使用菜单【帮助/SW API和插件帮助主题】,在弹出的帮助窗口中选择【索引】标签,并输入关键字“object”,然后双击想要查看的主题(object diagram, SolidWorks API)。
如需要进一步查询某个对象的具体信息,可以点击图片中对应的对象明。
例如,我们单击“SldWorks”,(如果你很熟悉对象名,可以直接在索引中输入对象名,这样查询对象的属性和方法更便捷) 。
第三课开始简单的编程如何使用SW提供的这些对象进行我们的二次开发,我们来看看下面这个简单的例子。
我们可以看到SW众多的对象中,SolidWorks对象(SW应用程序对象)处于最顶层,所以获得SldWorks对象是首先要做的Set swApp = Application.SldWorks上面这条语句的作用是将swApp变量设置成为SW应用程序对象,获得应用程序对象之后,我们就可以使用他的方法来完成我没需要的功能。
例如,现在我们需要知道当前SW所使用的语言。
Lang = swApp.GetCurrentLanguage()使用swApp对象的GetCurrentlanguage方法,并将返回值赋予变量Lang。
完整的程序是这样:ASP/Visual Basic代码1. Sub main()2. Set swApp = Application.SldWorks3. Lang = swApp.GetCurrentLanguage()4. MsgBox Lang '弹出消息框,显示当前SW使用的语言5. End Sub具体的操作方法是这样:•打开SW;•使用菜单【工具/宏操作/新建...】;•输入文件名,并保存;•显示VBA的工作界面;•删除窗口中自动生成的程序代码,然后将上面的程序复制到窗口中(中括号内的部分,不包括中括号;•使用工具栏上的保存按钮,保存结果;•使用菜单【运行/运行子过程】,或者单击工具栏上的运行按钮(蓝色箭头);•显示运行结果。
第四课关于变量的声明一般在变量使用前,都要首先声明变量,下面来看看声明对象变量的方法:Dim swApp As ObjictswApp As SldWorks.SldWorks上面两段语句的作用都是声明了对象变量“swApp”。
前一段语句将变量声明为一般的对象类型,后一段语句将变量声明为指定的对象类型(此例中声明为Solidworks应用程序对象)。
声明指定的对象类型提供自动的类型检查,更快的代码,并增加可读性。
建议尽量使用这种声明的方法。
如果有的对象只有在程序执行时才能确定起变量的类型,在编程时不能确定其确切的类型,那么就可以将其声明为一般的对象类型。
下面列举几个SW种常用对象的声明:Dim swApp As SldWorks.SldWorks 'SW应用程序对象Dim swModel As SldWorks.ModelDoc2 '文档对象Dim swPart As SldWorks.PartDoc '零件文档对象Dim swAssembly As SldWorks.AssemblyDoc '装配体文档对象Dim swDrawing As SldWorks.DrawingDoc '工程图文档对象Dim swFeature As SldWorks.Feature '特征对象Dim swSelectMgr As SldWorks.SelectionMgr '选择管理器对象第五课在开发环境中添加类型库的引用先看看添加引用的方法:通过菜单【工具/引用...】,在对话框中选择下面两项 (根据SW的不同,名称可能略有不同)。
SldWorks 2006 Type LibrarySolidWorks 2006 Constant Type Library前一项定义了SW中的所有对象。
如果在你的程序中需要操作SW的对象,就不要忘记选中它。
在默认的环境中已经选择了这项。
(如果你需要在程序中操作Excel对象,例如读取表格数据,那么不要忘了选中Execl对象库的应用)。
后一项定义了二次开发中会用到的SW中所有的常量,默认环境中没有选择,需要自己添加引用。
让我们举个例子看看它用什么作用。
下面是一个典型的创建新文档的语句set newDoc = SldWorks.NewDocument ( ***, swDwgPaperA3size, ***, *** )set newDoc = SldWorks.NewDocument ( ***, 8, ***, *** )两句语句作用是相同的,但是前一句的可读性更好,我们可以很直观的看到创建了一个A3大小的文档。
如果没有添加对SW常量的引用,那么,前一种写法将导致程序运行出错。
第六课赋值和引用 (Let & Set)对于变量的赋值,我们使用Let语句,如:Let a = 10我们也可以省略Let,如上句也可写成:a = 10对于对象的引用,我们使用Set语句,如:Set obj1 = ***;注意,Set不能省略。
赋值和引用是有区别的,如:a = 10b = a上例中出现了两个变量,这两个变量是独立的,虽然此时他们的值都是10,但是,如果修改其中一个变量的值并不会影响另一个变量。
Set obj1 = ***"q [m R ` ? A2BSet obj2 = obj1上例中也出现了两个变量,但他们引用了同一个对象,无论如何修改对象,都会同时反映到两个变量。
其实,引用只是建立了一个访问对象的路径,即使上例中两个变量都被释放,对象依然存在,只是暂时不能被访问而已。
第七课录制宏——快速写代码的方法所谓录制宏,就是记录人的操作过程,并将其转换成程序代码。
注意,并不是所有的操作都能被转换成代码的,而且,自动录制的程序对环境的要求比较严谨,导致录制的程序兼容性很差。
所以,在真正的开发中,录制宏只能担当辅助的角色。
但是录制宏易学易用,值得初学者学习。
以下是录制的过程,以及得到的程序。
第八课修改特征定义手动修改特征定义是我们经常作的事,当然,也可以使用程序自动完成。
(修改特征定义的操作是不能用录制宏功能记录的),让我们利用上边录制的程序来练练如何修改特征定义。
1. 获得特征对象(Feature Object)的引用我们可以很容易的找到程序中添加拉伸特征的语句,但是他没有建立引用。
自己手动改一下;原来:Part.FeatureManager.FeatureExtrusion True, False, False, 0, ...改为:Set featObject = Part.FeatureManager.FeatureExtrusion (True, False, False, 0, ...)2. 获得特征定义对象(Feature Definition Object)的引用注意,特征对象中保存的数据主要是特征的名称,特征的显示状态等信息,而特征定义对象中保存的信息才是我们需要的。
可以用 "GetDefinition" 方法获得特征定义对象的引用Set featObjDef = featObject.GetDefinition()3. 使用对象的属性和方法以获得需要的数据,例如获取拉伸特征第一方向的拉伸深度a = featObjDef.GetDepth(True)4. 修改特征定义,设置拉伸深度为原来的两倍featObjDef.SetDepth True, a * 25. 更新特征定义featObject.ModifyDefinition featObjDef, Part, Nothing编辑原文件,按以上步骤修改,并且在文档头部添加适当的变量声明,然后看看运行结果。
特别注意,无论你的模型使用的是什么单位制,在二次开发时,一律使用米(m)为长度单位,弧度(rad)为角度单位。
可以尝试一下,修改特征定义中的其他项目。
使用VBA进行solidworks开发指南专业交流2009-05-07 23:21 阅读69 评论0 字号:大大中中小小作者:marsarden 转载请注明在对solidworks原有功能进行改善的过程中,有效地利用solidworks提供给我们的应用编程接口(API)来编写提高我们工作效率的程序是其中手段之一。
本文在于总结作者进行此类开发的经验,给大家提供一些经验性建议。
目录第1章概述 (2)1.1 内容简介 (2)1.2 名词解释 (2)1.3 预备知识 (3)第2章录制、编辑、运行宏 (3)2.1 录制、编辑、运行宏基本步骤: (3)2.2 一些基本的建议: (3)第3章代码格式及帮助信息 (5)3.1 代码格式: (5)3.2 获得帮助: (6)第4章常用对象模型 (7)4.1 综述: (7)4.2 SldWorks.SldWorks : 84.3 SldWorks.ModelDoc2: (8)4.4 SldWorks.PartDoc、SldWorks.AssemblyDoc、SldWorks.DrawingDoc: (9)4.5 SldWorks.feature、SldWorks.Sketch : (9)第5章零件 PartDoc. 95.1 综述: (9)5.2 选择对象的话题: (10)5.3 访问并修改特征: 125.4 草图的话题: (17)第6章装配体 (18)6.1 综述: (18)6.2 组件的话题:插入零部件到装配体 (19)6.3 配合的话题:在装配体中添加配合 (22)6.4 由于说到参考,顺便讨论一下配合参考: (26)第7章工程图 (28)7.1 综述: (28)7.2 注释的话题: (29)7.3 生成图纸的话题:并讨论如何解决实际问题 (30)第8章总结: (40)第1章 arden says:像这样的 Part.ActiveView().RotateAboutCenter 0.0662574, 0.0346621 无情的删掉吧3、Delete all ModelDocExtension::SelectByID2 calls appearing immediately before ModelDoc2::ClearSelection2 calls. However, do not delete ModelDocExtension::SelectByID2 calls appearing immediately after ModelDoc2::ClearSelection2 calls. Delete all ModelDoc2::ClearSelection2 calls appearing immediately before ModelDocExtension::SelectByID2.删除所有紧挨ModelDoc2::ClearSelection2之前的ModelDocExtension::SelectByID2调用,不要删除紧挨ModelDoc2::ClearSelection2调用后的ModelDocExtension::SelectByID2。