优秀毕业设计论文:基于solidworks二次开发_第1页
优秀毕业设计论文:基于solidworks二次开发_第2页
优秀毕业设计论文:基于solidworks二次开发_第3页
优秀毕业设计论文:基于solidworks二次开发_第4页
优秀毕业设计论文:基于solidworks二次开发_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 绪论1.1课题研究的意义任何设计都是时代的产物,它的不同的而貌,不同的特征反映着不同的历史时期的 科技技术水平。技术是产品形态发展的先导,新材料,新工艺的出现,必然给产品带来 新的结构,新的形态和新的造型风格。材料、加工工艺、结构、产品形象有机地联系在 一起的,某个环节的变革,便会引起整个机体的变化。夹具业多样化发展使得通用的夹具cad软件不能完全满足企业的特殊要求,所有研 究在通用图形软件的基础上二次开发企业ii主的夹具cad系统|分必要。如果进行二次 开发,可以全面扩展其功能或将其功能集成到客户应用程序中,从而实现完全客户化o夹具可分为通用夹具、组合夹具、专用夹具儿类。组合夹具和专用夹

2、具设计时需要 进行一系列的定位、夹紧、装配设计才能满足生产的要求。随着生产节奏的加快,能在 短时间内由标准元件组装完成的组合夹具,受到诸多企业普遍的青睐。其不足z处是外 形尺寸较大,笨重;刚性较差,同时由于所需元件的储备量大,故一次性投资费用较高; 而且目前组合夹具的设计和组装仍采用落后的人工拼装和管理方法,大多数企业的组合 夹具是根据工艺人员设计的工序图由组合夹具组装站进行组装。由于没有详细的装配 图,组装时往往需要经过多次安装、调整才能达到要求,比较费时费力,不仅效率低、 周期长,而且装配质量依赖丰富的生产经验和技术熟练的技工,这正是企业短缺的人才, 客观上成为限制组合夹具广泛应用的障碍。

3、另外,有些复杂的组合夹具由于装夹精度高, 对人的经验依赖程度高,组装站扒心拆卸后难以恢复,故需耍长期保存,这就造成组合 元件长期被占用,影响组合元件周转使用。所以,在如今的市场上如果提供一个选择,并考虑到当今的科技,客户会喜欢根据其 具体的需求选择一个产品建造。产品的定制通常需要个人拥有必要的产品知识和设计技 能,并把它们应用在客户所需的要求和规格上,而且这个过程通常需要耗费很多时间。 如果应用软件进行二次开发建立一个标准件三维实体模型库,用户选择标准件时,便能 自动从库屮取出,然后插入到装配体的指定位置,将大大简化设计工作,提高设计效率。 同时用户可交换选择或修改标准件的某些参数,宜接在装配

4、坏境中调用,使用极其方便 有效。在产品设计中,大量应用标准件是代表一个国家和企业设计制造水平的重要标志。 在机械产品中,有大约30%到70%的零件是标准件或非标常用件,这些零件大多具有相 同或相似的外形特征,只是尺寸规格有所不同,如果没有三维标准件库,将不得不在创 建和开发过程屮对标准件进行重复建模,不但耗费了设计人员的时间和精力,延长设计 周期,而且增加了产品的生产制造成本,所以建立通用的符合国家标准和企业标准的标 准件库和典型组合库是提高设计效率的保证。专用夹具的设计更不例外。而一些优秀的 三维cad软件如ug. solidedge等都未提供机床夹具零部件库。为此,选择合适的三维 cad平

5、台,研发一套适用于各类cad逗系统的、通用的标准件库和机床夹具零部件库具 有极其深远的意义和价值。1.2机床夹具标准件库研究的现状夹具是制造企业一种重要的工艺製备资源,夹具设计是生产准备过程的关键环节。 以多品种、小批量为代表的面向大规模定制生产模式,要求企业能够快速响应用户需求, 缩短开发吋间。夹具由于能够利用加工零件工艺上的相似性,且适应工件特征在一定范 围内的变化而得到推广和应用,如何提高夹具设计效率成为需要重点解决的问题z-o 参数化技术作为快速设计的常用手段,因此,夹具参数化生成和快速变形设计成为企业 的迫切需要。据统计,在夹具开发过程中标准件的使用率占到零件总数量的60%以上,以标

6、准件 的重复建模占用夹具设计的犬量吋间,而国内开发的标准件库人都都存在通用性不足和 扩充性较并的缺点。非标准件通常形状不规则,结构也比标准件复杂,因此夹具设计时, 夹具的结构尺寸依靠人的经验,而人的经验乂往往不能被挖掘和再利用。同时,目前 cad软件的参数化设计功能尚难以很好地满足产品级参数化设计的需求。目前,各种二次开发的系统如模具cad、夹具cad、组合夹具cad等大多是基于 autocad平台开发的二维工程数据库。基tautocad的机床夹具零部件库开发已有一定 成果。其组成主要有如下儿个功能模块:零部件库应用程序、零部件数据库、图片库。图 片库用于存放不同种类夹具的工程图,供预览用。“

7、零部件数据库”是将机床夹具零部 件国家标准gb2148-gb2269-80-p的所有零部件的尺寸数据输入计算机屮,建立起多个 数据文件,构成数据库,其中每种类型夹具不同规格的尺寸构成一个数据文件,供应用 程序在autocad中生成工程图用o一些优秀的三维cad软件如ug.、solidedge等都耒提供机床夹具零部件库。冃前, 进行简单开发的一些零部件库,大部分是基于cad开发的三维图形库,或者说以块的形 式存储的图形文件,一般也是针对专门的系统,可移植性不强。而且,这些图形库存在 着一些问题:(1)不同系统开发的零部件库由于对零部件没有统一的描述格式,不能进行 信息的交换,造成了资源的极大浪费

8、;(2)包括的信息不完整,多数只描述零件的几何特 性,而不包括材料、性能等级等技术信息;(3)在建库方法上,多采用建立图库的方法, 即把预先定义好的图形放入库中,需耍时重新调用。ft?丁机床夹具零部件的数量、种类、 规格非常多,而fh午多尺寸不是标准尺寸或固定值,全部做成图形要造成极大的资源浪 费,而且有些零件也不可能全部做成图形,比如钻套的内孔尺寸、定位销的外圆柱面定 位尺寸等,它们是由工件的加工要求确定的,可能是整数,也可能是几位小数,建立钻 套及定位销模型时不可能预知这一尺寸,所以,我们需要寻求一种对这一信息的统一描 述,包括尽可能多的信息,减少不必要的浪费。2 总体方案设计2.1系统开

9、发所需工具目前,在我国的cad市场上比较流行的三维cad软件有solidworks> mdt、ug、 pro/e、solidedge等。但就价位来讲solidworks、mdt、solidedge是屮低档价位的产 品,ug、pro/e、ideas是高小档价位的产品。考虑到solidworks的全球用户非常广泛 (大约有20力),国外大多数制造公司招聘时都要求应聘人具备操作solidworks的能 力。国际上很多一流的名校都将solidworks定为大学木科学生的必修课,如麻省理工 学院、英国剑桥大学等。95%的西方企业要求员工冋运用solidworks软件,solidworks 连续儿年

10、被美国一些杂志评为优秀的cad软件。而且solidworks的易上手,易操作性, 所以在这里我们以solidworks为平台进行夹具库的二次开发。solidworks的软件开发商为方便各类用户对其进彳亍二次开发,提供了api(application programming interface)应用编程接口,它是一个基t*ole(对象链接与嵌入)的编程接口, 此接口为用户提供口由、开放、功能完整的开发工具,其中包含了数以百计的功能函 数,这些函数提供了程序员直接访问solidworks的能力。凡支持ole编程的开发工具, 如visualc+, visual basic, delphi等均可用于s

11、olidworks的二次开发。在此选用vb编程语 言作为开发工具。采用microsoft的access来建立标准件参数特性数据库。这是由于access 是visualbasic的内部数据库,即缺省数据库类型。用access建立的数据库(.mdb)可以在 visualb asic中使用;而且用visualbasic可以直接建立access数据库。因此,在visualb asic 屮,access数据库和visualbasic数据库含义相同。另外,visual basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语 言。从任何标准来说,vb都是世界上使用人数最多的语言不仅是盛赞vb的开发

12、 者还是抱怨vb的开发者的数量。它源自于basic编程语言。vb拥有图形用户界面 (gui)和快速应用程序开发(rad)系统,可以轻易的使用dao、rdo、ado连接 数据库,或者轻松的创建activex控件。程序员可以轻松的使用vb提供的组件快速建 立一个应用程序。一个典型的vb进程vb的中心思想就是要便于程序员使用,无论是新手或者专家。 vb使用了可以简单建立应用程序的gui系统,但是又可以开发相当复杂的程序。vb的 程序是一种基于窗体的可视化组件安排的联合,并耳增加代码來指定组建的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码 就可以完成一个简单的程

13、序。2. 2系统的设计思想计算机辅助夹具设计系统应为工艺人员提供一个良好的设计服务环境,应具备快速 获取相关信息、生成和存储、输入和输出、图形设计和处理能力以及良好的人机交互等 功能。基于solidworks的cam系统参考人工设计夹具的过程,同时兼顾计算机处理问 题的特点,面向夹具设计全过程,融三维参数化设计技术、交互式界面设计技术和数据 库管理技术于一体,根据机床夹具零部件的具体特点,综合使用变异型(如夹具体)或创 成型cad(如标准零部件)和人机交互设计的混合方式,面向对象,通过三维参数化驱动 技术,保证设计结果的一致性。另外,一个独立的exe是一个独立的程序,有能力控制其他软件,有自己

14、的接口。在 这种情况卜,visual basic软件被用来作为独立的exe来结合solidworks和excel软件定 制模型,由此我们叮以得出详细的系统体系结构(如图2.1) o用户的输入用户界面形式(visual basic)3-dcad 模型输出图2.1详细的系统体系结构图本课题作为cafd系统的先期工作,将首先完成机床夹具定位件库的建立,并作进 一步研究。solidworks环境下零部件库的系统结构包扌乩 用户界面、执行模块、零部件模型库、 零部件特性参数数据库四个部分。其核心部分就是执行模块和零部件模型库及数据库, 卜面分别对齐模块进行简单介绍。1. 用户界面:用户与执行模块进行交互

15、的窗口:可以从中输入所需的零件的 主参数,进行实时建模(对数据库小没有的数据参数可输入英所需参数进行实时绘制)。2. 执行模块:核心部分,主要是对由界面输入的数据处理,与零部件库参数数据库 进行交互,运算,通过api跟solidworks进行交互,对其操作,使其完成绘制相应实体 的全过程。3. 零部件参数数据库和模型库:为零部件的生成提供原形和具体参数信息,是零 件的原始表现形式。图2. 1给我们展示的不仅是零部件库的总体结构,它实质是给我们一种建立零部件 库的思想。由图可以看出,其几大模块都是围绕着solidworks这个平台,其主要原因是 绘图过程是由solidworks平台完成的。其它儿

16、个模块是以外挂的形式和solidworks平台 相关联的,也就是说其它儿个模块把处理后的信息汇总后通过接口api发向solidworks 平台来完成画图。这种建模方式的优点体现在以下几点:1数据库建立可以独立进行,不受任何条件约束,因为access数据库的访问 操作已经标准化,己经形成标准化的数据库语言,在任何编程语言环境中都是通 用的。2模型的建立是不受任何外界因索影响的。因为solidworks的核心技术不会 变,其建立的模型的通用性也不会变。模型的通用性也就保证了此零部件库的通 用性。3. 由上面两点看出,数据库与编程语言无关,因此,对其进行二次开发的编程语言 就会有多种选择,这样使其二

17、次开发的难度降低,适合人群增加。4. 由图可以看出,用这种方法开发的零部件库是以外挂的形式联接到solidworks之 上的,而且齐个模块是独立的,因此其扩充性非常的好,我们可以增加更多的标准件数 据库,增加更多的模型文件來达到扩充零部件库的目的。例如我们要加入弹簧这个标准 件,我们耍作的只是把其参数建立数据库,把其外型建立模型,放入相应的目录中,然 后建立其执行模块和界面,编译成可执行,再加入菜单即可,对原來任何东西都不需要 修改®。2.3系统的设计的关键技术2. 3. 1 com技术com是一个说明如何建立可动态交替更新组件的规范,提供了客户和组件之间能够互操作应该遵循的标准,该

18、标准对于组件架构的重要性同其他任何一个具有可交替更新 部分的系统是一样的。com的前身是ole。ole的第一个版本用动态数据交换(dde)作为 客户及组件之间的通信方式,ole 1.0并没有引用com,但是dde非常缓慢,而且效率也不 高。ole的第二个版木使用了com。但ole是开发出來的第一个com系统,不能很好地实现 com功能,这使ole显得比较庞大而且使用不便。com规范就是一套为组件架构设置标准的文档。com屮得组件,其实用积木形容在恰 当不过了。在拼积木时,将积木一块一块垒加起来拼成头脑中所想象的东西。我们可以 将组件看出一块积木或一个小单元,这些小单元成为应用程序的各个独立部分

19、。这种做 法的好处不言口明,它可以随着对应用程序的不断发展而使用新的组件來取代原有的组 件,就像堆积木一样,用更漂亮的积木搭成更漂亮的建筑。传统应用程序的组成部分是分立的文件、模块或类,这些组成部分经过编译并链接 之后形成应用程序。要像推出应用程序的新版本,就需要将这些组成部分重新编译,既 费吋又费力。有了组件的概念,就可以将改进的新组件插入到应用程序中,并替换了原 來的就组件,从而赋予应用程序新的活力。另外,由此也可以看出有这样的想法,把许多已经做好的组件放到一起形成一个组 件库,好比一个类库。当制作应用程序时,如果要用到不同的组件,只需要从刚建好的 组件库中调出所需要的组件,然后它们叮以插

20、入到适当的位置,来获得所需要的功能。 2. 3. 2 act i vex automat i on技术activex automation技术activex automation是microsoft公罚提出的一个基于com (componet object model,组件对象模型)的技术标准,是以前的0l1 (object linking and embeding,对象连接与嵌人)技术的更高层次的发展,其宗旨是在windows系统的统 -管理下,协同不同的应用程序,准许这些应用程序之间相互沟通、相互控制。每个应 用程序可以决定自己的哪些信息可暴露出来。这些暴購出来的信息、可以被其它应用程 序

21、操纵。这个暴露信息的程序称为服务程序(server),而操纵这些服务程序的程序成为 客户程序(client) , activex automation技术通过两个程序问安排对话,达到一个程 序控制另一个程序的口的,但这种对话不是双向的,对话双方也不是平等的。客户程序 是开始要求对话的应用程序,服务程序是响应客户程序的应用程序oactivex automation 的代码在客户程序土运行,而这些代码所控制的动作由服务程序来执行(在这里将 solidworks理解为一个服务程序,而作为二次开发工具的vb程序作为客户程序,它们z 间是服务器与客户的关系。用户只耍在vb仁进行操作,vb就将驱动soli

22、dworks完成相应 的工作。2. 3. 3 ole技术在windows平台卞,应用程序并不是处于分割独立的状态,用户通常想使它们互和 联系。ole口动化是windows应用程序之间互相操纵的一项技术,它允许在一个应用程序 内部操作另一个应用程序提供的对象。被操纵的一端称为自动化服务器,而操纵自动化 服务器的一端称为自动化客户或自动化控制器。一个自动化服务器是由一个应用程序提 供的被另一个应用程序使用的服务。自动化控制器是指使用自动化服务器提供服务的控 制应用程序,它通过ole接口工作,这个接口向控制应用程序开放可用的服务。因此, ole自动化的实质就是使对象在应用程序之间可以方便地共享,自动

23、化的最大优势是它 的语言无关性。可以使用delphi、c+等高级语言或脚本语言如vbscript和javascript 来驱动自动化服务器,而不必考虑用于编写它的语言,从而实现应用程序间的互操作性。自动化服务器的应用有两种形式:一种称为进程内服务器,一种称为进程外服务 器。进程内服务器是dll函数,可以创建服务器对彖供宿主应用程序使用,dll程序与调 用它的应用程序可以创建服务器对象,他们与客户程序不在同一进程中,而是在他们自 己的进程中。冃前,越来越多的应用程序对外界提供自动化服务器,如microsoft word> excel> pro/e、mdt、solidworks等。使用

24、自动化服务器提供的服务,实际上是通过访问自动化 服务器提供的口动化对象的数学和方法实现。有关口动化对彖的借口、属性和方法等信 息称为类型信息。提供自动化服务器的应用程序一般把自动化对象类型信息保存在类型 库小。自动化服务器的类型库可以作为资源链接到服务器应用程序或动态动态链接屮, 也叮以单独保存在一个外部文件中。类型库中包括的自动化服务器中的类、接口、数据 类型等信息,供客户在创建实力、调用接口吋使用。2. 3.4参数化设计技术参数化设计(parametricd esign,也叫尺寸驱动dimension-driven)般是指设计图 形拓扑关系不变,尺寸形状由一组参数进行约束。参数与图形的控制

25、尺寸有显式的对应, 不同的参数值驱动产生不同大小的儿何图形。可见,参数化设计是规格化、系列化产品 设计的一种简单、高效、优质的设计方法。国内外对参数化设计做了大量的研究,口前 参数化技术大致可分为如下三种方法:(1)基于几何约束的数学方法;(2)基于几何原理的人工智能方法;(3)基于特征模型的造型方法。其111数学方法又分为初等方法(primary approach)和代数方法(algebraic approach) o初等方法利用预先设定的算法,求解一 些特定的几何约束。这种方法简单、易于实现,但仅适用丁只有水平和垂直方向约束的 场合:代数法则将儿何约束转换成代数方程,形成一个非线性方程组。

26、该方程组求解较 困难,因此实际应用受到限制;人工智能方法是利用专家系统,对图形屮的儿何关系和 约束进行理解,运用几何原理推导出新的约束,这种方法的速度较慢,交互性不好;特 征造型方法是三维实体造型技术的发展,目前正在探讨之中。参数化设计是一种驱动机 制,参数驱动机制是基于对图形数据的操作通过参数驱动机制,可以对图形的几何数 据进行参数化修改,但是,在修改的同时,还要满足图形的约束条件,需要约束间关联 性的驱动手段约束联动,约束联动是通过约束间的关系实现的驱动方法。对一个图形, 可能的约束i分复杂,而且数量很大。而实际由用户控制的,即能够独立变化的参数一 般只有几个,称之为主参数或主约束;其它约

27、束可由图形结构特征确定或与主约束有确 定关系,称它们为次约束。对主约束是不能简化的,对次约束的简化可以有图形特征 联动和相关参数联动两种方式。所谓图形特征联动就是保证在图形拓扑关系不变的情况下,对次约束的驱动,亦即 保证连续、相切、垂直、平行等关系不变。反映到参数驱动过程就是要根据齐种几何相 关性准则去判识与从动点有上述拓扑关系的实体及其几何数据,在保证系不变的前提 下,求出新的几何数据。称这些几何数据为从动点。这样,从动点的约束就与驱动参数 有了联系。依靠这一联系,从动点得到了驱动点的驱动,驱动机制则扩大了其作用范围。所谓相关参数联动就是建立次约束与主约束在数值上和逻辑上的关系。在参数驱动

28、过程屮,始终耍保持这种关系不变。相关参数的联动方法使某些不能用拓扑关系判断的 从动点与驱动点建立了联系。使用这种方式时,常引入驱动树,以建立主动点、从动点 等之间的约束关系的树形农示,便丁直观地判断图形的驱动与约束情况。参数驱动是一种新的参数化方法,其基木特征是直接对数据库进行操作。因此它具 有很好的交互性,用户可以利用绘图系统全部的交互功能修改图形及其属性,进而控制 参数化的过程;与其他参数化方法相比较,参数驱动方法具有简单、方便、易开发和使 用的特点,能够在现有的绘图系统基础上进行二次开发。而ii适用面广,对二维、三维 问题都适用(10'131 o2. 3. 5 sol idwor

29、ks的对象层次结构solidworks的对象层次结构activex automation的实质就是利用客户程序去控制 服务程序的对象、方法和属性,实现某种功能。也就是说,solidworks必须将全部 activex对象暴露给vb才能实现二者的通信。这样,vb就可以像使用自身的对象一样 來操纵solidworks暴露给它的对象。对象是服务器程序简单而抽象的代表,对象z间 一般通过被称为对象模型或者对象层次结构的形式互相联系。不骨是用何种编程语言对 solidworks进彳亍外部开发或在其内部进彳亍开发,都是通过调用solidworks的对象体系 结构來进行的。solidworks的api编程接

30、口封装了所有的activex对象供编程使用。 solidworks的对象层次结构可以描述为自上而下的树型结构模型,最底层的根对象是 sldworks对象,其它对象都是它的了对象。其中的父对象与了对象z间的关系并不是 继承关系,而是包含关系。也就是说如果vb要与solidworks的一个特定对象通讯,必 须先从solidworks对象对其子对象进行遍历,直到找到该特定的对象。为了方便用户进行二次开发,solidworks提供了几百个api函数,用户可以使用 visual basic、vba、visualc卄、c#、delphi 等高级编程语言对 solidworks 进行二次 开发,建立适合用户

31、需要的、专用的solidworks功能模块。同时,由于solidworks api 及具有关帮助文档都包括在solidworks软件屮,任何用户都可以对其进行二次开发。 不管是釆用 visual basic> vba> visualc+还是 delphi 对 solidworks 进行二次开发, 都是通过solidworks的对象体系结构来进行的。这种基于activex automation技术的 solidworks apt将各种功能封装在solidworks对象之中供编程调用。图2. 2显示了 solidworks api中各个对象相互关系,可以利用这张表的关系进行参考编程。图

32、2.2 solidworks api的对象层次结构体系2. 3. 6 sol idworks 的 api 函数介绍1. solidwoks的对象模型solidworks的对象模型是一个多层次的对象网络,如图2. 3所示。最高级别的对象类 是sldworks,该对象中封装了很多方法(methods),如0pendoc2、activatedoc2、 closedoc> exitapp,下面又创建了许多子类,如modeldoc、environment、frameo 本 文将重点介绍modcldoc对象,因为大部分绘图操作都在modcldoc对象屮,如 selectbyld (选择)、creat

33、ecircle2 (画圆)、createline2 (画直线)。modeldoc 中 又创建了partdoc> assemblydoc> drawingdoc等子类。其中大部分实体建模操作都在 partdoc 对象中,如featureextrusion (拉伸)、featurerevolve (旋转);而相关的装 配操作如addcomponent (插入零部件)、addmate (插入配合)等都在assemblydoc对 象中h1 o2. solidwoks的对象的属性和方法在solidworks创建的对象中,每个对象都有自己的属性和方法,通过调用api函数 实现,反过來,应用so

34、lidworks的每一步操作都体现在特定的对象类中。下面以vb为开 发平台介绍其一些常用的api函数。图2. 3 solidworks对象模型连接 solidworks在对solidworks进行二次开发时,首先要建立solidworks的连接,创建solidworks的应用对象:dim swapp as objectset swapp = createobject ("sldworks.application")通过这个函数,就打开了 solidworks的接口,可以调用它的api函数了。(2) 建立新的零件图、装配图创建零件图:dim part as objectset

35、 part = swapp.newpart创建装配图:dim assem as objectset assem = swapp.newassembly这两个函数创建了一个新的工作区,使我们能够进行建模和装配。(3) 选择“选择”町以说是在使用solidworks时用得最多的一个命令,有很多命令在使用时 都耍选择操作对象,通过调用model doc对象中的selectbytd函数来实现:modeldoc.selectbyid(objectname ,object type , x , y , z)这个函数在应用时需要输入五个参数:objectname表示要选择对象的名称,该名称是 solidwo

36、rks在创建对象时按先后顺序自动命名的,如基准面1、基准面2、arcl、 line3、d1 草图 1 partl. sldprt;object type 要输入对象的类型,如plane (面)、 sketchsegment (草图上的对象如直线、圆弧等)、dimension (尺寸标注);x , y , z是 平面上任一点的坐标值。(4) 插入草图在所选平而上插入草图,调用modeldoc 'i1的inscrtskctch函数:modeldoc. insertsketch ()(5) 基本草图绘制命令画直线调用modeldoc 对象中的createline2 函数:modeldoc.

37、createline2(xstart , ystart , zstart ,xend , yend , zend )const ructiongeomet ry =truc xstart、ystart、zstart、xend> yend、zend 分别是直线的起点和终点坐 标;const ructiongeomet ry =true时表示画中心辅助线。画圆调用modeldoc对象中 fltlcreatecircle2i?i:modeldoc. createcircle2 (xc , yc , zc , xp , yp ,zp)xc、yc、 zc、xp、yp、zp分别是岡心和岡上一点的坐标

38、值。标注尺寸先通过selectbyld函数 选择要标注的对象,再调用modeldoc中的adddimension函数:modcldoc. adddimcnsion(x , y , z)x、y、z为尺寸文本所要放的位置的坐标值。(5)基本实体建模命令拉伸调用partdoc中的featureextrusion函数:partdocfe&tureextrusion(sd ,flip , dir , tl , t2 , dl , d2 ,dchkl ,dchk2 ,ddirl ,ddir2 , dangl , dang2 , off setrcvcrsel , off sctreversc2)

39、sd 为true 时表示单向 拉伸,为false时双向拉伸,以0、1表示;dir为true时表示正向拉伸,为真时有 效;dir为true吋表示反向拉伸,为真吋有效;11、12表示终止类型,可取下列值:0 (给定深度)、1 (贯穿)、2 (为贯穿下一个)、3 (成形到一顶点)、4 (成形到一面)、 5 (到离指定面指定的距离)、6 (两侧对称);dl , d2表示拉伸的深度;ddirl > ddir2 为true时表示带拔模角拉仲;dangl . dang2为true时表示向内拔模,为false是向外 拔模;off setre2versel , off setreverse2控制到离指定面

40、指定的距离,在tl、t2为 5吋有效。其中d2、dchk2、ddir2、dang2、off setreverse2在双向拉伸吋有效。 旋转调用partdoc 中featurerevolve 函数:partdoc. featurerevolve(angle , reversedir , angle2 , revtype) angle 表示旋转的角度;reversedir 控制旋转 的方向,为true时表示反向,rcvtyp为1时无效;an2gle2表示旋转的反向角度,仅当 revtyp为2时有效;revtyp表示旋转类型,为0时单方向旋转,为1时双向等角度旋转, 为2吋双向旋转。倒角调用mode

41、ldoc中的featurechamfer2type 函数:modeldoc. featurechamfertype(chamfer type , width , angle , flip , otherdist , vertexchamdistl , vertexchamdist2 , vertexchamdist3)chamfer type 控 制倒角的类型,可取下列值:1(角度-距离控制)、2 (距离-距离控制)、3 (顶点-倒 角控制)、4 (两边等距离控制);width表示倒角边距;angle表示倒角角度,仅当 chamfer typel 为 1 吋有效;otherdist 表示cha

42、mfer type 为2 吋的另一边距; vertexchamdistl、vettexchamdist2、vertex2chamdist3 表示chamfer type 为3 时 的三个距离。(6)基本装配命令零件的建模完成后,即可进行零件的装配,先调用swapp中的newassembly函数新建 一个空白装配文档,再通过调用assemblydoc中的addcomponent函数插入零部件: assemblydoc. addcomponent (compxame , x , y , z) compxame 表示要加入组件的路径 及名称;x , y , z表示组件在装配文档屮放置的位置。插入配合

43、调用assemblydoc屮 的addmate 函数:assemblydoc. addmate (matetype , align , flip , dist , angle)用 matetype控制配合类型,可取下列值:0 (重合)、1 (同轴心)、2 (垂直)、3 (平行)、 4 (相切)、5 (距离)、6 (角度);align控制两配合面的方向,0 (同向对齐)、1 (反 向对齐)、2 (最近处);flip为true时表示延缓配合;dist控制matetype为5时的 距离;angle控制matetyp为6时的角度06-171 o3更多的solidworks的api函数介绍在这里只是简耍

44、的介绍solidworks的apt函数,不可能作到全面的认识或是熟悉这些api要了解更多的api知识可以查看solidworks的api和插件帮助主题,如图2. 3。图2. 3 solidworks api插件帮助主题2. 3. 7 vb开发so i i dworks基本原理1. vb简介visualbasic语言是美国微软公司推出的windows环境下的软件开发工具,使用vb可 以既快乂简单地开发w i ndows应用软件。visual是指开发图形用户界而(gui)的方法。visual的意思是“视觉的”或“可 视 的”,也就是直观的编程方法在vb屮引入了控件的概念。如各种各样的按钮、文本框、

45、 复选框等。vb把这些控件模式化,并ii每一个控件都由若干个属性來控制其外观、工作 方法。这样采用visual方法无需编写大量的代码去描述界面元素的外观和位置,而只耍 把预先建立的控件加到幕上就像使用“画图” z类的绘图程序,通过选择画图工具來 画图一样。basic 是指basic ( beginners all-purposesy mbolicin st rue tionc ode)语言,z 所以叫做“visualbasic”就是因为它使用teas ic语言作为代码1241. vb在原有的basic 语言的基础上的进一步发展,至今包含了数百条语句、函数及关键词,其中很多与 windows g

46、ui有直接关系。vb与basicz间有着千丝万缕的联系,如果学过basic语言的 话,看到vb的程序结构会感到很亲切。专业人员可以用visualb asic实现其他任何 windows编程语言的功能,而初学者只需掌握几个关键词就可以建立实用的应用程序。vb设计程序在windows工作环境中,开发应用程序是比较理想的。使用vb不仅可以 感受到windows带来的新技术、新概念和新的开发方法,而且vb是目前众多windows软件 开发工具中效率最高的一个。另外,vb系列产品得到了计算机工业界的承认,得到了许 多软件开发商的大力支持。2. vb 开发 solidworks 原理solidworks

47、api ( application programming interface,应用程序编程接 口)是 sol idworks的ole (object linking and embedding,对象链接或嵌入)应用程序开发 接口,用户可以利用它和支持ole编程的开发工具,如vb、vba (excel, access)、vc 等对solidworks进行二次开发,建立适合用户需要的、专用的solidworks功能模块, 在此基础上实现零件及模具的参数化驱动。solidworks二次开发通常有两种形式:一是独立应用程序(standalone application),用户程序作为一个独立的应用程

48、序(粒exe),通过apt接口调用 solidworks提供的服务,完成对solidworks的控制和操作;二是插件形式 (add-lnapplication),用户程序作为一个插件(*. dll)集成到solidworks中去。插 件形式下,用户程序跟solidworks程序运行在同一进程空间,运行效率高,而且用户 町以在solidworks中添加自la的菜单、工具栏、属性页等,使用户程序跟solidworks 程序浑然融为一体。由丁插件程序跟solidworks运行在同一进程空间,插件程序的异 常会导致solidworks程序的不稳定,因此在做开发时也要更加小心。相对应的独立应 用程序跟s

49、olidworks程序运行在不同的进程空间,客户程序的异常不会影响 solidworks,但由于涉及到跨进程调用,它的效率会相对比较低,而且这种方式下用户 不町以在solidworks中添加自(2的菜单、工具栏和属性页等。由于vb易学易用,满足 基本设计要求,因此,木文采用vb做为开发语言,以插件的形式添加到sol idworks中。在采用vb所实现的solidworks二次开发应用中,客户通过vb编写的应用程序 为客户程序,solidworks是服务程序,vb编写的应用程序驱动solidworks完成指定 工作。其基本思路是在solidworks环境中,任意选定某一型号的标准件,按照正确的

50、设计关系绘制标准件的模型,当需耍生成另一规格的标准件吋,可根据用户给定的相关 约束变量参数值,对已定义好的标准模型的和应约束关系进行修改与求解,使其儿何 元素和特征的儿何或拓扑关系发生改变,并引起相关图形元索及关系的联动,生成所 需零件,即零件设计采用尺寸驱动方式进行设计。由于标准件均为系列化零件,因此设 计时可用access建立各类标准件参数数据库,供用户设计时选用相应规格零件。本设 计用access建立了紧固件、连接件、滚动轴承、键等标准件的参数数据库,用vb编 程实现solidworks下各类标准件三维实体图形的生成。系统基木框架如图2.4所示, 即以面向对象的vb语言为客户端,结合ac

51、cess建立标准件参数库,通过activex automation技术控制服务端solidworks自身二次开发接口 api函数,调用其对象、 属性、方法,实现solidworks的二次开发。图2.4系统开发框架图2. 3. 8数据库技术1.数据库技概括数据库技术是应数据管理任务的需求而产生的,从五十年代以来,随着计算机软硕 件的飞速发展,数据管理技术己经经历了人工管理、文件管理和数据库系统三个阶段。 20世纪60年代末,软硬件技术的发展,为数据库技术的发展提供了良好的基础,数据库 管理系统取代了传统的文件管理系统,在各个领域获得了广泛的应用。数据库系统(databasesystem,简称db

52、s)是由数据库、数据库管理系统、应用系统、 数据库管理员和用户构成的人机系统。数据库(database,简称db)是长期存储在计算机 上的、有结构的、可共享的数据集合。数据库管理系统(databasemanagement system, 简称dbms)是科学地组织和存储数据、有效获取和维护数据的系统软件。它是位于用户 和操作系统之间的一层数据管理软件。数据库结构一般分为层次模型、网状模型和关系模型。(1) .层次模型(hierarchalm odel)用树结构表示实体之间的联系,树有结点和连线组成,节点表示实体集,连线表示 相连两实体z间的关系,这种关系只能是1:n关系。(2) .网状模型(n

53、etworkm odel)这种模型允许有零个或多个节点而无父节点,它可直接表示m:n关系。(3) .关系模型(relationalm odel)关系模型由关系、关系上定义的操作和对关系的完整性的规则组成。它的二位表由 两部分组成:一是表格的名字和属性的名字,二是具体的数值。关系模型和层次模型、 网状模型的区别在于它通过表格数据而不是通过指针连接来表示和实现两实体间的关 系。以关系模型为基础的数据库就是关系数据库,具有数据结构简单、符合工程习惯、 数据独立性高及数学基础严密等优点,是目前数据库应用的主流。数据库技术应用到cad/cam系统屮,人们希槊能够利用数据库技术有效的管理工程应 用小所涉及

54、的图形、图像、声音等更加i!然的信息形式,因此工程数据库应运而生。工 程数据库是指能满足人们工程活动中对数据处理要求的数据库。它不但要能够处理常规 的表格数据、曲线数据等,还必须能够处理图形数据。图形数据既有满足工程绘图的二 维数据,乂有产品造型所需要的三维设计数据。图形数据一般是网状关系的层次结构, 同一种实体可能在不同的使用阶段使用儿种不同的表示方法,并且须实现不同表示方法 z间的相互转换。在工程数据库管理系统edbms (engineering data bases management system)中,数据的表现形式不再是单一的实际参数,由含参数的过程(子程序)生成产 品商数据也是一

55、种必不可少的表现形式181。2.数据库接口技术(access数据库引擎)visualbasic所编写的数据库应用程序,负责的是与用户的交互。用该程序可以选择 数据库中的数据项,并把所选择的数据项按用户的耍求显示出来。数据库系统被称为后 台系统,通常是关系表的集合。这时就涉及到一个问题,应用程序如何与后台的数据库建立联系呢?首先,数据库要能支持用户的访问,其次,用户的visualb asic程序可以访问这些 数据库,这两点很关键。数据库有三种方式支持应用程序的访问,即通过access数据库引擎、microsoft odbc驱动程序、第三方odbc驱动程序。visualbasicg. 0应用程序屮

56、支持多dbms来开发数据库,这种方法称作odbc, odbc是 microsoft's window的开放式服务体系结构数据库部分,是一个用于访问多种数据库的 统一的界面标准。odbc实际是一个数据库访问库,但是只提供一个统一的应用程序接口 (apt) o这样利用odbc可以避免应用程序随数据库的改变而改变。odbc通过使用数据库 驱动程序获得数据库的独立性,驱动程序所提供的标准接口允许应用程序开发者和驱动 程序提供者在应用程序之间传递数据1191 o对visualbasic而言,其内置为microsoft access数据库,可以提供不逊色于专业数 据库软件的支持,叮以进行完整的数据

57、库维护、操作及事务处理。在visualbasic中, 将非access数据库称为外来数据库。对t'foxpro, dbase, paradox等外来数据库,虽然 借助visualb asic的datam anager能够对这些数据库进行new,open, design, delete等操作,但在应用程序的运行状态屮不能从底层真正 实现这些功能。visualbasic的核心结构是所谓的microsoftjet数据库引擎。jet引擎的作用就像是 一块"面板”在其上可以插入多种tsam( tndexeds equentiala ccessm ethod,即索引 顺序存取方法)数据库

58、驱动程序。jet引擎为access格式数据库提供了直接的内建 (build-in)支持,这就是visual basic对access数据库具有丰富支持的真正原因。因此,我们利用visualbasic对access数据库的方便、实用和直接的内建(build-in) 支持,采用access作为数据源,这为开发机床夹具零部件库带来了极大的方便。3. solidworks -次开发的一般过程3.1用vb开发solidworks的一般步骤用visual basic作为开发工具,因为采用的是dll动态链接库方式,必须先在visual basic进行二次开发的步骤如下: 安装sol idworks和vi s

59、ual bas ic0 启动visual basic,新建一个工程,导入所需要的3种类型库(如图3. 1),然 后编写代码。在任何情况下,编写的代码应该类似于有solidworks的宏工 具所产生 的代码,在solidworks中,应用记录宏(“工具”-> “宏”-> “录制”)来获得程序 头部和应用程序的代码是十分有用的。如果日常事务仅仅是访问solidworks apt,则不必编译应用程序,只需visual basic 创建应用程序,文件扩展名设为swp而不是.bas即可。solidworks的宏文件(*. swp) *导入所需要的3种类型库:sldworks 2007 type library>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论