基于solidworks二次开发说明书毕业设计.docx

上传人:b****6 文档编号:3458710 上传时间:2022-11-23 格式:DOCX 页数:37 大小:1.23MB
下载 相关 举报
基于solidworks二次开发说明书毕业设计.docx_第1页
第1页 / 共37页
基于solidworks二次开发说明书毕业设计.docx_第2页
第2页 / 共37页
基于solidworks二次开发说明书毕业设计.docx_第3页
第3页 / 共37页
基于solidworks二次开发说明书毕业设计.docx_第4页
第4页 / 共37页
基于solidworks二次开发说明书毕业设计.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

基于solidworks二次开发说明书毕业设计.docx

《基于solidworks二次开发说明书毕业设计.docx》由会员分享,可在线阅读,更多相关《基于solidworks二次开发说明书毕业设计.docx(37页珍藏版)》请在冰豆网上搜索。

基于solidworks二次开发说明书毕业设计.docx

基于solidworks二次开发说明书毕业设计

以下文档格式全部为word格式,下载后您可以任意修改编辑。

1.绪论

1.1课题研究的意义

任何设计都是时代的产物,它的不同的面貌,不同的特征反映着不同的历史时期的科技技术水平。

技术是产品形态发展的先导,新材料,新工艺的出现,必然给产品带来新的结构,新的形态和新的造型风格。

材料、加工工艺、结构、产品形象有机地联系在一起的,某个环节的变革,便会引起整个机体的变化。

夹具业多样化发展使得通用的夹具CAD软件不能完全满足企业的特殊要求,所有研究在通用图形软件的基础上二次开发企业自主的夹具CAD系统十分必要。

如果进行二次开发,可以全面扩展其功能或将其功能集成到客户应用程序中,从而实现完全客户化【1】。

夹具可分为通用夹具、组合夹具、专用夹具几类。

组合夹具和专用夹具设计时需要进行一系列的定位、夹紧、装配设计才能满足生产的要求。

随着生产节奏的加快,能在短时间内由标准元件组装完成的组合夹具,受到诸多企业普遍的青睐。

其不足之处是外形尺寸较大,笨重;刚性较差,同时由于所需元件的储备量大,故一次性投资费用较高;而且目前组合夹具的设计和组装仍采用落后的人工拼装和管理方法,大多数企业的组合夹具是根据工艺人员设计的工序图由组合夹具组装站进行组装。

由于没有详细的装配图,组装时往往需要经过多次安装、调整才能达到要求,比较费时费力,不仅效率低、周期长,而且装配质量依赖丰富的生产经验和技术熟练的技工,这正是企业短缺的人才,客观上成为限制组合夹具广泛应用的障碍。

另外,有些复杂的组合夹具由于装夹精度高,对人的经验依赖程度高,组装站担心拆卸后难以恢复,故需要长期保存,这就造成组合元件长期被占用,影响组合元件周转使用。

所以,在如今的市场上如果提供一个选择,并考虑到当今的科技,客户会喜欢根据其具体的需求选择一个产品建造。

产品的定制通常需要个人拥有必要的产品知识和设计技能,并把它们应用在客户所需的要求和规格上,而且这个过程通常需要耗费很多时间。

如果应用软件进行二次开发建立一个标准件三维实体模型库,用户选择标准件时,便能自动从库中取出,然后插入到装配体的指定位置,将大大简化设计工作,提高设计效率。

同时用户可交换选择或修改标准件的某些参数,直接在装配环境中调用,使用极其方便有效。

在产品设计中,大量应用标准件是代表一个国家和企业设计制造水平的重要标志。

在机械产品中,有大约30%到70%的零件是标准件或非标常用件,这些零件大多具有相同或相似的外形特征,只是尺寸规格有所不同,如果没有三维标准件库,将不得不在创建和开发过程中对标准件进行重复建模,不但耗费了设计人员的时间和精力,延长设计周期,而且增加了产品的生产制造成本,所以建立通用的符合国家标准和企业标准的标准件库和典型组合库是提高设计效率的保证。

专用夹具的设计更不例外。

而一些优秀的三维CAD软件如UG.SolidEdge等都未提供机床夹具零部件库。

为此,选择合适的三维CAD平台,研发一套适用于各类CAD逗系统的、通用的标准件库和机床夹具零部件库具有极其深远的意义和价值。

1.2机床夹具标准件库研究的现状

夹具是制造企业一种重要的工艺装备资源,夹具设计是生产准备过程的关键环节。

以多品种、小批量为代表的面向大规模定制生产模式,要求企业能够快速响应用户需求,缩短开发时间。

夹具由于能够利用加工零件工艺上的相似性,且适应工件特征在一定范围内的变化而得到推广和应用,如何提高夹具设计效率成为需要重点解决的问题之一。

参数化技术作为快速设计的常用手段,因此,夹具参数化生成和快速变形设计成为企业的迫切需要。

据统计,在夹具开发过程中标准件的使用率占到零件总数量的60%以上,以标准件的重复建模占用夹具设计的大量时间,而国内开发的标准件库大都都存在通用性不足和扩充性较差的缺点。

非标准件通常形状不规则,结构也比标准件复杂,因此夹具设计时,夹具的结构尺寸依靠人的经验,而人的经验又往往不能被挖掘和再利用。

同时,目前CAD软件的参数化设计功能尚难以很好地满足产品级参数化设计的需求。

目前,各种二次开发的系统如模具CAD、夹具CAD、组合夹具CAD等大多是基于AutoCAD平台开发的二维工程数据库。

基于AutoCAD的机床夹具零部件库开发已有一定成果。

其组成主要有如下几个功能模块:

零部件库应用程序、零部件数据库、图片库。

图片库用于存放不同种类夹具的工程图,供预览用。

“零部件数据库”是将机床夹具零部件国家标准GB2148-GB中的所有零部件的尺寸数据输入计算机中,建立起多个数据文件,构成数据库,其中每种类型夹具不同规格的尺寸构成一个数据文件,供应用程序在AutoCAD中生成工程图用【2】。

一些优秀的三维CAD软件如UG.、SolidEdge等都未提供机床夹具零部件库。

目前,进行简单开发的一些零部件库,大部分是基于CAD开发的三维图形库,或者说以块的形式存储的图形文件,一般也是针对专门的系统,可移植性不强。

而且,这些图形库存在着一些问题:

(1)不同系统开发的零部件库由于对零部件没有统一的描述格式,不能进行信息的交换,造成了资源的极大浪费;

(2)包括的信息不完整,多数只描述零件的几何特性,而不包括材料、性能等级等技术信息;(3)在建库方法上,多采用建立图库的方法,即把预先定义好的图形放入库中,需要时重新调用。

由于机床夹具零部件的数量、种类、规格非常多,而且许多尺寸不是标准尺寸或固定值,全部做成图形要造成极大的资源浪费,而且有些零件也不可能全部做成图形,比如钻套的内孔尺寸、定位销的外圆柱面定位尺寸等,它们是由工件的加工要求确定的,可能是整数,也可能是几位小数,建立钻套及定位销模型时不可能预知这一尺寸,所以,我们需要寻求一种对这一信息的统一描述,包括尽可能多的信息,减少不必要的浪费【3】。

2.总体方案设计

2.1系统开发所需工具

目前,在我国的CAD市场上比较流行的三维CAD软件有SolidWorks、MDT、UG、ProE、SolidEdge等。

但就价位来讲SolidWorks、MDT、SolidEdge是中低档价位的产品,UG、ProE、IDEAS是高中档价位的产品。

考虑到SolidWorks的全球用户非常广泛(大约有20万),国外大多数制造公司招聘时都要求应聘人具备操作SolidWorks的能力。

国际上很多一流的名校都将SolidWorks定为大学本科学生的必修课,如麻省理工学院、英国剑桥大学等。

95%的西方企业要求员工回运用SolidWorks软件,SolidWorks连续几年被美国一些杂志评为优秀的CAD软件。

而且SolidWorks的易上手,易操作性,所以在这里我们以SolidWorks为平台进行夹具库的二次开发。

SolidWorks的软件开发商为方便各类用户对其进行二次开发,提供了API(ApplicationProgrammingInterface)应用编程接口,它是一个基于OLE(对象链接与嵌入)的编程接口,此接口为用户提供自由、开放、功能完整的开发工具,其中包含了数以百计的功能函数,这些函数提供了程序员直接访问SolidWorks的能力。

凡支持OLE编程的开发工具,如VisualC++,VisualBasic,Delphi等均可用于SolidWorks的二次开发。

在此选用VB编程语言作为开发工具。

采用Microsoft的Access来建立标准件参数特性数据库。

这是由于Access是VisualBasic的内部数据库,即缺省数据库类型。

用Access建立的数据库(.mdb)可以在VisualBasic中使用;而且用VisualBasic可以直接建立Access数据库。

因此,在VisualBasic中,Access数据库和VisualBasic数据库含义相同【4】。

另外,VisualBasic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。

从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。

它源自于BASIC编程语言。

VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。

程序员可以轻松的使用VB提供的组件快速建立一个应用程序。

一个典型的VB进程VB的中心思想就是要便于程序员使用,无论是新手或者专家。

VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。

VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。

因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。

2.2系统的设计思想

计算机辅助夹具设计系统应为工艺人员提供一个良好的设计服务环境,应具备快速获取相关信息、生成和存储、输入和输出、图形设计和处理能力以及良好的人机交互等功能。

基于SolidWorks的CAM系统参考人工设计夹具的过程,同时兼顾计算机处理问题的特点,面向夹具设计全过程,融三维参数化设计技术、交互式界面设计技术和数据库管理技术于一体,根据机床夹具零部件的具体特点,综合使用变异型(如夹具体)或创成型CAD(如标准零部件)和人机交互设计的混合方式,面向对象,通过三维参数化驱动技术,保证设计结果的一致性【5】。

另外,一个独立的EXE是一个独立的程序,有能力控制其他软件,有自己的接口。

在这种情况下,VisualBasic软件被用来作为独立的EXE来结合SolidWorks和Excel软件定制模型,由此我们可以得出详细的系统体系结构(如图2.1)。

图2.1详细的系统体系结构图

本课题作为CAFD系统的先期工作,将首先完成机床夹具定位件库的建立,并作进一步研究。

SolidWorks环境下零部件库的系统结构包括:

用户界面、执行模块、零部件模型库、零部件特性参数数据库四个部分。

其核心部分就是执行模块和零部件模型库及数据库,下面分别对各模块进行简单介绍。

1.用户界面:

用户与执行模块进行交互的窗口:

可以从中输入所需的零件的

主参数,进行实时建模(对数据库中没有的数据参数可输入其所需参数进行实时绘制)。

2.执行模块:

核心部分,主要是对由界面输入的数据处理,与零部件库参数数据库进行交互,运算,通过API跟SolidWorks进行交互,对其操作,使其完成绘制相应实体的全过程。

3.零部件参数数据库和模型库:

为零部件的生成提供原形和具体参数信息,是零件的原始表现形式。

 

图2.1给我们展示的不仅是零部件库的总体结构,它实质是给我们一种建立零部件库的思想。

由图可以看出,其几大模块都是围绕着SolidWorks这个平台,其主要原因是绘图过程是由SolidWorks平台完成的。

其它几个模块是以外挂的形式和SolidWorks平台相关联的,也就是说其它几个模块把处理后的信息汇总后通过接口API发向SolidWorks平台来完成画图。

这种建模方式的优点体现在以下几点:

1.数据库建立可以独立进行,不受任何条件约束,因为Access数据库的访问

操作已经标准化,己经形成标准化的数据库语言,在任何编程语言环境中都是通

用的。

2.模型的建立是不受任何外界因素影响的。

因为SolidWorks的核心技术不会

变,其建立的模型的通用性也不会变。

模型的通用性也就保证了此零部件库的通

用性。

3.由上面两点看出,数据库与编程语言无关,因此,对其进行二次开发的编程语言就会有多种选择,这样使其二次开发的难度降低,适合人群增加。

4.由图可以看出,用这种方法开发的零部件库是以外挂的形式联接到SolidWorks之上的,而且各个模块是独立的,因此其扩充性非常的好,我们可以增加更多的标准件数据库,增加更多的模型文件来达到扩充零部件库的目的。

例如我们要加入弹簧这个标准件,我们要作的只是把其参数建立数据库,把其外型建立模型,放入相应的目录中,然后建立其执行模块和界面,编译成可执行,再加入菜单即可,对原来任何东西都不需要修改【6-8】。

2.3系统的设计的关键技术

2.3.1COM技术

COM是一个说明如何建立可动态交替更新组件的规范,提供了客户和组件之间能够互操作应该遵循的标准,该标准对于组件架构的重要性同其他任何一个具有可交替更新部分的系统是一样的。

COM的前身是OLE。

OLE的第一个版本用动态数据交换(DDE)作为客户及组件之间的通信方式,OLE1.0并没有引用COM,但是DDE非常缓慢,而且效率也不高。

OLE的第二个版本使用了COM。

但OLE是开发出来的第一个COM系统,不能很好地实现COM功能,这使OLE显得比较庞大而且使用不便。

COM规范就是一套为组件架构设置标准的文档。

COM中得组件,其实用积木形容在恰当不过了。

在拼积木时,将积木一块一块垒加起来拼成头脑中所想象的东西。

我们可以将组件看出一块积木或一个小单元,这些小单元成为应用程序的各个独立部分。

这种做法的好处不言自明,它可以随着对应用程序的不断发展而使用新的组件来取代原有的组件,就像堆积木一样,用更漂亮的积木搭成更漂亮的建筑。

传统应用程序的组成部分是分立的文件、模块或类,这些组成部分经过编译并链接之后形成应用程序。

要像推出应用程序的新版本,就需要将这些组成部分重新编译,既费时又费力。

有了组件的概念,就可以将改进的新组件插入到应用程序中,并替换了原来的就组件,从而赋予应用程序新的活力【9】。

另外,由此也可以看出有这样的想法,把许多已经做好的组件放到一起形成一个组件库,好比一个类库。

当制作应用程序时,如果要用到不同的组件,只需要从刚建好的组件库中调出所需要的组件,然后它们可以插入到适当的位置,来获得所需要的功能。

2.3.2ActiveXAutomation技术

ActiveXAutomation技术ActiveXAutomation是Microsoft公司提出的一个基于COM(ComponetObjectModel,组件对象模型)的技术标准,是以前的OLI(ObjectLinkingandEmbeding,对象连接与嵌人)技术的更高层次的发展,其宗旨是在windows系统的统-管理下,协同不同的应用程序,准许这些应用程序之间相互沟通、相互控制。

每个应用程序可以决定自己的哪些信息可暴露出来。

这些暴露出来的信息、可以被其它应用程序操纵。

这个暴露信息的程序称为服务程序(Server),而操纵这些服务程序的程序成为客户程序(Client),ActiveXAutomation技术通过两个程序问安排对话,达到一个程序控制另一个程序的目的,但这种对话不是双向的,对话双方也不是平等的。

客户程序是开始要求对话的应用程序,服务程序是响应客户程序的应用程序。

ActiveXAutomation的代码在客户程序土运行,而这些代码所控制的动作由服务程序来执行〔在这里将Solidworks理解为一个服务程序,而作为二次开发工具的VB程序作为客户程序,它们之间是服务器与客户的关系。

用户只要在VB仁进行操作,VB就将驱动Solidworks完成相应的工作。

2.3.3OLE技术

在Windows平台下,应用程序并不是处于分割独立的状态,用户通常想使它们互相联系。

OLE自动化是Windows应用程序之间互相操纵的一项技术,它允许在一个应用程序内部操作另一个应用程序提供的对象。

被操纵的一端称为自动化服务器,而操纵自动化服务器的一端称为自动化客户或自动化控制器。

一个自动化服务器是由一个应用程序提供的被另一个应用程序使用的服务。

自动化控制器是指使用自动化服务器提供服务的控制应用程序,它通过OLE接口工作,这个接口向控制应用程序开放可用的服务。

因此,OLE自动化的实质就是使对象在应用程序之间可以方便地共享,自动化的最大优势是它的语言无关性。

可以使用Delphi、C++等高级语言或脚本语言如VBScript和JavaScript来驱动自动化服务器,而不必考虑用于编写它的语言,从而实现应用程序间的互操作性。

自动化服务器的应用有两种形式:

一种称为进程内服务器,一种称为进程外服务器。

进程内服务器是DLL函数,可以创建服务器对象供宿主应用程序使用,DLL程序与调用它的应用程序可以创建服务器对象,他们与客户程序不在同一进程中,而是在他们自己的进程中。

目前,越来越多的应用程序对外界提供自动化服务器,如MicroSoftWord、Excel、ProE、MDT、SolidWorks等。

使用自动化服务器提供的服务,实际上是通过访问自动化服务器提供的自动化对象的数学和方法实现。

有关自动化对象的借口、属性和方法等信息称为类型信息。

提供自动化服务器的应用程序一般把自动化对象类型信息保存在类型库中。

自动化服务器的类型库可以作为资源链接到服务器应用程序或动态动态链接中,也可以单独保存在一个外部文件中。

类型库中包括的自动化服务器中的类、接口、数据类型等信息,供客户在创建实力、调用接口时使用。

2.3.4参数化设计技术

参数化设计(Parametricdesign,也叫尺寸驱动Dimension-Driven)一般是指设计图形拓扑关系不变,尺寸形状由一组参数进行约束。

参数与图形的控制尺寸有显式的对应,不同的参数值驱动产生不同大小的几何图形。

可见,参数化设计是规格化、系列化产品设计的一种简单、高效、优质的设计方法。

国内外对参数化设计做了大量的研究,目前参数化技术大致可分为如下三种方法:

(1)基于几何约束的数学方法;

(2)基于几何原理的人工智能方法;(3)基于特征模型的造型方法。

其中数学方法又分为初等方法(PrimaryApproach)和代数方法(AlgebraicApproach)。

初等方法利用预先设定的算法,求解一些特定的几何约束。

这种方法简单、易于实现,但仅适用于只有水平和垂直方向约束的场合:

代数法则将几何约束转换成代数方程,形成一个非线性方程组。

该方程组求解较困难,因此实际应用受到限制;人工智能方法是利用专家系统,对图形中的几何关系和约束进行理解,运用几何原理推导出新的约束,这种方法的速度较慢,交互性不好;特征造型方法是三维实体造型技术的发展,目前正在探讨之中。

参数化设计是一种驱动机制,参数驱动机制是基于对图形数据的操作.通过参数驱动机制,可以对图形的几何数据进行参数化修改,但是,在修改的同时,还要满足图形的约束条件,需要约束间关联性的驱动手段约束联动,约束联动是通过约束间的关系实现的驱动方法。

对一个图形,可能的约束十分复杂,而且数量很大。

而实际由用户控制的,即能够独立变化的参数一般只有几个,称之为主参数或主约束;其它约束可由图形结构特征确定或与主约束有确定关系,称它们为次约束。

对主约束是不能简化的,对次约束的简化可以有图形特征联动和相关参数联动两种方式。

所谓图形特征联动就是保证在图形拓扑关系不变的情况下,对次约束的驱动,亦即保证连续、相切、垂直、平行等关系不变。

反映到参数驱动过程就是要根据各种几何相关性准则去判识与从动点有上述拓扑关系的实体及其几何数据,在保证系不变的前提下,求出新的几何数据。

称这些几何数据为从动点。

这样,从动点的约束就与驱动参数有了联系。

依靠这一联系,从动点得到了驱动点的驱动,驱动机制则扩大了其作用范围。

所谓相关参数联动就是建立次约束与主约束在数值上和逻辑上的关系。

在参数驱动过程中,始终要保持这种关系不变。

相关参数的联动方法使某些不能用拓扑关系判断的从动点与驱动点建立了联系。

使用这种方式时,常引入驱动树,以建立主动点、从动点等之间的约束关系的树形表示,便于直观地判断图形的驱动与约束情况。

参数驱动是一种新的参数化方法,其基本特征是直接对数据库进行操作。

因此它具有很好的交互性,用户可以利用绘图系统全部的交互功能修改图形及其属性,进而控制参数化的过程;与其他参数化方法相比较,参数驱动方法具有简单、方便、易开发和使用的特点,能够在现有的绘图系统基础上进行二次开发。

而且适用面广,对二维、三维问题都适用【10-13】。

2.3.5Solidworks的对象层次结构

Solidworks的对象层次结构ActiveXAutomation的实质就是利用客户程序去控制服务程序的对象、方法和属性,实现某种功能。

也就是说,Solidworks必须将全部ActiveX对象暴露给VB才能实现二者的通信。

这样,VB就可以像使用自身的对象一样来操纵Solidworks暴露给它的对象。

对象是服务器程序简单而抽象的代表,对象之间一般通过被称为对象模型或者对象层次结构的形式互相联系。

不骨是用何种编程语言对Solidworks进行外部开发或在其内部进行开发,都是通过调用Solidworks的对象体系结构来进行的。

Solidworks的API编程接口封装了所有的ActiveX对象供编程使用。

Solidworks的对象层次结构可以描述为自上而下的树型结构模型,最底层的根对象是S1dWorks对象,其它对象都是它的子对象。

其中的父对象与子对象之间的关系并不是继承关系,而是包含关系。

也就是说如果VB要与Solidworks的一个特定对象通讯,必须先从solidworks对象对其子对象进行遍历,直到找到该特定的对象。

为了方便用户进行二次开发,SolidWorks提供了几百个API函数,用户可以使用VisualBasic、VBA、VisualC++、C#、Delphi等高级编程语言对SolidWorks进行二次开发,建立适合用户需要的、专用的SolidWorks功能模块。

同时,由于SolidWorksAPI及其有关帮助文档都包括在SolidWorks软件中,任何用户都可以对其进行二次开发。

不管是采用VisualBasic、VBA、VisualC++还是Delphi对SolidWorks进行二次开发,都是通过SolidWorks的对象体系结构来进行的。

这种基于ActiveXAutomation技术的SolidWorksAPI将各种功能封装在SolidWorks对象之中供编程调用。

图2.2显示了SolidWorksAPI中各个对象相互关系,可以利用这张表的关系进行参考编程。

图2.2SolidWorksAPI的对象层次结构体系

2.3.6SolidWorks的API函数介绍

1.SolidWoks的对象模型

SolidWorks的对象模型是一个多层次的对象网络,如图2.3所示。

最高级别的对象类是SldWorks,该对象中封装了很多方法(Methods),如OpenDoc2、ActivateDoc2、CloseDoc、ExitApp,下面又创建了许多子类,如ModelDoc、Environment、Frame。

本文将重点介绍ModelDoc对象,因为大部分绘图操作都在ModelDoc对象中,如SelectByID(选择)、CreateCircle2(画圆)、CreateLine2(画直线)。

ModelDoc中又创建了PartDoc、AssemblyDoc、DrawingDoc等子类。

其中大部分实体建模操作都在PartDoc对象中,如FeatureExtrusion(拉伸)、FeatureRevolve(旋转);而相关的装配操作如AddComponent(插入零部件)、AddMate(插入配合)等都在AssemblyDoc对象中【14】。

2.SolidWoks的对象的属性和方法

在SolidWorks创建的对象中,每个对象都有自己的属性和方法,通过调用API函数实现,反过来,应用SolidWorks的每一步操作都体现在特定的对象类中。

下面以VB为开发平台介绍其一些常用的API函数。

图2.3Solidworks对象模型

(1)连接SolidWorks

在对SolidWorks进行二次开发时,首先要建立SolidWorks的连接,创建SolidWorks的应用对象:

DimswAppAsObject

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1