基于Solidworks平台的二次开发技术
SolidWorks二次开发概述

SolidWorks二次开发概述随着计算机技术的发展,尤其是三维CAD技术的广泛应用,设计者在产品设计时,可以直接在计算机上构造三维实体,进行虚拟装配,利用软件内置的干涉检验等功能可以极大地确保设计合理与高效,缩短产品的设计周期,为产品的更新换代提供较大的便利。
设计者使用方便快捷、功能强大的三维CAD软件,与熟悉的Windows界面交互,可大大提高工作效率,也是企业进步的一个内在推动力。
作为三维建模软件中的佼佼者,SolidWorks软件是一款基于Windows平台开发的著名的全参数化三维实体造型软件,其设计过程全相关性,可以在设计过程的任何阶段修改设计,同时牵动相关部分的改变。
SolidWorks软件具有强大的零件设计、钣金设计、管理设计、绘制二维工程图、支持异地协同工作等功能,它可以实现由三维实体造型向二维工程图的转化,能够使零件设计、装配设计和工程图保持时刻的全相关和同步。
同时SolidWorks具有良好的开放性和兼容性。
它不仅可以向下兼容二维AutoGAD,使得以前采用AutoCAD软件进行的设计得以继续使用和转化,同时还可以与许多其它专业软件(如有限元分析软件Ansys、数据加工软件Camworks、数据管理系统SmarTeams、三维实体设计软件UG、Pro/E等)无缝集成为功能十分强大的CAD/GAE/CAM/PDM系统,完全能胜任大型工程与产品的设计、分析、制造和数据管理。
然而在工程实践中,其专业针对性不强。
因此,人们通常在此平台上运用各种二次开发工具,开发符合国家标准、适合企业实际应用的功能模块,以极大地提高这一通用系统的附加值,提高操作人员的工作效率与产品的质量与市场竞争力,更好地满足企业设计要求,更好地发挥CAD的效能。
通过对CAD软件的二次开发,可使CAD软件实现专业化、本地化。
SolidWorks通过COM(Component Object Model,组件对象模型)技术为用户提供了强大的二次开发接口(SolidWorks API),凡支持COM编程的开发工具,如Visual Basic, Delphi等均可用于SolidWorks的二次开发。
基于SolidWorks的二次开发应用

基于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中手动进行这些操作。
solidworksapi二次开发实例详解

SolidWorks API二次开发是指通过SolidWorks提供的API接口来实现对SolidWorks软件的二次开发功能。
这种开发方式可以使用户根据自身需求定制功能,提高工作效率,丰富软件的应用场景。
本文将通过详细的实例来介绍SolidWorks API二次开发的相关内容,帮助读者更好地理解和应用这一技术。
一、SolidWorks API介绍SolidWorks是一款流行的三维CAD软件,广泛应用于机械设计、工程设计、汽车工业等领域。
SolidWorks提供了丰富的API接口,允许用户通过编程的方式对软件进行定制和扩展。
通过API接口,用户可以实现诸如模型创建、几何操作、特征编辑、文件处理等功能,从而满足特定的设计和工程需求。
二、SolidWorks API二次开发实例下面将以几个实际开发场景为例,介绍SolidWorks API二次开发的具体实现方法和技巧。
1. 模型创建与编辑在SolidWorks中,用户可以通过API接口实现对模型的创建和编辑。
可以通过编程的方式创建各种基本几何体,如立方体、圆柱体、球体等。
也可以对已有的模型进行编辑和修改,包括几何参数的调整、特征的添加和删除等操作。
这为用户提供了更灵活的设计手段,使其能够更好地应对复杂的设计需求。
2. 数据导入与导出SolidWorks API还支持对外部数据的导入与导出。
用户可以通过编程的方式将其他格式的CAD文件导入到SolidWorks中,并在其中进行进一步的编辑和修改。
同样地,用户也可以将SolidWorks模型导出为其他格式的文件,以满足不同系统和软件的需求。
3. 自动化设计与分析利用SolidWorks API,用户可以实现一些自动化的设计和分析功能。
可以通过编程来实现一些复杂的几何操作,从而自动化地生成某类特定的设计。
也可以实现对模型的自动化分析,提取其中的某些关键信息,并进行进一步的处理和应用。
4. 用户界面定制除了对模型进行操作外,SolidWorks API还支持用户界面的定制。
基于solidworks二次开发毕业设计说明书

1.绪论1.1 课题研究的意义任何设计都是时代的产物,它的不同的面貌,不同的特征反映着不同的历史时期的科技技术水平。
技术是产品形态发展的先导,新材料,新工艺的出现,必然给产品带来新的结构,新的形态和新的造型风格。
材料、加工工艺、结构、产品形象有机地联系在一起的,某个环节的变革,便会引起整个机体的变化。
夹具业多样化发展使得通用的夹具CAD软件不能完全满足企业的特殊要求,所有研究在通用图形软件的基础上二次开发企业自主的夹具CAD系统十分必要。
如果进行二次开发,可以全面扩展其功能或将其功能集成到客户应用程序中,从而实现完全客户化【1】。
夹具可分为通用夹具、组合夹具、专用夹具几类。
组合夹具和专用夹具设计时需要进行一系列的定位、夹紧、装配设计才能满足生产的要求。
随着生产节奏的加快,能在短时间内由标准元件组装完成的组合夹具,受到诸多企业普遍的青睐。
其不足之处是外形尺寸较大,笨重;刚性较差,同时由于所需元件的储备量大,故一次性投资费用较高;而且目前组合夹具的设计和组装仍采用落后的人工拼装和管理方法,大多数企业的组合夹具是根据工艺人员设计的工序图由组合夹具组装站进行组装。
由于没有详细的装配图,组装时往往需要经过多次安装、调整才能达到要求,比较费时费力,不仅效率低、周期长,而且装配质量依赖丰富的生产经验和技术熟练的技工,这正是企业短缺的人才,客观上成为限制组合夹具广泛应用的障碍。
另外,有些复杂的组合夹具由于装夹精度高,对人的经验依赖程度高,组装站担心拆卸后难以恢复,故需要长期保存,这就造成组合元件长期被占用,影响组合元件周转使用。
所以,在如今的市场上如果提供一个选择,并考虑到当今的科技,客户会喜欢根据其具体的需求选择一个产品建造。
产品的定制通常需要个人拥有必要的产品知识和设计技能,并把它们应用在客户所需的要求和规格上,而且这个过程通常需要耗费很多时间。
如果应用软件进行二次开发建立一个标准件三维实体模型库,用户选择标准件时,便能自动从库中取出,然后插入到装配体的指定位置,将大大简化设计工作,提高设计效率。
基于SolidWorks二次开发的零件三维参数化设计及装配

图 5 用户自定义参数类型
pM odelD oc- > ICreateC ircleByR ad ius2( 0, 0, 0, R1, & retval2 ) ; / / 画圆 pSketchM gr- > Sk etchT rim ( 0, a, b, 0, & retval) ; / /剪裁 R1 下 半圆 pFeatureM anager- > Featu reE xtrus ion( true, false, false, 0, 0, L3 / 2, 0. 01, false, false, false, false, p i /180, p i/ 180, false, false, false, false, 1, 1, 1, & retval3) ; / /拉伸形成基本轮廓 pM odelD ocExt- > SelectByID 2 ( - T ( " " ), - T ( " EDG E " ), 0, -
Science T echno logy and Eng ineering
V ol 10 N o 7 M ar 2010 2010 Sci T ech Engng
基于 SolidW orks二次开发的零件三维参数 化设计及装配
赵盼张 燕薛峰李健
( 辽宁石油化工大学计算机与通信工程学院, 抚顺 113001)
/ /将其 显 示 在
}
主 要 的 ADO 对 象 有 Connection、Comm and、
SolidWorks的二次开发技术

SolidWorks的二次开发技术对SolidWorks的二次开发技术的目的:Solidworks是一套基于Windows平台的CAD/CAE/CAM/PDM桌面集成系统,具有功能强大、易学易用和技术创新三大特点。
该软件可以最大限度的满足设计者的设计意图、可以完成复杂的产品设计、高性能的大型装配、高级曲面造型和设计修改;显示动态装配关系;集设计、分析、加工和数据管理于一体;动态模拟装配过程;计算质量特征,如质心、惯性矩等。
将二维绘图与三维造型技术融为一体,将三维实体图自动转换成二维平面图,且SolidWorks是全参数化特征造型软件,并利用全相关技术使得零部件之间和零部件与图纸之间的更新完全同步。
采用了Windows风格的拖/放、点/击、剪切/粘贴等技术。
对设计者来说,操作简单方便、易学易用。
同时提供了全相关饭金设计功能,技术先进的网络工具和几乎所有的CAD软件的输入输出格式转换器。
开发工具的选择:SolidWorks采用了COM技术标准,将复杂的应用程序设计成许多小的、功能相对简单的组件软件,各个组件软件完成某些特定的功能,同时按照COM标准对外提供接口,然后把这些独立的软件组件粘合在一起组成了功能强大、能满足企业产品设计的集成系统。
同时Solidworks为用户提供了强大的二次开发接口,任何支持OLE和COM的编程语言都可以作为SolidW0rks的开发工具。
如VisualC++、VisualBasie、DelPhi等等均可用于SolidWorks的二次开发。
目前,比较常用的二次开发工具是VisualC++6.0和VisualBasie6.0。
VisualC++6.0开发Solidworks的方法:1.从Sohdworks公司的网站下载向导文件Swizard.awx,将其拷贝到MicrosoftVisualStudiO\Conunon\MsDeve98\Bin\lDE目下。
这样就在VisualC++6.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。
SOLIDWORKS API二次开发

处装配平板,划线平板,检验平板,铆焊平 板,大理石平板,铸铁工作平...
装配平台-河北量具生产基...
主打产品:铸铁平板,基础装配平台,划线 铸铁平板,装配平台,检验平...
各种装配流水线-温岭展宏..._二次开发吧_基于SW VB的二次开发简介~
页码,1/9
新闻 网页 贴吧 知道 MP3 图片 百科
二次开发
nmlkji 进入贴吧 nmlkj 贴子搜索览贴子 添加到搜藏 | 快速回复
1 基于SW VB的二次开发简介~
/f?kz=104074介~
SolidWorks功能模块。SolidWorks 是一个非常开放的系统,提 供了VB ,VC + + 和其他支持OLE 的开发语言接口。提供给用户 必要的工具(宏语言、库函数等) 以开发个人化的应用模块,并 且易于将它集成到系统中去。用VB 或VC + + 调用 SolidWorks 的API 函数,可以完成零件的建造、修改;零件各特 征的建立、修改、删除、压 缩等各项控制;零件特征信息的提取,如特征尺寸的设置与提取, 特征所在面的信息提取及各种几何和拓扑信息;零件的装配信 息;零件工程图纸中的各项信息;还可在SolidWorks主菜单上增 加按钮,将自己开发的应用模块嵌入到它的管理系统中。
OLE技术 OLE就是对象的嵌入与连接,它使得应用程序之间能够通过数据 的嵌入或连接的方式来共享数据。含有嵌入或连接文档的应用 程序被称为容器程序,提供文档数据编辑的应用程序被称为服 务器程序。OLE2.0推出以后,OLE已经不再是对象的嵌入和连接 的缩略词。不妨认为ActiveX是OLE3.0,事实上ActiveX是OLE在 网络上的扩展,它使用了OLE技术并且超过了本地机器的范围。 自动化技术Automation是OLE技术的一个重要内容。直到今天, 自动化技术扩充和发展为ActiveX Automation,它适用于OLE对 象和ActiveX对象。自动化技术由客户程序和服务器程序组成, 客户程序是操纵者与控制者,服务器程序是被控制者,它包含 了一系列的暴露对象。服务器应用程序通过自身对象的属性、 方法、事件外显其功能;对象的服务器程序简单而抽象的代 表。而客户应用程序则通过操纵服务器应用程序所暴露的一系 列对象来操纵服务器应用程序。只要服务器程序提供一定的接 口,可以使任何对象实现自动化。对象包含的一些外部接口, 它们被称为方法与属性。方法是自动化对象的一些函数,它们 是提供给客户程序的外部公共成员函数,属性是一个对象的一 些命名特性,即对象的一些共有数据域。操纵程序被称为客户 (Client),而被操纵程序称为服务器(Server),被操纵的对象是 ActiveX对象如果应用程序支持OLE技术,则在不同应用程序之 间的切换由OLE自动完成。SolidWoks支持OLE标准,完全实现了 OLE自动化,前已提及,SolidWoks具有开放的结构体系,它的 这种开放性体现在它所提供的API对象上。API是一个对 SolidWoks的应用编程接口 (Application Programming Interface),包含了几百个对象及 其属性、方法和事件,这正是SolidWoks为用户提供的功能强大 的二次开发接口,凡支持OLE编程的开发工具, 如 Visual C++、Visual Basic、Dephi等均可从各自本身操作 这些对象,从而直接行使SolidWoks的功能,如画一条直线,拉 伸一个凸台,或修改一个表面的参数等。利用这种方法可以完 成SolidWoks的二次开发,创建出用户定制的、专用的 SolidWoks功能模块。在本课题中,我们用VB来控制SolidWoks
[毕业设计精品]基于solidworks二次开发平台,对齿轮滚刀进行三维参数化设计[管理资料]
![[毕业设计精品]基于solidworks二次开发平台,对齿轮滚刀进行三维参数化设计[管理资料]](https://img.taocdn.com/s3/m/aec28bc60b4c2e3f562763c8.png)
机械工程学院前言齿轮在各种机械、汽车、船舶、仪器仪表中广泛应用,是传递运动和动力的重要零件。
机械产品的工作性能、承载能力、使用寿命及工作精度等,均与齿轮的质量有着密切的关系。
工厂里生产的机械零件质量和精度的提高,需要较好的加工设备和刀具。
特别是刀具在生产过程中起着及其重要的作用,它决定产品的质量。
目前,机械制造业领域中,产品的生产批量以及种类已经迅速转型,由同一产品转变为生产批量不同,种类不同的大量产品,以适应国内外市场的变化和多元化的需求,而这一转变的实现要求工具的设计、制造、市场等各方面的信息交流必须及时准确,而传统的工艺装备设计手段,仍停留在手工绘图、人工操作绘图软件的水平上,这种状况已经不适应当前的需求了;因此,CAD参数化设计技术在齿轮刀具行业中的应用显得越来越重要。
CAD参数化设计是基于三维绘图软件的二次开发,结合与其自身相关的编程语言,利用计算机实现产品设计和制造自动化,它能提高产品的性能和质量、提高产品的可靠性、降低成本和加强市场竞争力。
本文主要介绍了滚刀参数化设计软件的运行环境、模块的划分与具体组成要素、模块的功能。
着重对三维造型参数化驱动原理进行了分析,阐述了实现的方法。
最后对界面设计和功能作出分析,并提出一些修改的意见。
软件开发作为一次毕业设计来完成,既融合了专业知识,也5涉及了可视化编程工具(VB)以及数据库相关知识,两者的结合应用对我本人来讲收获很大。
此次毕业设计,杨波老师和徐莹老师作为我的指导老师,在整个设计过程中,献出宝贵的时间,不惜劳苦为我们指导设计,讲解我们设计中遇到的问题,并提出了很多建议,对我们的设计给予了很大帮助。
同时,老师经常关心我们的生活。
在此,我由衷地感谢两位老师的辛苦指导。
一、总体设计及软硬件环境:1.齿轮刀具CAD系统的总体设计方案及功能模块划分齿轮刀具CAD系统应以有关国家标准和行业标准为设计准则,以齿轮啮合原理及传动理论为设计依据。
进行系统的总体规划分析时,首先应将应用对象抽象为最基本、最普遍的形式,建立系统的基本框架,然后在此基础上根据具体刀具设计的特定需要对设计方案进行变化及扩展。
SOLIDWORKS_API二次开发

1基于SW VB的二次开发简介SolidWorks系统简介目前,在我国的CAD市场上比较流行的三维CAD软件有SolidWorks、MDT、UG、Pro/E SolidEdge 等。
但就价位来讲SolidWorks、MDT、SolidEdge是中低档价位的产品,UG、Pro/E IDEAS是高中档价位的产品。
SolidWorks是一套基于Windows的CAD/CAE/CAM/PDM桌面集成系统,是美国SolidWorks公司在总结和继承了大型机械CAD软件的基础上,在Windows环境下实现的第一个机械三维CAD软件,于1995年11月研制成功。
它全面采用非全约束的特征建模技术,其设计过程全相关性,可以在设计过程的任何阶段修改设计。
同时牵动相关部分的修改。
它即提供自底向上的装配方法,同时还提供自顶向下的装配方法。
自顶向下的装配方法使工程师能在装配环境中参考装配体的其他零件的位置及尺寸设计新的零件,更加符合工程习惯。
它具有独创性的“封装”功能,可以分块处理复杂的装配体。
具有产品配置功能,为用户设计不同构性的产品。
它集成了设计、分析、加工和数据管理过程,所获得的分析和加工模拟结果成为产品模型的属性,在SolidWorks的特征管理器中清晰的列出了详细的数据信息。
它还可以动态模拟装配过程,进行静态干涉检查、计算质量特征,如质心、惯性矩等。
它将2D造型绘图与3D造型技术融为一体,能自动生成零件尺寸、材料明细表(BOM)、具有指引线的零部件编号等技术资料,从而简化了工程图样的生成过程。
同时有中英文两种界面可以选择,其先进的特征树结构使操作更加简便和直观。
具有交好的开发性接口和功能扩充性。
能轻松实现各种CAD软件之间的数据转换传送。
目前,SolidWorks的全球用户超过20万,国外大多数制造公司招聘时都要求应聘人具备操作SolidWorks的能力。
国际上很多一流的名校都将SolidWorks定为大学本科学生的必修课,如麻省理工学院、英国剑桥大学等。
基于SolidWorks的自动焊缝标注的二次开发

基于SolidWorks的自动焊缝标注的二次开发随着制造业的不断发展,自动化技术在生产过程中扮演着越来越重要的角色。
在焊接领域,自动化技术的应用也日益增多,其中自动焊缝标注技术是焊接工艺中的关键环节之一。
为了满足相关需求,很多公司在SolidWorks这一三维建模软件基础上进行了二次开发,以实现自动焊缝标注的功能。
本文将介绍基于SolidWorks的自动焊缝标注的二次开发。
一、SolidWorks软件SolidWorks是一款由达索系统公司推出的三维建模软件,它能够帮助工程师们设计、验证、通信以及管理任何产品设计。
在SolidWorks中,用户可以创建二维和三维草图、进行装配、进行仿真等工作。
在焊接过程中,SolidWorks可以帮助用户设计焊缝,在这一基础上进行相关的分析和标注。
二、自动焊缝标注的需求在焊接过程中,焊缝的设计和标注是十分关键的环节。
传统的焊缝设计和标注通常需要耗费大量的人力和时间,并且容易出现误差。
自动焊缝标注技术的需求迫切。
自动焊缝标注系统可以根据预设的焊接规范和条件,自动识别焊缝的位置和特征,并在设计图纸上进行标注,从而提高设计效率和准确性。
1. 数据导入在进行自动焊缝标注之前,首先需要将CAD软件中的设计模型数据导入到自动化焊缝标注软件中。
通过二次开发,可以实现SolidWorks与自动焊缝标注软件的数据交换接口,从而实现设计数据的快速导入。
2. 自动识别焊缝自动焊缝标注软件需要具备自动识别焊缝的能力。
通过二次开发,可以利用图像识别、模式匹配等技术,让软件能够自动识别出设计模型中的焊缝,并确定其位置、形状和尺寸。
3. 标注设计通过二次开发,可以在SolidWorks中实现焊缝的自动标注功能。
软件可以根据识别出的焊缝位置和特征,在设计图纸上自动生成对应的标注信息,包括焊缝位置、尺寸、角度等,从而提高设计效率和准确性。
4. 自动化报表生成通过二次开发,可以实现自动焊缝标注软件与报表生成软件的对接,从而实现焊缝信息的自动化报表生成。
solidworks api 二次开发实例详解

solidworks api 二次开发实例详解摘要:一、SolidWorks API 简介二、SolidWorks API 二次开发实例1.读取零件相关属性2.基于SolidWorks API 的二次开发教程3.SolidWorks API 二次开发实例详解三、总结与展望正文:**一、SolidWorks API 简介**SolidWorks 是一款强大的三维建模软件,其API(应用程序编程接口)允许用户进行二次开发,以满足特定需求。
通过学习SolidWorks API,开发人员可以创建自定义功能,扩展软件的实用性和效率。
**二、SolidWorks API 二次开发实例**1.**读取零件相关属性**通过SolidWorks API,可以轻松地读取零件的属性信息。
例如,可以编写代码来读取零件的名称、材料、颜色等属性。
以下是一个简单的示例:```csharpusing System;using SolidWorks.Interop.Api;private void btnGetPartData_Click(object sender, EventArgs e){// 请先打开零件PartDoc partDoc =Application.Documents.Open("example.sldprt");// 读取零件属性string partName =partDoc.GetType().GetProperty("Name").GetValue(partDoc, null).ToString();string partMaterial =partDoc.GetType().GetProperty("Material").GetValue(partDoc, null).ToString();string partColor =partDoc.GetType().GetProperty("Color").GetValue(partDoc, null).ToString();MessageBox.Show("零件名称:" + partName + "材料:" + partMaterial + "颜色:" + partColor);// 关闭零件partDoc.Close();}```2.**基于SolidWorks API 的二次开发教程**对于想要深入了解SolidWorks API 的开发者,可以参考官方教程和实例。
基于SolidWorks的三维CAD系统二次开发方法

基于SolidWorks的三维CAD系统二次开发方法CAD的应用目的是提高设计质量,传播和保存设计经验,提高设计效率,降低设计成本,提高设计管理水平等,目前国际和国内知名的CAD商品软件主要有Pro/Engineer,UGⅡ,I-Deas,SolidWorks,AutoCAD以及华正CAXA、高华CAD系统等.这些商品化的通用设计平台基本上覆盖了整个制造行业,但专业针对性差,不能满足各种各样具体领域的设计需求,在工程设计中难以达到CAD真正的应用目的.因此CAD的二次开发成为CAD技术推广应用过程中面临的主要问题之一.CAD的二次开发是使商品化、通用化的CAD系统用户化、本土化的过程[1].商品化CAD系统一般都提供二次开发工具、开发语言等.但怎样才能达到使用方便、记忆量少、灵活的提示信息、良好的交互方式、良好的出错处理,对选择合理的二次开发方法是至关重要的.1二次开发的软硬件环境1.1硬件环境微型计算机(微机)和工作站是应用最广泛的2种硬件平台,虽然工作站具有速度快、工作效率高、支持分布式计算和多任务进程等优点,但其操作复杂、价格昂贵.随着CPU速度的不断提高,图形处理能力的不断增强,微机平台已经能够满足CAD系统对硬件的要求[2].且由于其价格相对较低,及出现的一批基于微机的三维CAD软件,如Pro/Engineer,I-Deas,SolidWorks等,使微机得到了迅速的普及.故选择普通微机作为二次开发的硬件平台.1.2软件环境1.Windows98,Windows2000或WindowsXP操作系统.2.SolidWorks2001或更高版本的CAD软件系统.SolidWorks是基于Windows的CAD/CAE/CAM/PDM桌面集成系统,其核心技术是在Windows环境下开发而成,具有强大的实体建模功能和用户熟悉的Windows图形界面,开放性好,提供的应用编程接口API是基于OLEAutomation的编程接口,包含了大量的功能函数,可以被VisualBasic,VBA(Excel,Access,etc.),C,VisualC++,SolidWorksmacro或任何支持MicrosoftOLE(ObjectLinkingandEmbedding)技术的编程语言调用[1].3.VisualC++6.0和VisualBasic6.0高级编程语言平台.4.SolidWorks-API-SDK.SolidWorks-API-SDK包含SolidWorksAPI例子、一个用于在VisualC++编程平台上建立SolidWorks插件(Add-In-DLL)的动态链接库模板和ATL工程模板.2思路与实现方法2.1思路SolidWorks提供了多种二次开发方法,每种方法都各有所长,如果能将他们的优点集中起来,必将达到良好的效果.故考虑用VisualC++开发SolidWorks插件和菜单,用VisualBasic开发建模、装配等驱动程序和人机交互界面,之间的逻辑关系如图1所示.2.2实现方法2.2.1插件利用SolidWorks-API-SDK的DLL工程模板,开发SolidWorks的插件.具体方法如下:1.启动MicrosoftVisualC++6.0,在文件下拉菜单选择“新建工程”,选取SolidWorksAdd-InAppWizard,输入工程名(如MyPro)及位置(如e:\mypro),点击“下一步”;2.确定SolidWorks的安装路径,选取其他相应选项,点击“下一步”;3.输入插件名称以及描述,选取其他相应选项,点击“完成”;4.在工作区选择MyProresources\Toolbar,修改工具条大小图标;在文件MyPro.h和MyPro.cpp的Toolbarcallbacks部分添加或删除工具条执行函数;5.在文件ExampleApp.cpp的函数voidCMyproApp::docCreateMenu(longDocumentType)中修改相应的菜单和子菜单命令,例如把//addmenuhres=pFrame->AddMenu(auT(“MyPro&App”),swMenuPosition,&bres);//addmenuitem修改为//addmenuhres=pFrame->AddMenu(auT(“齿轮设计(&G)”),swMenuPosition,&bres);//addmenuitemhres=pFrame->AddMenuItem(auT(“齿轮设计(&G)”),auT(“开始运行程序(&B)...”),swLastPosition,auT(“mypro@MenuItemCBGuanli,齿轮设计程序运行”),&bres).上面程序中,addmenu项为主菜单,即“齿轮设计(&G)”;addmenuitem项为子菜单,即“开始运行程序(&B)...”;“齿轮设计程序运行”是提示信息.6.在文件MyPro.cpp的documentcallbacks部分修改菜单命令的执行函数;例如若建模等驱动程序为“D:\mypro\gs.exe”,则可将原来的菜单命令执行函数voidMenuItemCB(void){return;}修改为voidMenuItemCB(void){STARTUPINFOsi;PROCESSINFORMATIONpi;ZeroMemory(&si,sizeof(si));si.cb=sizeof(si);ZeroMemory(&pi,sizeof(pi));//Startthechildprocess.CreateProcess(“D:\\mypro\\gs.exe”,””,//Commandline.NULL,//Processhandlenotinheritable.NULL,//Threadhandlenotinheritable.FALSE,//SethandleinheritancetoFALSE.0,//Nocreationflags.NULL,//Useparent’senvironmentblock.NULL,//Useparent’sstartingdirectory.&si,//PointertoSTARTUPINFOstructure.&pi);//PointertoPROCESSINFORMATIONstructure.return;}7.编译工程并注册生成动态链接库[3].插件部分完成了图1中的a,b,c关系.尤其是函数CreateProcess的应用,实现了从菜单或工具条到建模驱动程序之间的连接,即图1中的关系c.2.2.2建模等驱动程序下面以创建一个0.20m×0.10m×0.05m的长方体为例:1.启动MicrosoftVisualBasic6.0,在下拉菜单“文件”项选择“新建工程”,选择“标准EXE”,“确定”;2.在窗体Form1上添加2个CommandButton,分别命名为“创建长方体”和“退出”;3.双击命令按钮“创建长方体”,在函数Command1Click()内添加代码如下:DimswAppAsObjectDimPartAsObjectDimboolstatusAsBooleanDimlongstatusAsLongDimAnnotationAsObjectDimGtolAsObjectDimDatumTagAsObjectDimFeatureDataAsObjectDimFeatureAsObjectDimComponentAsObjectDimchangAsLong,kuanAsLong,gaoAsLong‘定义长、宽、高chang=0.20‘为长赋值0.20mkuan=0.10‘为宽赋值0.10mgao=0.05‘为高赋值0.05mSetswApp=CreateObject(“SldWorks.Application”) swApp.ActiveDoc.ActiveView.FrameLeft=0swApp.ActiveDoc.ActiveView.FrameTop=0swApp.ActiveDoc.ActiveView.FrameState=1swApp.ActiveDoc.ActiveView.FrameState=1SetPart=swApp.NewDocument(“C:\ProgramFiles\SolidWorks\data\Templates\零件.prtdot”,0,0#,0#)SetPart=swApp.ActivateDoc(“Part2”)swApp.ActiveDoc.ActiveView.FrameState=1Part.InsertSketchPart.SketchRectangle-(chang/2),(gao/2),0,(chang/2),(gao/2),0,1Part.FeatureExtrusion1,0,0,0,0,kuan,0,0,0,0,0,0,0,0,0Part.ShowNamedView2“等轴测”,7Part.ViewZoomtofit2Part.SaveAs2“D:\mypro\长方体.SLDPRT”,0,False,FalsePart.ClearSelectionSetPart=NothingswApp.CloseDoc“长方体”这部分程序的开发,可用SolidWorks的宏功能,录制1个创建长方体的宏文件.由于宏录制的文件是VBA代码,所以,对其稍加修改就可移植到VisualBasic的程序代码中.这样明显降低了开发难度,加快了开发进程.4.双击命令按钮“退出”,在函数Command2Click()内添加代码如下:UnloadMe‘卸载窗体5.在下拉菜单“文件”项选择“生成工程.exe”,输入文件名“D:\\mypro\\gs.exe”,“确定”[4].(注意:此处路径与文件名必须与函数CreateProcess的第一个参数相同.) 该部分完成了图1中的d,e关系,实现了程序驱动的自动建模.3结语所提出的二次开发方法避开了开发过程中的难点,减少了工作量,达到了开发目的.1.直接利用MicrosoftVisualC++6.0中SolidWorks插件模板,不需过多考虑动态链接库等编程方法,降低了开发难度.2.用VisualC++的函数CreateProcess搭建了菜单与建模程序之间的关系.3.开发建模程序时,参考SolidWorks的宏文件,明显减少了工作量.参考文献[1]王青,邬义志,夏冠华.三维CAD/CAM系统二次开发技术[J].江苏机械制造与自动化,2001,(4):183-185.[2]张淑珍.CAD系统二次开发方法的研究[J].西北纺织工学院学报,2000,14(2):173-175.[3]DavidJ.Kruglinski,ScotWingo,GeorgeShepherd,等.VisualC++6.0技术内幕(第五版)[M].北京:北京希望电子出版社,1999.[4]EvangelosPetroutsos.VisualBasic6从入门到精通[M].北京:电子工业出版社,1999。
基于SolidWorks的自动焊缝标注的二次开发

基于SolidWorks的自动焊缝标注的二次开发本文将介绍基于SolidWorks的自动焊缝标注的二次开发的方法和相关技术,以及它的应用价值和潜在的发展前景。
一、二次开发方法1. API开发在SolidWorks中,我们可以通过API(Application Programming Interface)来进行二次开发。
通过SolidWorks自带的API功能,我们可以编写程序和宏来扩展其功能。
我们可以编写一个宏来实现自定义的焊缝标注规则,或者实现自动识别并标注焊缝的功能。
这样就可以根据具体项目的需求,定制化地编写焊缝标注的功能,从而提高工作效率和精度。
2. 宏开发除了利用SolidWorks自带的API和宏功能进行二次开发外,我们还可以通过插件的方式来扩展其功能。
通过编写插件,我们可以实现更加复杂的功能,例如自动识别不同类型的焊缝,自动修正标注位置等。
通过插件开发,我们可以实现高度定制化的焊缝标注功能,从而更好地满足特定项目的需求。
二、技术与工具1. SolidWorks APISolidWorks API是一个非常强大的二次开发工具,它提供了丰富的接口和功能,可以帮助我们实现各种自定义的功能。
通过SolidWorks API,我们可以访问和控制SolidWorks 的各种对象和属性,从而实现焊缝的自动识别和标注等功能。
2. VBA3. 插件开发工具在进行插件开发时,我们可以利用一些成熟的插件开发工具,例如Visual Studio等。
这些工具提供了丰富的功能和灵活的开发环境,可以帮助我们快速高效地实现各种定制化的功能。
三、应用价值1. 提高工作效率通过自动化的焊缝标注功能,无需手工标注每一个焊缝,可以大大提高工作效率。
特别是在大型项目中,节省了大量的时间和人力成本。
2. 提高标注准确性通过自动焊缝标注功能,可以保证焊缝的位置和尺寸的准确性。
避免了因为人为因素而导致的标注错误,提高了工作的准确性。
solidworks二次开发

solidworks⼆次开发2、3 Sol i dwo r ks ⼆次开发S o lidwo r k s就是在windo w s环境下实现得三维机械C AD软件。
它采⽤了w i ndows ⽤户界⾯,拥有强⼤、动态激活得属性管理器,以灵活得草图绘制为基础,辅助以特征建⽴能⼒以及装配控制功能,并提供了⾃由、开放、功能完整得A PI开发⼯具接⼝。
这些功能使s o l i dwor k s实现了三维CAD软件所提倡得易操作性、⾼效性以及功能完全性.So 1 id wo rk s软件进⾏参数化建模得主要技术特点就是:(1)基于特征。
将某些具有代表性得平⾯⼏何形状定义为特征,并将其所有尺⼨存为可调参数,进⽽形成实体,以此为基础来进⾏更为复杂得⼏何形体得构造。
(2)全尺⼨约束。
将形状与尺⼨联系起来考虑,通过尺⼨约束来实现对⼏何形状得控制.(3)尺⼨驱动设计通过编辑尺⼨数值来驱动⼏何形状得改变,尺⼨参数得修改将导致其她相关模块中得相关尺⼨得全盘更新.采⽤这种技术得理由在于它能够彻底地克服了⾃由建模得⽆约束状态,⼏何形状均以尺⼨得形式⽽被牢牢地控制住。
Solidworks通过OL E (对象得嵌⼊与链接)或者为⽤户提供了⾃由开放、功能完整得⼆次开发接⼝(A P I).因此,凡⽀持OL E与编程得开发⼯具,诸如V i su al B a si c>V isu a l C+ +等均可⽤于Soli d works得⼆次开发,以创建出使⽤⼈员所需得、专门化得So lid works应⽤模块.Solidwo rk s⽀撑A c ti v e x A utomation技术,在VB环境下建⽴客户程序可以直接访问S olid wo r k s中得对象,在这⾥,为求⽅便,我们可将so lidwor k s理解为⼀个服务程序,把⼆次开发⼯具得VB 程序作为客户程序,它们之间只就是服务器与客户得关系。
⽤户主要在VB上进⾏操作,VB就可以驱动S o li d wor ks完成相应得⼯作.通过调⽤A P I 对象属性得设置与⽅法,就可以在开发得程序中实现与solidwork s相同得功能.对于⼀般零件我们可采⽤⼈机交互得形式建⽴模型,设定合理得设计变量,再通过VB 程序驱动设计变量实现模型得更新⽅法,系统开发流程如图2—5 ⽰:开始图2—5⼆次开发⼏乎就是所有应⽤C AD软件企业得共同需求,商品化软件开发机构为了开拓市场、扩⼤市场份额、保持产品得市场地位,也⾮常重视企业在应⽤ C AD软件时得这个共性需求。
基于SolidWorks的参数化设计二次开发研究

第23卷第1期2007年2月机械设计与研究Machine Design and Research Vol .23No .1Feb .,2007收稿日期:2006-07-12文章编号:100622343(2007)012068203基于S olid Works 的参数化设计二次开发研究徐国权, 黄志超(华东交通大学 职业技术学院,南昌 330013,E 2mail:xuguoquan@sina .com ) 摘 要:论述了基于S olid Works 软件运用AP I 二次开发方法实现产品三维参数化设计的思想与要点。
并结合齿轮开发实例和V isual Basic 编程环境,详细介绍了二次开发的具体过程。
对从事三维参数化设计人员提高标准化、系列化的定型产品设计效率具有重要参考价值。
关键词:Solid Works;参数化;二次开发中图分类号:TP391.72 文献标识码:AResearch on Param etr i c D esi gn i n Its FurtherD evelopm en t Ba sed on Soli d W orksXU Guo 2quan, HUANG Zhi 2chao(Vocati onal and Technical College of East 2China J iaot ong University,NanChang 330013,China ) Abstract:This paper discusses the thought and key points of realizing 3D para metric design by AP I as a seconda 2ry devel opment method based on S olid Works .The p r ocess of secondary devel opment is discussed in detail in V isual Basic by an exa mp le of gear design .It πs hel pful t o i m p r ove the design efficiency of standardized and serialized p r oducts f or engineers who engage in 3D para metric design .Key words:s olid Works;para meter;further devel opment 当前,随着产品设计信息化进程的不断推进,企业运用三维CAD 系统进行设计正日趋广泛,三维参数化设计无疑是提高设计效率的最好方法之一。
基于Solidworks平台的二次开发技术

书山有路勤为径;学海无涯苦作舟基于Solidworks平台的二次开发技术Solidworks是美国Solidworks公司基于Windows平台开发的着名的全参数化三维实体造型软件,它具有强大的零件设计、钣金设计、管理设计、绘制二维工程图、支持异地协同工作等功能,它可以实现由三维实体造型向二维工程图的转化,能够使零件设计、装配设计和工程图保持时刻的全相关和同步。
同时solidworks具有良好的开放性和兼容性。
它不仅可以向下兼容二维AutoGAD,使得以前采用AutoCAD软件进行的设计得以继续使用和转化,同时还可以与许多其它专业软件(如有限元分析软件Ansys、数据加工软件Camworks、数据管理系统SmarTeams、三维实体设计软件UG、Pro/E等)无缝集成为功能十分强大的CAD/GAE/CAM/PDM系统,完全能胜任大型工程与产品的设计、分析、制造和数据管理。
目前,各类用户不仅在应用Solidworks的强大功能进行各类专业设计,同时也在不断探索Solidworks的二次开发技术,从而力求扩展Solidworks的功能并使其用户化、专业化。
对此,提供一些值得借鉴的技术。
1、Solidworks的二次开发接口Solidworks的软件开发商为方便各类用户对其进行二次开发,提供了API(Application Programming Interface )应用编程接口,它是一个基于OLE Automation的编程接口,此接口为用户提供了自由、开放、功能完整的开发工具,其中包含了数以百计的功能函数,这些函数提供了程序员直接访问Solidworks的能力。
API中的函数可以被VisualBasic,C/C++ ,VBA或者是Solidworks宏文件以及其它支持OLE的开发程专注下一代成长,为了孩子。
solidworks_二次开发论文

前言功能强大、易学易用和技术创新是SolidWorks 的三大特点,使得SolidWorks成为领先的、主流的三维CAD解决方案。
SolidWorks 能够提供不同的设计方案、减少设计过程中的错误以及提高产品质量。
SolidWorks 不仅提供如此强大的功能,同时对每个工程师和设计者来说,操作简单方便、易学易用。
同时SolidWorks还提供了功能强大的API接口程序模块,使得用户可以根据自身的条件和需求编写加挂与该软件环境下的应用程序。
本次设计设计的题目是SolidWorks的API toolbox 二次开发。
主要任务为在SolidWorks软件下加挂菜单,添加用户的应用软件。
零件的管理一直是比较耗时又容易出错的问题。
特别是一套复杂零部件以及装配体的管理更是需要有一个专门的管理软件。
本次设计的结果使得管理更加方便和实用,极大的提高了工作效率。
在设计的过程中,王彪老师给了我们许多的指导性建议,并为我们创造了优越的学习工作环境。
同时还有刘中柱老师在设计和学习过程中也给了我极大的帮助。
仅此,对帮助和支持我得老师和同学表示深深的感谢。
由于本人水平有限,经验不多,论文中肯定会有不少的缺点或错误,请老师和同学批评指正。
1 引言1.1 设计目的和意义设计的目的是实现拉车闸门系统的零部件以及装配体的统一界面管理。
利用SolidWorks强大的应用程序接口,以Visual C++6.0作为开发工具。
软件的实现极大的提高了零件的管理。
意义,对SolidWorks的工作流程以及基本原理有了更深的了解。
对利用VC的FMC类库的运用有了基本的认识。
面向对象的编程更能方便程序编制者,特别是程序的修改上。
在结构上更能体现程序的流程。
1.2 国内国际状况及进展SolidWorks公司于2002年9月18日宣布推出三维机械CAD软件的最新版本SolidWorks2003,进一步帮助机械设计工程师实现协同设计,将新产品快速推向市场。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机械制造 !" 卷 第 !#! 期
2003 / 4 !"
研究·开发
标准件库的表格化制作
回 江有永 回 曾 忠 回 范卫高 回 曹志全
摘 要:阐述应用 Excei 对 Soiidworks 进行二次开发,实现三维实体标准件库表格化制作,达到提高设计效率的目的。
关键词:标准件库 Solidworks 表格化
中图分类号:Th122
文献标识码:B
文章编号:1000 - 4998 ( 2003 ) 04 - 0026 - 02
在工程设计时,设计人员经常要选用标准化、系列 化的零件,如螺栓、螺钉、螺母、垫圈等,根据装配位置、 受力等因素的影响,所选的尺寸规格也不尽相同。如果 能有一个标准件的三维实体模型库,在用户选择某规 格的标准件时,能自动从库中调出供用户使用,这将大
ModeiDoc AssembiyDoc
DrawingDoc
其他对象
Parameter
EnumLoops
Entity
EnumComponents
EnumBodies EnumDrSections
EnumCoEdges EnumSketch~atches
EnumFaces EnumSketchPoints
EnumEdges EnumSketchSegments
EnumDocuments EnumDispiayDimension
EnumModeiViews
A图l Soiidworks 对象模型
Feature
Annotation
FeatMgr View Modei View Dimension Sketch Design Tabie Attribute SeiectionMgr LayerMgr
大简化设计工作,提高设计效率。然而,在工程设计中 我们使用的软件基本上都是国外软件,都不具有国标 标准件库,所以自行设计国标标准件库很有必要。
( 2 ) Soiidworks 的 对 象 层 次 结 构 ActiveX Automation 的实质就是利用客户程序去控制服务程序的 对 象 、方 法 和 属 性 ,实 现 某 种 功 能 。也 就 是 说 ,Soiidworks 必须将全部 ActiveX 对象暴露给 VB 才能实现二 者的通信。这样,VB 就可以像使用自身的对象一样来 操纵 Soiidworks 暴露给它的对象。对象是服务器程序 简单而抽象的代表,对象之间一般通过被称为对象模
" ActiveX Automation 技 术 与 Solidworks 的对象层次结构
当今多数软件开发商为了使自己的软件能与其
它 软 件 连 接 ,都 把 软 件 开 发 成 具 有 支 持 ActiveX Automation 的功能,Soiidworks 也不例外。Soiidworks 的二 次开发工具通过使用 ActiveX Automation 技术,使用户 快速地自定义或自动 Soiidworks 操作,使用这些工具 可以修改或增加一些标准的命令,以使 Soiidworks 能 够适应用户的要求,还可以减少很多重复性的工作,从 而节省时间,提高工作效率和设计质量。
Layer Configuration
开发,都是通过调用 Soiidworks 的对象体系结构来进 行 的 。Soiidworks 的 API 编 程 接 口 封 装 了 所 有 的 ActiveX 对象供编程使用。Soiidworks 的对象层次结构可 以描述为自上而下的树型结构模型 ( 如图l所示 ) 。最 底层的根对象是 SidWorks 对象,其它对象都是它的子 对象。其中的父对象与子对象之间的关系并不是继承 关 系 ,而 是 包 含 关 系 。也 就 是 说 如 果 VB 要 与 Soiidworks 的一个特定对象通讯,必须先从 SidWorks 对象 对 其 子 对 象 进 行 遍 历 ,直 到 找 到 该 特 定 的 对 象 。另 外 说 明 一 点 ,本 文 所 提 供 的 Soiidworks 对 象 表 是 所 有 Soiidworks ActiveX 对象的总括,其中的箭头符号表示 该 对 象 下 面 还 包 含 子 对 象 ,限 于 篇 幅 ,此 处 未 全 部 一 一列出。
System Vaiue = wjVaiue Passed: 读 入 用 户 输 入 的 设计参数
Part. Parameter“ ( nj@ Sketch2- ) . System Vaiue = njVaiue Passed
Part. Parameter“ ( hd@ Base - Extrude ) . System Vaiue = hdVaiue P-assed
Part. EditRebuiid:基于输入的参数更新模型 Part. Save:保存更新后的零件- 文档 swApp. ExitApp:退 出 Soiidworks 应 用 程 序,释放 内
存资源
编译并执行所有代码,输入设计参数,按 OK 按 钮,即刻启动 Soiidworks 绘制出用户需要的任意尺寸 的三维档圈模型 ( 如图3 ) 。
! 具体开发方法
下面用参数化绘制挡圈零件的简单程序实例说 明 如何 利 用 VB 对 Soiidworks 进 行 二次 开 发 ( 其 中主 要 是利 用 尺 寸驱 动 原理 ,用 VB 驱 动 Soiidworks 根据 用户输入的参数重新动态生成档圈模型 ) 。
首 先 必 须在 VB 中 引入 Soiidworks 的 对 象库 。具 体做法是:启动 VB,新建一个工程后,选择“Project ( 工 程 ) 、 References ( 引 用 ) ”菜 单 ,在“Avaiiabie References”( 在可使用的对象 ) 中选择“Sidworks 200l Type Library”,按“确定”就可以了。然后建立“我的档圈”人 机交互主控界面 ( 如图2 ) ,其中3个文本框分别用来输 入 档 圈 外 径 ( wjVaiue ) 、内 径 ( njVaiue ) 和 厚 度
型或者对象层次结构的形式互相联系。不管是用何种 编程语言对 Soiidworks 进行外部开发或在其内部进行
!" 2003 / 4
机械制造 41 卷 第 464 期
研究·开发
Sidworks Environment Frame AttributeDef Modeier SWProperty
PartDoc
! Solidworks 的二次开发接口
Soiidworks 的软件开发商为方便各类用户对其进 行二 次开发 ,提 供了 API ( Appiication Programming Interface ) 应用编程接口,它是一个基于 OLE Automation 的编程接口,此接口为用户提供了自由、开放、功能完 整 的 开 发 工 具 ,其 中 包 含 了 数 以 百 计 的 功 能 函 数 ,这 些函数提供了程序员直接访问 Soiidworks 的能力。API 中的函数可以被 Visuai Basic、C / C + + 、VBA ( EXcei、 Access 等 ) 或 者 是 Soiidworks 宏 文 件 以 及 其 它 支 持 OLE 的开发程序调用,从而可以扩展 Soiidworks 的功 能。本文主要介绍的是采用支持 ActiveX 技术的面向 对象的编程语言 Visuai Basic 6. 0对 Soiidworks 进行二 次开发的基本原理和方法。
( l ) ActiveX Automation 技术 ActiveX Automation 是 Microsoft 公司提出的一个基于 COM ( Componet Object Modei,组件对象模型 ) 的技术标准,是以前的 OLE ( Object Linking and Embeding,对象连接与嵌入 ) 技术 的更高层次的发展,其宗旨是在 Windows 系统的统一 管理下,协同不同的应用程序,准许这些应用程序之间 相互沟通、相互控制。每个应用程序可以决定自己的哪 些信息可暴露出来。这些暴露出来的信息可以被其它 应 用 程 序 操 纵 。这 个 暴 露 信 息 的 程 序 称 为 服 务 程 序 ( Server ) ,而 操纵 这 些 服务 程 序 的 程序 成 为 客 户程 序 ( Ciient ) 。ActiveX Automation 技 术 通 过 两 个 程 序 间 安 排对话,达到一个程序控制另一个程序的目的,但这种 对话不是双向的,对话双方也不是平等的。客户程序是 开始要求对话的应用程序,服务程序是响应客户程序 的应用程序。ActiveX Automation 的代码在客户程序上 运行,而这些代码所控制的动作由服务程序来执行。在 这里将 Soiidworks 理解为一个服务程序,而作为二次 开发工具的 VB 程序作为客户程序,它们之间是服务 器与客户的关系。用户只要在 VB 上进行操作,VB 就 将驱动 Soiidworks 完成相应的工作。
Set Part = swApp. OpenDoc“ ( D: \ swkf \ 档 圈 . sidprt , swDocPART ) :打开已有的档圈零件文档并激 活使之可以编辑
Set Part = swApp. ActivateDoc“ ( 档圈. sidprt”) Part. Parameter“ ( wj@ Sketchl ) .
研究·开发
基 于 Solidworks 平 台 的 二 次 开 发 技 术
回 李卫民 回 刘淑芬
摘 要:介绍了三维实体造型软件 Solidworks 的特点及二次开发接口;结合一程序实例详细讲述基于 ActiveX Au-
tomation 技术,采用面向对象的编程语言 Visual Basic 6. O开发 Solidworks 的原理和方法。
( hdVaiue ) ;OK 按钮的 功能是实现 用 VB 驱动 Soiidworks 参数化绘制档圈;Ouit 按钮的功能是退出程序, 停止绘制。以下是参数化绘制档圈的关键代码及主要