




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页共38页1绪论11课题研究的意义任何设计都是时代的产物,它的不同的面貌,不同的特征反映着不同的历史时期的科技技术水平。技术是产品形态发展的先导,新材料,新工艺的出现,必然给产品带来新的结构,新的形态和新的造型风格。材料、加工工艺、结构、产品形象有机地联系在一起的,某个环节的变革,便会引起整个机体的变化。夹具业多样化发展使得通用的夹具CAD软件不能完全满足企业的特殊要求,所有研究在通用图形软件的基础上二次开发企业自主的夹具CAD系统十分必要。如果进行二次开发,可以全面扩展其功能或将其功能集成到客户应用程序中,从而实现完全客户化【1】。夹具可分为通用夹具、组合夹具、专用夹具几类。组合夹具和专用夹具设计时需要进行一系列的定位、夹紧、装配设计才能满足生产的要求。随着生产节奏的加快,能在短时间内由标准元件组装完成的组合夹具,受到诸多企业普遍的青睐。其不足之处是外形尺寸较大,笨重;刚性较差,同时由于所需元件的储备量大,故一次性投资费用较高而且目前组合夹具的设计和组装仍采用落后的人工拼装和管理方法,大多数企业的组合夹具是根据工艺人员设计的工序图由组合夹具组装站进行组装。由于没有详细的装配图,组装时往往需要经过多次安装、调整才能达到要求,比较费时费力,不仅效率低、周期长,而且装配质量依赖丰富的生产经验和技术熟练的技工,这正是企业短缺的人才,客观上成为限制组合夹具广泛应用的障碍。另外,有些复杂的组合夹具由于装夹精度高,对人的经验依赖程度高,组装站担心拆卸后难以恢复,故需要长期保存,这就造成组合元件长期被占用,影响组合元件周转使用。所以,在如今的市场上如果提供一个选择,并考虑到当今的科技,客户会喜欢根据其具体的需求选择一个产品建造。产品的定制通常需要个人拥有必要的产品知识和设计技能,并把它们应用在客户所需的要求和规格上,而且这个过程通常需要耗费很多时间。如果应用软件进行二次开发建立一个标准件三维实体模型库,用户选择标准件时,便能自动从库中取出,然后插入到装配体的指定位置,将大大简化设计工作,提高设计效率。同时用户可交换选择或修改标准件的某些参数,直接在装配环境中调用,使用极其方便有效。第2页共38页在产品设计中,大量应用标准件是代表一个国家和企业设计制造水平的重要标志。在机械产品中,有大约30到70的零件是标准件或非标常用件,这些零件大多具有相同或相似的外形特征,只是尺寸规格有所不同,如果没有三维标准件库,将不得不在创建和开发过程中对标准件进行重复建模,不但耗费了设计人员的时间和精力,延长设计周期,而且增加了产品的生产制造成本,所以建立通用的符合国家标准和企业标准的标准件库和典型组合库是提高设计效率的保证。专用夹具的设计更不例外。而一些优秀的三维CAD软件如UGSOLIDEDGE等都未提供机床夹具零部件库。为此,选择合适的三维CAD平台,研发一套适用于各类CAD逗系统的、通用的标准件库和机床夹具零部件库具有极其深远的意义和价值。12机床夹具标准件库研究的现状夹具是制造企业一种重要的工艺装备资源,夹具设计是生产准备过程的关键环节。以多品种、小批量为代表的面向大规模定制生产模式,要求企业能够快速响应用户需求,缩短开发时间。夹具由于能够利用加工零件工艺上的相似性,且适应工件特征在一定范围内的变化而得到推广和应用,如何提高夹具设计效率成为需要重点解决的问题之一。参数化技术作为快速设计的常用手段,因此,夹具参数化生成和快速变形设计成为企业的迫切需要。据统计,在夹具开发过程中标准件的使用率占到零件总数量的60以上,以标准件的重复建模占用夹具设计的大量时间,而国内开发的标准件库大都都存在通用性不足和扩充性较差的缺点。非标准件通常形状不规则,结构也比标准件复杂,因此夹具设计时,夹具的结构尺寸依靠人的经验,而人的经验又往往不能被挖掘和再利用。同时,目前CAD软件的参数化设计功能尚难以很好地满足产品级参数化设计的需求。目前,各种二次开发的系统如模具CAD、夹具CAD、组合夹具CAD等大多是基于AUTOCAD平台开发的二维工程数据库。基于AUTOCAD的机床夹具零部件库开发已有一定成果。其组成主要有如下几个功能模块零部件库应用程序、零部件数据库、图片库。图片库用于存放不同种类夹具的工程图,供预览用。“零部件数据库”是将机床夹具零部件国家标准GB2148GB226980中的所有零部件的尺寸数据输入计算机中,建立起多个数据文件,构成数据库,其中每种类型夹具不同规格的尺寸构成一个数据文件,供应用程序在AUTOCAD中生成工程图用【2】。第3页共38页一些优秀的三维CAD软件如UG、SOLIDEDGE等都未提供机床夹具零部件库。目前,进行简单开发的一些零部件库,大部分是基于CAD开发的三维图形库,或者说以块的形式存储的图形文件,一般也是针对专门的系统,可移植性不强。而且,这些图形库存在着一些问题1不同系统开发的零部件库由于对零部件没有统一的描述格式,不能进行信息的交换,造成了资源的极大浪费2包括的信息不完整,多数只描述零件的几何特性,而不包括材料、性能等级等技术信息3在建库方法上,多采用建立图库的方法,即把预先定义好的图形放入库中,需要时重新调用。由于机床夹具零部件的数量、种类、规格非常多,而且许多尺寸不是标准尺寸或固定值,全部做成图形要造成极大的资源浪费,而且有些零件也不可能全部做成图形,比如钻套的内孔尺寸、定位销的外圆柱面定位尺寸等,它们是由工件的加工要求确定的,可能是整数,也可能是几位小数,建立钻套及定位销模型时不可能预知这一尺寸,所以,我们需要寻求一种对这一信息的统一描述,包括尽可能多的信息,减少不必要的浪费【3】。第4页共38页2总体方案设计21系统开发所需工具目前,在我国的CAD市场上比较流行的三维CAD软件有SOLIDWORKS、MDT、UG、PRO/E、SOLIDEDGE等。但就价位来讲SOLIDWORKS、MDT、SOLIDEDGE是中低档价位的产品,UG、PRO/E、IDEAS是高中档价位的产品。考虑到SOLIDWORKS的全球用户非常广泛(大约有20万),国外大多数制造公司招聘时都要求应聘人具备操作SOLIDWORKS的能力。国际上很多一流的名校都将SOLIDWORKS定为大学本科学生的必修课,如麻省理工学院、英国剑桥大学等。95的西方企业要求员工回运用SOLIDWORKS软件,SOLIDWORKS连续几年被美国一些杂志评为优秀的CAD软件。而且SOLIDWORKS的易上手,易操作性,所以在这里我们以SOLIDWORKS为平台进行夹具库的二次开发。SOLIDWORKS的软件开发商为方便各类用户对其进行二次开发,提供了APIAPPLICATIONPROGRAMMINGINTERFACE应用编程接口,它是一个基于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的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方第5页共38页法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。22系统的设计思想计算机辅助夹具设计系统应为工艺人员提供一个良好的设计服务环境,应具备快速获取相关信息、生成和存储、输入和输出、图形设计和处理能力以及良好的人机交互等功能。基于SOLIDWORKS的CAM系统参考人工设计夹具的过程,同时兼顾计算机处理问题的特点,面向夹具设计全过程,融三维参数化设计技术、交互式界面设计技术和数据库管理技术于一体,根据机床夹具零部件的具体特点,综合使用变异型如夹具体或创成型CAD如标准零部件和人机交互设计的混合方式,面向对象,通过三维参数化驱动技术,保证设计结果的一致性【5】。另外,一个独立的EXE是一个独立的程序,有能力控制其他软件,有自己的接口。在这种情况下,VISUALBASIC软件被用来作为独立的EXE来结合SOLIDWORKS和EXCEL软件定制模型,由此我们可以得出详细的系统体系结构(如图21)。图21详细的系统体系结构图本课题作为CAFD系统的先期工作,将首先完成机床夹具定位件库的建立,并作进一步研究。SOLIDWORKS环境下零部件库的系统结构包括用户界面、执行模块、零部件模型库、零部件特性参数数据库四个部分。其核心部分就是执行模块和零部件模型库及数据库,下面分别对各模块进行简单介绍。1用户界面用户与执行模块进行交互的窗口可以从中输入所需的零件的第6页共38页主参数,进行实时建模(对数据库中没有的数据参数可输入其所需参数进行实时绘制)。2执行模块核心部分,主要是对由界面输入的数据处理,与零部件库参数数据库进行交互,运算,通过API跟SOLIDWORKS进行交互,对其操作,使其完成绘制相应实体的全过程。3零部件参数数据库和模型库为零部件的生成提供原形和具体参数信息,是零件的原始表现形式。图21给我们展示的不仅是零部件库的总体结构,它实质是给我们一种建立零部件库的思想。由图可以看出,其几大模块都是围绕着SOLIDWORKS这个平台,其主要原因是绘图过程是由SOLIDWORKS平台完成的。其它几个模块是以外挂的形式和SOLIDWORKS平台相关联的,也就是说其它几个模块把处理后的信息汇总后通过接口API发向SOLIDWORKS平台来完成画图。这种建模方式的优点体现在以下几点1数据库建立可以独立进行,不受任何条件约束,因为ACCESS数据库的访问操作已经标准化,己经形成标准化的数据库语言,在任何编程语言环境中都是通用的。2模型的建立是不受任何外界因素影响的。因为SOLIDWORKS的核心技术不会变,其建立的模型的通用性也不会变。模型的通用性也就保证了此零部件库的通用性。3由上面两点看出,数据库与编程语言无关,因此,对其进行二次开发的编程语言就会有多种选择,这样使其二次开发的难度降低,适合人群增加。4由图可以看出,用这种方法开发的零部件库是以外挂的形式联接到SOLIDWORKS之上的,而且各个模块是独立的,因此其扩充性非常的好,我们可以增加更多的标准件数据库,增加更多的模型文件来达到扩充零部件库的目的。例如我们要加入弹簧这个标准件,我们要作的只是把其参数建立数据库,把其外型建立模型,放入相应的目录中,然后建立其执行模块和界面,编译成可执行,再加入菜单即可,对原来任何东西都不需要修改【68】。23系统的设计的关键技术231COM技术COM是一个说明如何建立可动态交替更新组件的规范,提供了客户和组件之间能够第7页共38页互操作应该遵循的标准,该标准对于组件架构的重要性同其他任何一个具有可交替更新部分的系统是一样的。COM的前身是OLE。OLE的第一个版本用动态数据交换(DDE)作为客户及组件之间的通信方式,OLE10并没有引用COM,但是DDE非常缓慢,而且效率也不高。OLE的第二个版本使用了COM。但OLE是开发出来的第一个COM系统,不能很好地实现COM功能,这使OLE显得比较庞大而且使用不便。COM规范就是一套为组件架构设置标准的文档。COM中得组件,其实用积木形容在恰当不过了。在拼积木时,将积木一块一块垒加起来拼成头脑中所想象的东西。我们可以将组件看出一块积木或一个小单元,这些小单元成为应用程序的各个独立部分。这种做法的好处不言自明,它可以随着对应用程序的不断发展而使用新的组件来取代原有的组件,就像堆积木一样,用更漂亮的积木搭成更漂亮的建筑。传统应用程序的组成部分是分立的文件、模块或类,这些组成部分经过编译并链接之后形成应用程序。要像推出应用程序的新版本,就需要将这些组成部分重新编译,既费时又费力。有了组件的概念,就可以将改进的新组件插入到应用程序中,并替换了原来的就组件,从而赋予应用程序新的活力【9】。另外,由此也可以看出有这样的想法,把许多已经做好的组件放到一起形成一个组件库,好比一个类库。当制作应用程序时,如果要用到不同的组件,只需要从刚建好的组件库中调出所需要的组件,然后它们可以插入到适当的位置,来获得所需要的功能。232ACTIVEXAUTOMATION技术ACTIVEXAUTOMATION技术ACTIVEXAUTOMATION是MICROSOFT公司提出的一个基于COMCOMPONETOBJECTMODEL,组件对象模型的技术标准,是以前的OLIOBJECTLINKINGANDEMBEDING,对象连接与嵌人技术的更高层次的发展,其宗旨是在WINDOWS系统的统管理下,协同不同的应用程序,准许这些应用程序之间相互沟通、相互控制。每个应用程序可以决定自己的哪些信息可暴露出来。这些暴露出来的信息、可以被其它应用程序操纵。这个暴露信息的程序称为服务程序SERVER,而操纵这些服务程序的程序成为客户程序CLIENT,ACTIVEXAUTOMATION技术通过两个程序问安排对话,达到一个程序控制另一个程序的目的,但这种对话不是双向的,对话双方也不是平等的。客户程序是开始要求对话的应用程序,服务程序是响应客户程序的应用程序。ACTIVEXAUTOMATION的代码在客户程序土运行,而这些代码所控制的动作由服务程序来执行在这里将SOLIDWORKS理解为一个服务程序,而作为二次开发工具的VB程序作为客户程序,它们之第8页共38页间是服务器与客户的关系。用户只要在VB仁进行操作,VB就将驱动SOLIDWORKS完成相应的工作。233OLE技术在WINDOWS平台下,应用程序并不是处于分割独立的状态,用户通常想使它们互相联系。OLE自动化是WINDOWS应用程序之间互相操纵的一项技术,它允许在一个应用程序内部操作另一个应用程序提供的对象。被操纵的一端称为自动化服务器,而操纵自动化服务器的一端称为自动化客户或自动化控制器。一个自动化服务器是由一个应用程序提供的被另一个应用程序使用的服务。自动化控制器是指使用自动化服务器提供服务的控制应用程序,它通过OLE接口工作,这个接口向控制应用程序开放可用的服务。因此,OLE自动化的实质就是使对象在应用程序之间可以方便地共享,自动化的最大优势是它的语言无关性。可以使用DELPHI、C等高级语言或脚本语言如VBSCRIPT和JAVASCRIPT来驱动自动化服务器,而不必考虑用于编写它的语言,从而实现应用程序间的互操作性。自动化服务器的应用有两种形式一种称为进程内服务器,一种称为进程外服务器。进程内服务器是DLL函数,可以创建服务器对象供宿主应用程序使用,DLL程序与调用它的应用程序可以创建服务器对象,他们与客户程序不在同一进程中,而是在他们自己的进程中。目前,越来越多的应用程序对外界提供自动化服务器,如MICROSOFTWORD、EXCEL、PRO/E、MDT、SOLIDWORKS等。使用自动化服务器提供的服务,实际上是通过访问自动化服务器提供的自动化对象的数学和方法实现。有关自动化对象的借口、属性和方法等信息称为类型信息。提供自动化服务器的应用程序一般把自动化对象类型信息保存在类型库中。自动化服务器的类型库可以作为资源链接到服务器应用程序或动态动态链接中,也可以单独保存在一个外部文件中。类型库中包括的自动化服务器中的类、接口、数据类型等信息,供客户在创建实力、调用接口时使用。234参数化设计技术参数化设计PARAMETRICDESIGN,也叫尺寸驱动DIMENSIONDRIVEN一般是指设计图形拓扑关系不变,尺寸形状由一组参数进行约束。参数与图形的控制尺寸有显式的对应,不同的参数值驱动产生不同大小的几何图形。可见,参数化设计是规格化、系列化产品设计的一种简单、高效、优质的设计方法。国内外对参数化设计做了大量的研究,目前参数化技术大致可分为如下三种方法1基于几何约束的数学方法2基于几何原理第9页共38页的人工智能方法3基于特征模型的造型方法。其中数学方法又分为初等方法PRIMARYAPPROACH和代数方法ALGEBRAICAPPROACH。初等方法利用预先设定的算法,求解一些特定的几何约束。这种方法简单、易于实现,但仅适用于只有水平和垂直方向约束的场合代数法则将几何约束转换成代数方程,形成一个非线性方程组。该方程组求解较困难,因此实际应用受到限制人工智能方法是利用专家系统,对图形中的几何关系和约束进行理解,运用几何原理推导出新的约束,这种方法的速度较慢,交互性不好特征造型方法是三维实体造型技术的发展,目前正在探讨之中。参数化设计是一种驱动机制,参数驱动机制是基于对图形数据的操作通过参数驱动机制,可以对图形的几何数据进行参数化修改,但是,在修改的同时,还要满足图形的约束条件,需要约束间关联性的驱动手段约束联动,约束联动是通过约束间的关系实现的驱动方法。对一个图形,可能的约束十分复杂,而且数量很大。而实际由用户控制的,即能够独立变化的参数一般只有几个,称之为主参数或主约束其它约束可由图形结构特征确定或与主约束有确定关系,称它们为次约束。对主约束是不能简化的,对次约束的简化可以有图形特征联动和相关参数联动两种方式。所谓图形特征联动就是保证在图形拓扑关系不变的情况下,对次约束的驱动,亦即保证连续、相切、垂直、平行等关系不变。反映到参数驱动过程就是要根据各种几何相关性准则去判识与从动点有上述拓扑关系的实体及其几何数据,在保证系不变的前提下,求出新的几何数据。称这些几何数据为从动点。这样,从动点的约束就与驱动参数有了联系。依靠这一联系,从动点得到了驱动点的驱动,驱动机制则扩大了其作用范围。所谓相关参数联动就是建立次约束与主约束在数值上和逻辑上的关系。在参数驱动过程中,始终要保持这种关系不变。相关参数的联动方法使某些不能用拓扑关系判断的从动点与驱动点建立了联系。使用这种方式时,常引入驱动树,以建立主动点、从动点等之间的约束关系的树形表示,便于直观地判断图形的驱动与约束情况。参数驱动是一种新的参数化方法,其基本特征是直接对数据库进行操作。因此它具有很好的交互性,用户可以利用绘图系统全部的交互功能修改图形及其属性,进而控制参数化的过程与其他参数化方法相比较,参数驱动方法具有简单、方便、易开发和使用的特点,能够在现有的绘图系统基础上进行二次开发。而且适用面广,对二维、三维问题都适用【1013】。第10页共38页235SOLIDWORKS的对象层次结构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对象之中供编程调用。图22显示了SOLIDWORKSAPI中各个对象相互关系,可以利用这张表的关系进行参考编程。图22SOLIDWORKSAPI的对象层次结构体系第11页共38页236SOLIDWORKS的API函数介绍1SOLIDWOKS的对象模型SOLIDWORKS的对象模型是一个多层次的对象网络,如图23所示。最高级别的对象类是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】。2SOLIDWOKS的对象的属性和方法在SOLIDWORKS创建的对象中,每个对象都有自己的属性和方法,通过调用API函数实现,反过来,应用SOLIDWORKS的每一步操作都体现在特定的对象类中。下面以VB为开发平台介绍其一些常用的API函数。图23SOLIDWORKS对象模型1连接SOLIDWORKS在对SOLIDWORKS进行二次开发时,首先要建立SOLIDWORKS的连接,创建SOLIDWORKS的应用对象DIMSWAPPASOBJECT第12页共38页SETSWAPPCREATEOBJECTSLDWORKSAPPLICATION通过这个函数,就打开了SOLIDWORKS的接口,可以调用它的API函数了。2建立新的零件图、装配图创建零件图DIMPARTASOBJECTSETPARTSWAPPNEWPART创建装配图DIMASSEMASOBJECTSETASSEMSWAPPNEWASSEMBLY这两个函数创建了一个新的工作区,使我们能够进行建模和装配【15】。3选择“选择”可以说是在使用SOLIDWORKS时用得最多的一个命令,有很多命令在使用时都要选择操作对象,通过调用MODELDOC对象中的SELECTBYID函数来实现MODELDOCSELECTBYIDOBJECTNAME,OBJECTTYPE,X,Y,Z这个函数在应用时需要输入五个参数OBJECTNAME表示要选择对象的名称,该名称是SOLIDWORKS在创建对象时按先后顺序自动命名的,如基准面1、基准面2、ARC1、LINE3、D1草图1PART1SLDPRTOBJECTTYPE要输入对象的类型,如PLANE面、SKETCHSEGMENT草图上的对象如直线、圆弧等、DIMENSION尺寸标注X,Y,Z是平面上任一点的坐标值。4插入草图在所选平面上插入草图,调用MODELDOC中的INSERTSKETCH函数MODELDOCINSERTSKETCH5基本草图绘制命令画直线调用MODELDOC对象中的CREATELINE2函数MODELDOCCREATELINE2XSTART,YSTART,ZSTART,XEND,YEND,ZENDCONSTRUCTIONGEOMETRYTRUEXSTART、YSTART、ZSTART、XEND、YEND、ZEND分别是直线的起点和终点坐标CONSTRUCTIONGEOMETRYTRUE时表示画中心辅助线。画圆调用MODELDOC对象中的CREATECIRCLE2函数MODELDOCCREATECIRCLE2XC,YC,ZC,XP,YP,ZPXC、YC、ZC、XP、YP、ZP分别是圆心和圆上一点的坐标值。标注尺寸先通过SELECTBYID函数第13页共38页选择要标注的对象,再调用MODELDOC中的ADDDIMENSION函数MODELDOCADDDIMENSIONX,Y,ZX、Y、Z为尺寸文本所要放的位置的坐标值。5基本实体建模命令拉伸调用PARTDOC中的FEATUREEXTRUSION函数PARTDOCFEATUREEXTRUSIONSD,FLIP,DIR,T1,T2,D1,D2,DCHK1,DCHK2,DDIR1,DDIR2,DANG1,DANG2,OFFSETREVERSE1,OFFSETREVERSE2SD为TRUE时表示单向拉伸,为FALSE时双向拉伸,以0、1表示DIR为TRUE时表示正向拉伸,为真时有效DIR为TRUE时表示反向拉伸,为真时有效T1、T2表示终止类型,可取下列值0给定深度、1贯穿、2为贯穿下一个、3成形到一顶点、4成形到一面、5到离指定面指定的距离、6两侧对称D1,D2表示拉伸的深度DDIR1、DDIR2为TRUE时表示带拔模角拉伸DANG1、DANG2为TRUE时表示向内拔模,为FALSE是向外拔模OFFSETRE2VERSE1,OFFSETREVERSE2控制到离指定面指定的距离,在T1、T2为5时有效。其中D2、DCHK2、DDIR2、DANG2、OFFSETREVERSE2在双向拉伸时有效。旋转调用PARTDOC中FEATUREREVOLVE函数PARTDOCFEATUREREVOLVEANGLE,REVERSEDIR,ANGLE2,REVTYPEANGLE表示旋转的角度REVERSEDIR控制旋转的方向,为TRUE时表示反向,REVTYP为1时无效AN2GLE2表示旋转的反向角度,仅当REVTYP为2时有效REVTYP表示旋转类型,为0时单方向旋转,为1时双向等角度旋转,为2时双向旋转。倒角调用MODELDOC中的FEATURECHAMFER2TYPE函数MODELDOCFEATURECHAMFERTYPECHAMFERTYPE,WIDTH,ANGLE,FLIP,OTHERDIST,VERTEXCHAMDIST1,VERTEXCHAMDIST2,VERTEXCHAMDIST3CHAMFERTYPE控制倒角的类型,可取下列值1角度距离控制、2距离距离控制、3顶点倒角控制、4两边等距离控制WIDTH表示倒角边距ANGLE表示倒角角度,仅当CHAMFERTYPE1为1时有效OTHERDIST表示CHAMFERTYPE为2时的另一边距VERTEXCHAMDIST1、VERTEXCHAMDIST2、VERTEX2CHAMDIST3表示CHAMFERTYPE为3时的三个距离。6基本装配命令零件的建模完成后,即可进行零件的装配,先调用SWAPP中的NEWASSEMBLY函数新建一个空白装配文档,再通过调用ASSEMBLYDOC中的ADDCOMPONENT函数插入零部件ASSEMBLYDOCADDCOMPONENTCOMPNAME,X,Y,ZCOMPNAME表示要加入组件的路径第14页共38页及名称X,Y,Z表示组件在装配文档中放置的位置。插入配合调用ASSEMBLYDOC中的ADDMATE函数ASSEMBLYDOCADDMATEMATETYPE,ALIGN,FLIP,DIST,ANGLE用MATETYPE控制配合类型,可取下列值0重合、1同轴心、2垂直、3平行、4相切、5距离、6角度ALIGN控制两配合面的方向,0同向对齐、1反向对齐、2最近处FLIP为TRUE时表示延缓配合DIST控制MATETYPE为5时的距离ANGLE控制MATETYP为6时的角度【1617】。3更多的SOLIDWORKS的API函数介绍在这里只是简要的介绍SOLIDWORKS的API函数,不可能作到全面的认识或是熟悉这些API要了解更多的API知识可以查看SOLIDWORKS的API和插件帮助主题,如图23。图23SOLIDWORKSAPI插件帮助主题237VB开发SOLIDWORKS基本原理1VB简介VISUALBASIC语言是美国微软公司推出的WINDOWS环境下的软件开发工具,使用VB可以既快又简单地开发WINDOWS应用软件。VISUAL是指开发图形用户界面GUI的方法。VISUAL的意思是“视觉的”或“可视第15页共38页的”,也就是直观的编程方法在VB中引入了控件的概念。如各种各样的按钮、文本框、复选框等。VB把这些控件模式化,并且每一个控件都由若干个属性来控制其外观、工作方法。这样采用VISUAL方法无需编写大量的代码去描述界面元素的外观和位置,而只要把预先建立的控件加到幕上就像使用“画图”之类的绘图程序,通过选择画图工具来画图一样。BASIC是指BASICBEGINNERSALLPURPOSESYMBOLICINSTRUCTIONCODE语言,之所以叫做“VISUALBASIC”就是因为它使用TBASIC语言作为代码1241VB在原有的BASIC语言的基础上的进一步发展,至今包含了数百条语句、函数及关键词,其中很多与WINDOWSGUI有直接关系。VB与BASIC之间有着千丝万缕的联系,如果学过BASIC语言的话,看到VB的程序结构会感到很亲切。专业人员可以用VISUALBASIC实现其他任何WINDOWS编程语言的功能,而初学者只需掌握几个关键词就可以建立实用的应用程序。VB设计程序在WINDOWS工作环境中,开发应用程序是比较理想的。使用VB不仅可以感受到WINDOWS带来的新技术、新概念和新的开发方法,而且VB是目前众多WINDOWS软件开发工具中效率最高的一个。另外,VB系列产品得到了计算机工业界的承认,得到了许多软件开发商的大力支持。2VB开发SOLIDWORKS原理SOLIDWORKSAPI(APPLICATIONPROGRAMMINGINTERFACE,应用程序编程接口)是SOLIDWORKS的OLE(OBJECTLINKINGANDEMBEDDING,对象链接或嵌入)应用程序开发接口,用户可以利用它和支持OLE编程的开发工具,如VB、VBA(EXCEL,ACCESS)、VC等对SOLIDWORKS进行二次开发,建立适合用户需要的、专用的SOLIDWORKS功能模块,在此基础上实现零件及模具的参数化驱动。SOLIDWORKS二次开发通常有两种形式一是独立应用程序(STANDALONEAPPLICATION),用户程序作为一个独立的应用程序(EXE),通过API接口调用SOLIDWORKS提供的服务,完成对SOLIDWORKS的控制和操作;二是插件形式(ADDINAPPLICATION),用户程序作为一个插件(DLL)集成到SOLIDWORKS中去。插件形式下,用户程序跟SOLIDWORKS程序运行在同一进程空间,运行效率高,而且用户可以在SOLIDWORKS中添加自己的菜单、工具栏、属性页等,使用户程序跟SOLIDWORKS程序浑然融为一体。由于插件程序跟SOLIDWORKS运行在同一进程空间,插件程序的异常会导致SOLIDWORKS程序的不稳定,因此在做开发时也要更加小心。相对应的独立应第16页共38页用程序跟SOLIDWORKS程序运行在不同的进程空间,客户程序的异常不会影响SOLIDWORKS,但由于涉及到跨进程调用,它的效率会相对比较低,而且这种方式下用户不可以在SOLIDWORKS中添加自己的菜单、工具栏和属性页等。由于VB易学易用,满足基本设计要求,因此,本文采用VB做为开发语言,以插件的形式添加到SOLIDWORKS中。在采用VB所实现的SOLIDWORKS二次开发应用中,客户通过VB编写的应用程序为客户程序,SOLIDWORKS是服务程序,VB编写的应用程序驱动SOLIDWORKS完成指定工作。其基本思路是在SOLIDWORKS环境中,任意选定某一型号的标准件,按照正确的设计关系绘制标准件的模型,当需要生成另一规格的标准件时,可根据用户给定的相关约束变量参数值,对已定义好的标准模型的相应约束关系进行修改与求解,使其几何元素和特征的几何或拓扑关系发生改变,并引起相关图形元素及关系的联动,生成所需零件,即零件设计采用尺寸驱动方式进行设计。由于标准件均为系列化零件,因此设计时可用ACCESS建立各类标准件参数数据库,供用户设计时选用相应规格零件。本设计用ACCESS建立了紧固件、连接件、滚动轴承、键等标准件的参数数据库,用VB编程实现SOLIDWORKS下各类标准件三维实体图形的生成。系统基本框架如图24所示,即以面向对象的VB语言为客户端,结合ACCESS建立标准件参数库,通过ACTIVEXAUTOMATION技术控制服务端SOLIDWORKS自身二次开发接口API函数,调用其对象、属性、方法,实现SOLIDWORKS的二次开发。图24系统开发框架图238数据库技术1数据库技概括数据库技术是应数据管理任务的需求而产生的,从五十年代以来,随着计算机软硬件的飞速发展,数据管理技术己经经历了人工管理、文件管理和数据库系统三个阶段。第17页共38页20世纪60年代末,软硬件技术的发展,为数据库技术的发展提供了良好的基础,数据库管理系统取代了传统的文件管理系统,在各个领域获得了广泛的应用。数据库系统DATABASESYSTEM,简称DBS是由数据库、数据库管理系统、应用系统、数据库管理员和用户构成的人机系统。数据库DATABASE,简称DB是长期存储在计算机上的、有结构的、可共享的数据集合。数据库管理系统DATABASEMANAGEMENTSYSTEM,简称DBMS是科学地组织和存储数据、有效获取和维护数据的系统软件。它是位于用户和操作系统之间的一层数据管理软件。数据库结构一般分为层次模型、网状模型和关系模型。1层次模型HIERARCHALMODEL用树结构表示实体之间的联系,树有结点和连线组成,节点表示实体集,连线表示相连两实体之间的关系,这种关系只能是1N关系。2网状模型NETWORKMODEL这种模型允许有零个或多个节点而无父节点,它可直接表示MN关系。3关系模型RELATIONALMODEL关系模型由关系、关系上定义的操作和对关系的完整性的规则组成。它的二位表由两部分组成一是表格的名字和属性的名字,二是具体的数值。关系模型和层次模型、网状模型的区别在于它通过表格数据而不是通过指针连接来表示和实现两实体间的关系。以关系模型为基础的数据库就是关系数据库,具有数据结构简单、符合工程习惯、数据独立性高及数学基础严密等优点,是目前数据库应用的主流。数据库技术应用到CAD/CAM系统中,人们希望能够利用数据库技术有效的管理工程应用中所涉及的图形、图像、声音等更加自然的信息形式,因此工程数据库应运而生。工程数据库是指能满足人们工程活动中对数据处理要求的数据库。它不但要能够处理常规的表格数据、曲线数据等,还必须能够处理图形数据。图形数据既有满足工程绘图的二维数据,又有产品造型所需要的三维设计数据。图形数据一般是网状关系的层次结构,同一种实体可能在不同的使用阶段使用几种不同的表示方法,并且须实现不同表示方法之间的相互转换。在工程数据库管理系统EDBMSENGINEERINGDATABASESMANAGEMENTSYSTEM中,数据的表现形式不再是单一的实际参数,由含参数的过程子程序生成产品商数据也是一种必不可少的表现形式【18】。第18页共38页2数据库接口技术ACCESS数据库引擎VISUALBASIC所编写的数据库应用程序,负责的是与用户的交互。用该程序可以选择数据库中的数据项,并把所选择的数据项按用户的要求显示出来。数据库系统被称为后台系统,通常是关系表的集合。这时就涉及到一个问题,应用程序如何与后台的数据库建立联系呢首先,数据库要能支持用户的访问,其次,用户的VISUALBASIC程序可以访问这些数据库,这两点很关键。数据库有三种方式支持应用程序的访问,即通过ACCESS数据库引擎、MICROSOFTODBC驱动程序、第三方ODBC驱动程序。VISUALBASIC60应用程序中支持多DBMS来开发数据库,这种方法称作ODBC,ODBC是MICROSOFTSWINDOW的开放式服务体系结构数据库部分,是一个用于访问多种数据库的统一的界面标准。ODBC实际是一个数据库访问库,但是只提供一个统一的应用程序接口API。这样利用ODBC可以避免应用程序随数据库的改变而改变。ODBC通过使用数据库驱动程序获得数据库的独立性,驱动程序所提供的标准接口允许应用程序开发者和驱动程序提供者在应用程序之间传递数据【19】。对VISUALBASIC而言,其内置为MICROSOFTACCESS数据库,可以提供不逊色于专业数据库软件的支持,可以进行完整的数据库维护、操作及事务处理。在VISUALBASIC中,将非ACCESS数据库称为外来数据库。对于FOXPRO,DBASE,PARADOX等外来数据库,虽然借助VISUALBASIC的DATAMANAGER能够对这些数据库进行NEW,OPEN,DESIGN,DELETE等操作,但在应用程序的运行状态中不能从底层真正实现这些功能。VISUALBASIC的核心结构是所谓的MICROSOFTJET数据库引擎。JET引擎的作用就像是一块“面板”在其上可以插入多种ISAMINDEXEDSEQUENTIALACCESSMETHOD,即索引顺序存取方法数据库驱动程序。JET引擎为ACCESS格式数据库提供了直接的内建BUILDIN支持,这就是VISUALBASIC对ACCESS数据库具有丰富支持的真正原因。因此,我们利用VISUALBASIC对ACCESS数据库的方便、实用和直接的内建BUILDIN支持,采用ACCESS作为数据源,这为开发机床夹具零部件库带来了极大的方便。第19页共38页3SOLIDWORKS二次开发的一般过程31用VB开发SOLIDWORKS的一般步骤用VISUALBASIC作为开发工具,因为采用的是DLL动态链接库方式,必须先在VISUALBASIC中导入所需要的3种类型库SLDWORKS2007TYPELIBRARY、SOLIDWORKSCONSTANTTYPELIBRARY、SOLIDWORKSEXPOSEDTYPELIBRARIESFORADDINUSE,然后才能调用SOLIDWORKS的对象、方法和属性。程序完成后载入动态链接库时,既可以直接用SOLIDWORKS打开所编好的DLL文件,也可在插件模块添加新编写好的名字同DLL文件的插件模块。但每次程序的重新编译,都必须在SOLIDWORKS中重新导入插件模块。因为每次程序的重新编译,都意味着需要对象类在系统的重新注册。图31导入所需的类型库进行二次开发的步骤如下(1)安装SOLIDWORKS和VISUALBASIC。(2)启动VISUALBASIC,新建一个工程,导入所需要的3种类型库(如图31),然后编写代码。在任何情况下,编写的代码应该类似于有SOLIDWORKS的宏工具所产生的代码,在SOLIDWORKS中,应用记录宏(“工具”“宏”“录制”)来获得程序头部和应用程序的代码是十分有用的。如果日常事务仅仅是访问SOLIDWORKSAPI,则不必编译应用程序,只需VISUALBASIC创建应用程序,文件扩展名设为SWP而不是BAS即可。SOLIDWORKS的宏文件(SWP)第20页共38页认识VISUALBASIC命令。(SOLIDWORKS中有两种格式的文件,一种是SWP,另一种是SWB)。为查看VISUALBASIC回话的每个对象,可单击VISUALBASIC菜单栏中得“试图”“对象浏览器”命令,鼠标右键单击对象浏览器中的“类”或“成员”窗口。在显示的菜单中,单击“显示隐含成员”命令。此时可以浏览每个SOLIDWORKSAPI对象及相关的属性和VISUALBASIC安全数据传递的方法。(3)在VISUALBASIC里,选择文件,生成工程EXE文件即可。用VISUALBASIC编写的应用程序能够在许多地方运行。若在SOLIDWORKS中运行,则单击菜单栏中得“工具”“宏”“运行”命令,选择源文件即可;若为EXE文件运行,直接运行即可。如果SOLIDWORKS已经运行,编写的程序将附加于它;否则SOLIDWORKS打开一个新的会话,也可以创建一个宏文件来运行VISUALBAISIC。32利用宏命令建立一个宏文件(1)启动SOLIDWORKS并建立一个新的零件,使用默认的单位MM。(2)显示宏工具栏。单击SOLIDWORKS菜单栏中得“试图”“工具栏”“宏”命令,以显示宏工具栏。(3)启动宏命令。单击宏工具栏中得(录制/暂停)工具。(4)选择基准面。在特征管理器设计树中选择“前视基准面”平面,如图32所示。(5)创建草图。单击“草图绘制”工具,进入草图绘制环境。(6)创建圆。单击“草图”工具栏中的“圆”工具,以原点为圆心绘制一个圆,在属性管理器中设置圆半径为22MM,然后按回车键,如图33所示(7)创建圆柱体模型。单击特征工具栏中得“拉伸凸台/基体”工具,在属性管理器中设置拉伸深度为100MM,按回车键,结果如图34所示(8)保存宏文件。依次单击宏工具栏中的“录制/暂停宏”工具和“停止宏”工具,在弹出的“另存为”对话框中输入文件名为“CIRCLESWAP”,单击“保存”按钮。删除所有建立的特征和草图。第21页共38页图32选择前视基准面(9)测试宏文件。单击宏工具栏中得“运行宏”工具,选择“CIRCLESWP”,并观察结果。图33绘制圆第22页共38页(10)创建“新建宏命令按钮”。单击菜单栏中的“工具”“自定义”命令,系统弹出“自定义”对话框,单击“命令”选项卡,在“类别”列表框中选择“宏”,将“新建宏按钮”拖动到宏工具栏中。图34圆柱体模型(11)定义宏命令按钮。将“新建宏按钮”拖动到其他工具栏上面后,SOLIDWORKS会弹出“自定义宏按钮”对话框,如图所示。单击“
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鹤岗师范高等专科学校《逆向分析技术》2023-2024学年第二学期期末试卷
- 南京审计大学《广播电视新闻报道》2023-2024学年第二学期期末试卷
- 赣南科技学院《纤维制品与加工》2023-2024学年第二学期期末试卷
- 铜川职业技术学院《电气控制与可编程控制器》2023-2024学年第二学期期末试卷
- 北京大学《经济管理概论》2023-2024学年第二学期期末试卷
- 哈尔滨商业大学《小学科学教学理论与实践》2023-2024学年第二学期期末试卷
- 浙江国际海运职业技术学院《自动机械设计》2023-2024学年第二学期期末试卷
- 2025聘任合同制:企业不再是“终身制”
- 2025年农业设施建设合同模板
- 2025年关于强化合同审批流程的通知
- 沈阳市东北大学非教师岗位招聘考试真题2024
- 高校宿管培训
- 建筑施工行业安全生产责任保险
- 2025年护士执业资格真题答案解析
- 2025年03月国家卫生健康委统计信息中心公开招聘人才派遣1人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 行政管理本科毕业论文-数字政府建设背景下的行政文化转型探析
- 电气工程及其自动化毕业设计 基于PLC的喷涂机器人控制系统的设计
- 管理学基础-形考任务三-国开-参考资料
- 2024年广东广州中考满分作文《那个教会我向前走的人》
- PRAME:解锁皮肤黑素瘤奥秘的关键密码-表达特征与临床意义的深度剖析
- 地图学第1章-绪论
评论
0/150
提交评论