基于so1idworks专用夹具通用件库的开发及应用_第1页
基于so1idworks专用夹具通用件库的开发及应用_第2页
基于so1idworks专用夹具通用件库的开发及应用_第3页
基于so1idworks专用夹具通用件库的开发及应用_第4页
基于so1idworks专用夹具通用件库的开发及应用_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

更多相关文档资源请访问HTTP/WWWDOCINCOM/LZJ781219完整CAD设计文件以及仿真建模文件,资料请联系68661508索要毕业论文基于SO1IDWORKS专用夹具通用件库的开发及应用摘要夹具在机械加工中起着重要的作用,它直接影响着机械加工的质量、生产效率和成本。要加工结构和尺寸都比较特殊的工件就必须设计专用夹具。在产品相对稳定、批量较大的生产中,采用专用夹具可获得较高的生产率和加工精度。随着现代多品种、中小批量生产的发展,传统的夹具设计方式己成为企业中产品快速上市的瓶颈,企业迫切需要提高夹具设计的效率。为构建一个能支持产品快速制造的生产准备系统,夹具设计要从全局自动化的高度进行变革。计算机辅助夹具设计正是为了适应这一要求而产生的,而且已经成为国际上竞相研究的热点。本文结合国内外机床夹具设计的现状,广泛研究了国内外CAFD系统,针对国内制造业中存在的问题,以实用性、高效性为指导思想,以建立机床夹具通用件库为切入点,提出了设计专用夹具CAD系统(COMPUTERAIDEDSPECIALFIXTUREDESIGN,CASFD的新观点,并付诸实现。通过调查、比较和分析各类CAD软件在国内的应用现状,从开发的难易程度、可移植性、易维护性等方面考虑,SOLIDWORKS是一种非常优秀的三维机械设计软件,但是它缺少国家标准零件库,为机械设计工作带来了不便。VB是一种简单易学,而且功能强大的高级编程语言,ACCESS是一种容易使用,而且功能强大的数据库管理系统。SOLIDWORKS提供了基于OLE自动化技术的API函数,可以使用VB为它进行二次开发,专用夹具通用件的标准参数可以用ACCESS来管理。所以选定以三维设计软件SOLIDWORKS作为开发平台,综合运用VISUALBASIC编程技术和AEEESS数据库管理技术,利用SOLIDWORKSAPI强大的二次开发功能,开发完成了基于特征造型、参数化驱动生成零部件的机床夹具三维通用件库。基于此,本文主要研究了以下几个方面1介绍了计算机辅助夹具设计系统的发展概况和研究现状。2分析快速设计、模块化、并行设计等现代设计方法对CAFD系统的影响,研究了参数化技术、数据管理技术及数据库技术在CAFD系统中的应用。3利用SOLIDWOKS三维绘图软件绘制了大量的夹具通用件三维模型,建立了CASFD系统的数据库和图形库。4应用VB和SOLIDWORKSAPI函数对SOLIDWORKS进行二次开发,生成了SOLIDWORKS插件,创建了人机交互参数化界面,并实现了插件与SOLIDWORKS的无缝连接。关键词参数化驱动特征造型机床夹具通用件库SOLIDWORKSCAFDBASEDSO1IDWORKSGENERALPARTSLIBRARYFORSPECIALFIXTURESANDAPPLICATIONDEVELOPMENTABSTRACTFIXTUREISPLAYINGAVERYIMPORTANTROLEINMACHINING,WHICHINFLUENCETHEQUALITYOFMACHINING,PRODUCTIONEFFICIENCYANDCOSTDIREETLYSPECIALFIXTUREMUSTBEDESIGNEDWHENWORKPIECEWITHCOMPLEXSTRUETUREANDSIZEISPROEESSEDWITHTHEDEVELOPMENTOFMODERNMULTIVARIETYANDSMALLBATCHPRODUCTION,TRADITIONALFIXTUREDESIGNHASBECOMETHEBOTTLENECKOFRAPIDPRODUCTIONCOMINGINTOTHEMARKETSOENTERPRISESCRYFORPROMOTINGTHEEFFIEIENEYOFDESIGNINGFIXTUREINORDERTOBUILDAPRODUCTIONPREPARATIONSYSTEMSUPPORTINGRAPIDMANUFACTURINGOFPRODUCTION,FIXTUREDESIGNMUSTBEREFORMEDBASEDONGLOBALAUTOMATIONCAFDISGENERATEDFORADAPTINGTOTHEREQUIREMENTANDHASBEEOMETHEFOCUSOFINTEMATIONALSTUDYTHROUGHINVESTIGATING,COMPARING,ANALYZINGTHEVARIABLECADSOFTWAREANDTHINKINGABOUTTHEDEGREEOFDIFFICULTY,TRANSPORTABILITYANDMAINTAINABILITYTHESOLIDWORKSISAREALFAIR3DMACHINEDESIGNSOFTWARE,BUTITBEINDEFECTOFTHELIBOFTHENATIONALSTANDARDPARTS,THATWORKSTOBRINGFORMACHINEDESIGNVERYINCONVENIENTVBISAEASILYSTUDY,ANDPOWERFULCOMPUTERHIGHCLASSLANGUAGE,ACCESSISANEASYUSAGE,ANDPOWERFULDBMSTHESOLIDWORKSPROVIDEDMASSAPIFUNCTIONSBASETHEOLEAUTOMATIONTECHNIQUE,CANBEUSETHEVBTODEVELOPMENTTWOTIMESFORIT,THESPECIALFIXTUREPARTSCOMMONSTANDARDPARAMETERSCANUSETHEACCESSTOMANAGESOTHE3DCADSOFTWARESOLIDWORKSISSELEETEDASTHEDEVELOPINGPLATFORMANDVISUALBASIE60PROGRAMTECHNIQUEANDDATABASEMANAGEMENTTECHNIQUEOFACEESSISUTILIZEDBYTHESEEONDARYDEVELOPMENTFUNCTIONOFSOLIDWBRKSAPI,AFEATUREBASEDANDPARAMETEDRIVENPARTSLIBRARYFORMACHINETOOLFIXTUREAREDEVELOPEDBASEDONTHAT,SUCHMAINWORKSARESTUDIEDINTHISPAPER1THEDEVELOPMENTANDRESEARCHSTATEMENTOFCAFDAREINTRODUCED2THEEFFEETIONONCAFDSYSTEMEXERTEDBYMODEMDESIGNMETHODSISANALYZED,SUCHASRAPIDDESIGN,CONEURRENTDESIGNETCTHEAPPLIEATIONINCAFDOFPARAMETRIE,DATAMANAGEMENTANDDATABASEISSTUDIED3MANYDRAWINGSOFTHESTANDARDIZEDPARTSANDCOMPONENTSHAVBEENDRAWNANDTHEDATABASEANDGRAPHICBASEARECREATEDFORCASFD4DESCRIBINGTHESEEONDARYDEVELOPMENTOFSOLIDWORKSBASEDONVBANDSOLIDWORKSAPIFUNETION,GENERATINGSOLIDWORKSMENUPLUGINANDHUMANCOMPUTERINTERACTIONDIALOGBOX,ANDSEAMLESSCONNEETIONBETWEENSOLIDWBRKSANDGENERALSTANDARDPARTSLIBRARYISREALIZEDATLASTKCYWORDSPARAMETERDRIVINGFEATUREMODELINGMACHINEFIXTUREGENERA1PARTSSOLIDWORKSAPICAFD目录1、引言111设计目的和意义112机床夹具的现状和发展方向2121机床夹具的现状2122机床夹具的发展方向313论文各部分主要内容32SOLIDWORKS二次开发及其API函数的简介321相关术语422SOLIDWORKSAPI函数介绍6221SOLIDWORKS的对象模型6222对象的属性和方法6223更多的SOLIDWORKS的API函数介绍923VB开发SOLIDWORKS的基本原理924VB开发SOLIDWORKS的一般步骤1125开发方式选择方法1226SOLIDWORKS的API函数语法123简单标准件的开发与实现1431十字垫圈的设计13311建立垫圈对话框13312程序的设计13313建立数据库14314程序运行及结果1632定向键的设计16321定向键对话框的建立17322程序的设计18323建立数据库18324程序的运行及结果2033固定式定位销的设计21331定位销对话框的建立21332程序的设计22333建立定位销数据库2334圆形对刀块的设计24341对刀块对话框的建立24342程序的设计25343建立对刀块数据库26344程序运行及结果284设计的具体实现2941在SOLIDWORKS软件下添加菜单及子菜单2942程序的运行及结果325结论32致谢34参考文献351引言11课题研究的目的及意义机床夹具是机械制造过程中最常用的一种工艺装备,其主要作用是保证加工精度,提高劳动生产率,扩大机床的使用范围和保证生产安全,因此机床夹具在机械制造中占有很重要的地位。机床专用夹具是为完成某一工件的某工序而专门设计的工艺装备。在传统的专用夹具设计过程中,由于工艺装备尤其是夹具零部件的标准化、系列化、规格化程度差,传统的设计方法在资料检索、绘图、编制技术文件等方面均由人工完成,这不仅需要大量的人力、物力和较长的周期,且由于人为因素使设计精度和质量受到影响。因此快速实现夹具设计己成为企业的迫切要求。将计算机辅助1设计技术COMPUTERAIDEDFIXTUREDESIGN,CAFD应用到夹具设计的过程也就成为解决这一问题的必然选择。夹具可分为通用夹具、组合夹具、专用夹具等几类。通用夹具己完全标准化,由专业厂家生产、市场有售。组合夹具和专用夹具要满足生产要求,在设计时需要进行一系列的定位、夹紧、装配设计,成为制造企业面广量大且繁重的工作。组合夹具是由一套预先制造好的标准元件组成,可针对不同的加工对象进行装配以获得可满足要求的夹具。使用完毕后,可拆散成元件和组件,且夹具元件的2配合尺寸具有完全互换性,可以重复使用。组合夹具的设计主要是拟定组装方案、进行装配设计。CAFD首先在组合夹具设计上得到较多的研究,采用先进的计算3机拼装方法和手段提高拼装效率和质量,进行组合夹具的设计和元件管理,这使得组合夹具CAD的研究及开发取得了较快的发展。对于加工结构和尺寸都比较特殊的工件,组合夹具很难满足其要求,必须设计专用夹具。而且大批量生产时,专用夹具是最经济的选择。专用夹具是为完成某一工件的某一工序而专门设计的工艺设备。与组合夹具相比,专用夹具具有以下特殊的优点L能确保工件的加工精度2总体方案与生产纲领相适应3操作方便,能减轻工人的劳动强度4便于排屑,有良好的结构工艺性。传统的专用夹具设计需要耗费大量的时间进行设计计算,需要经验丰富的夹具设计人员来完成,劳动量大,效率低。4由于机床专用夹具结构依赖于产品的结构特征和企业的工艺水平,因而使其结构设计变得复杂和不确定,长期以来一直是企业制造过程中提高生产效率的瓶颈环节。专用夹具作为一种特殊的产品,需要丰富的设计经验,设计人员的经5验与技能将直接影响着设计结果。而现有的一些通用CAD软件只能完成一些诸如绘图,三维建模等方面的工作,计算机对设计人员的辅助作用非常有限,设计的自动化程度也很低,据统计仅标准件建模就占设计工作量的50以上,仅标准件建模一项,就需花费工程技术人员大量的宝贵时间。然而,国内外在对机床夹具的研究方面,大多是集中在对组合和柔顺拼装夹具,基于AUTOCAD二维环境67下开发的,而对占夹具总量60以上的机床专用夹具则研究较少。目前迫切需8要开发专用夹具CAD系统COMPUTERAIDEDSPECIALFIXTUREDESIGN,CASFD。12机床夹具的现状及发展方向121机床夹具的现状机床夹具是由定位元件或组件、对刀元件、导向元件或组件、夹紧元件或组件及夹具体等几个基本单元组成。机床夹具的设计的特点主要体现在夹具的各个组成部分可以分别进行设计。与一般的产品设计相比,夹具设计的重构性还是比较强的。国际生产研究协会的统计表明,目前中、小批多品种生产的工件品种已占工件种类总数的85左右。现代生产要求企业所制造的产品品种经常更新换代,以适应市场激烈的竞争。然而,一般企业仍习惯于大量采用传统的专用夹具。另一方面,在多品种生产的企业中,约隔四年就要更新80的专用夹具,而夹具的实际磨损量仅为15左右。特别是近几年来,数控机床(NC、加工中心MC、成9组技术GT、柔性制造系统FMS等新技术的应用,对机床夹具提出了如下新要求1能迅速而方便地装备新产品的投产,以缩短生产准备周期,降低生产成本。2能装夹一组具有相似特征的工件。3适用于精密加工的高精密机床夹具。4适用于各种现代化制造技术的新型机床夹具。5采用液压或气压夹紧的高效夹紧装置,以进一步提高劳动生产率。6提高机床夹具的标准化程度。122现代机床夹具的发展方向现代机床夹具的发展方向主要表现为精密化、高效化、柔性化、标准化四个方面精密化随着产品精度的日益提高,势必相应提高了对夹具的精度要求。高效化高效化夹具主要用来减少工件加工的基本时间和辅助时间,以提高劳动生产率,减轻工人的劳动强度。常见的高效化夹具有自动化夹具、高速化夹具、具有夹紧动力装置的夹具等。柔性化机床夹具的柔性化与机床的柔性化相似,它是指机床夹具通过调整、拼装、组合等方式,以适应可变因素的能力。具有柔性化特征的新型夹具种类主要有组合夹具、通用可调夹具、成组夹具、拼装夹具、数控机床夹具等。标准化机床夹具的标准化与通用化是相互联系的两个方面。在制定典型夹具结构的基础上,首先进行夹具元件和部件的通用化,建立类型尺寸系列或变型,以减少功能用途相近的夹具元件和部件的形式,摒除一些功能低劣的结构。13论文各部分主要内容SOLIDWORKS作为机械类的三维CAD软件,对于具体的用户可能有不同的应用。客户自己建立相关的软件,使得SOLIDWORKS能更好的成为开发管理方面的优秀应用软件。论文的第二章介绍了本次设计的相关知识,并对SOLIDWORKS的使用作了简明的介绍。第三章阐述了简单标准件的设计,对系统设计作了具体的分析。第四章介绍了本次设计的具体实现,即菜单的加入和调试。第五章是对这次设计的总结。最后是谢词,参考文献。当然,设计中还存在很多的不足和漏洞,希望广大的老师和同学能帮助我找出并加以改进,本人在此感激不尽。2SOLIDWORKS的二次开发及其API函数简介21相关术语为了方便用户进行二次开发,SOLIDWORKS提供了几百个API函数,这些API是SOLIDWORKS的OLE或COM接口,用户可以使用VB/VC等高级语言对其进行二次开发,建立适合用户需要的、专用的SOLIDWORKS功能模块。要顺利对SOLIDWORKS进行二次开发,以下的基本术语是需要知道的。OLE技术OLE就是对象的嵌入与连接,它使得应用程序之间能够通过数据的嵌入或连接的方式来共享数据。含有嵌入或连接文档的应用程序被称为容器程序,提供文档数据编辑的应用程序被称为服务器程序。OLE20推出以后,OLE已经不再是对象的嵌入和连接的缩略词。不妨认为ACTIVEX是OLE30,事实上ACTIVEX是OLE在网络上的扩展,它使用了OLE技术并且超过了本地机器的范围。自动化技术AUTOMATION是OLE技术的一个重要内容。直到今天,自动化技术扩充和发展为ACTIVEXAUTOMATION,它适用于OLE对象和ACTIVEX对象。自动化技术由客户程序和服务器程序组成,客户程序是操纵者与控制者,服务器程序是被控制者,它包含了一系列的暴露对象。服务器应用程序通过自身对象的属性、方法、事件外显其功能;对象的服务器程序简单而抽象的代表。而客户应用程序则通过操纵服务器应用程序所暴露的一系列对象来操纵服务器应用程序。只要服务器程序提供一定的接口,可以使任何对象实现自动化。对象包含的一些外部接口,它们被称为方法与属性。方法是自动化对象的一些函数,它们是提供给客户程序的外部公共成员函数,属性是一个对象的一些命名特性,即对象的一些共有数据域。操纵程序被称为客户CLIENT,而被操纵程序称为服务器SERVER,被操纵的对象是ACTIVEX对象如果应用程序支持OLE技术,则在不同应用程序之间的切换由OLE自动完成。SOLIDWOKS支持OLE标准,完全实现了OLE自动化,前已提及,SOLIDWOKS具有开放的结构体系,它的这种开放性体现在它所提供的API对象上。API是一个对SOLIDWOKS的应用编程接口APPLICATIONPROGRAMMINGINTERFACE,包含了几百个对象及其属性、方法和事件,这正是SOLIDWOKS为用户提供的功能强大的二次开发接口,凡支持OLE编程的开发工具,如VISUALC、VISUALBASIC、DEPHI等均可从各自本身操作这些对象,从而直接行使SOLIDWOKS的功能,如画一条直线,拉伸一个凸台,或修改一个表面的参数等。利用这种方法可以完成SOLIDWOKS的二次开发,创建出用户定制的、专用的SOLIDWOKS功能模块。在本课题中,我们用VB来控制SOLIDWOKS提供的各种对象,即把VB作为客户程序,SOLIDWOKS作为服务器程序。ACTIVEX技术ACTIVEX是微软新近提出的一种技术,它以COM为基础,其中包括了OLE技术以及应用于INTERNET的多种技术。它使得不同的进程,甚至是网络上的进程之间相互通信,并朝着多媒体方向发展。ACTIVEX是一种面向对象的组件系统,其中包括了组件软件的各个方面,有复杂文档、自定义控制、OLE自动化、交互应用程序脚本、数据传送及其他分布软件的相互作用。这些组件对象为用户提供了不同的功能,使得不同的软件供应商提供的组件可以在二进制之间进行相互的连接和通信。对象通过接口实现组件之间以及组件与系统之间的相互作用。在桌面系统进行软件交互时,除了系统提供的标准控制外,OLE控件是一个重要的组成部分。ACTIVEX是一种标准,利用这个标准可以使用通过不同的语言开发的软件构件在单机或网络环境中相互操作。同时,ACTIVEX也是以组件对象模型为基础的开放技术的集合,它代表了应用程序与INTERNET的一种集成策略。OLEAUTOMATION技术自动化技术AUTOMATION为软件之间的交互创造了条件,它允许多个应用程序或组件之间进行通讯和交互,而与它们的语言、分布和原始平台无关。在开发标准件库时,运用OLEOBJECTLINKINGANDEMBEDDINGAUTOMATION技术,无疑会减小开发的难度,使系统更加稳定可靠。SOLIDWORKS系统提供数据操纵接口函数API,专门读写三维零件数据,并提供了一系列的AUTOMATION接口包括对象、属性和方法,使用户进行二次开发更加容易。运用AUTOMATION技术使得在自己的应用程序中驱动三维CAD系统中的零件变的有可能而且容易。尺寸驱动原理本论文对标准件建模采用尺寸驱动原理,即标准件的生成也是对相应标准件模板进行尺寸驱动的过程。尺寸驱动即在零件拓扑结构不变的情况下,把零件的尺寸参数定义为尺寸变量,并定义出变量间的关系,当给定不同的尺寸值,就可得到一组结构相同而尺寸不同的零件,每一类标准件对应一个模板文件,在模板文件中定义尺寸变量和变量间的关系。由于三维CAD都采用了参数化的设计方法,在开发标准件库时没有必要再做尺寸约束求解,所以零件的最后生成可以依靠系统参数化功能来实现,即通过用新的尺寸值对准备好的标准件模板进行尺寸驱动来生成一个新的标准件。在工程实践中用到的具有系列尺寸的标准件,其尺寸参数可分为独立参数和非独立参数,独立参数中包含了主驱动参数称之为基本参数和自定义特性参数。一般只要给定独立参数,即可唯一确定零件的全部几何参数非独立参数可由主驱动参数从标准件特性参数库中取得。22SOLIDWORKS的API函数介绍221SOLIDWORKS的对象模型相关术语对象类定义了具有相同结构和操作的一组对象,其最基本的特征是封装和继承。作为一种抽象数据,对象把实体的相关特征和操作封装在一起,允许人们以自然的方式去模拟外部实体的结构和行为继承是对象类实现可复用性和可扩充性的重要特征。一个对象类可以定义为另一个更一般的特殊情形,这个对象类是特殊对象类的父类SUPERCLASS,或者说,特殊对象是这个一般对象的子类SUBCLASS,子类继承父类的所有属性和操作,除此以外子类还可以定义自己特有的属性和操作。继承是对象类的一种特例化关系,亦即集合包含关系,子类对象实例集合是父类对象实例集合的子集。对象模型SOLIDWORKS的对象模型是一个多层次的对象网络,如图21所示。最高级别的对象类是SOLIDWORKS,该对象中封装了很多方法METHODS,如OPENDOC2、ACTIVATEDOC2、CLOSEDOC、EXITAPP,下面又创建了许多子类,如MODELDOC、ENVIRONMENT、FRAME。本文将重点介绍MODELDOC对象,因为大部分绘图操作都在MODELDOC对象中,如SELECTBYID选择、CREATECIRCLE2画圆、CREATELINE2画直线。MODELDOC中又创建了PARTDOC、ASSEMBLYDOC、DRAWINGDOC等子类。其中大部分实体建模操作都在PARTDOC对象中,如FEATUREEXTRUSION拉伸、FEATUREREVOLVE旋转而相关的装配操作如ADDCOMPONENT插入零部件、ADDMATE插入配合等都在ASSEMBLYDOC对象中。222对象的属性和方法在SOLIDWORKS创建的对象中,每个对象都有自己的属性和方法,通过调用API函数实现,反过来,应用SOLIDWORKS的每一步操作都体现在特定的对象类中。下面以VB为开发平台介绍其一些常用的API函数。连接SOLIDWORKS在对SOLIDWORKS进行二次开发时,首先要建立SOLIDWORKS的连接,创建SOLIDWORKS的应用对象DIMSWAPPASOBJECTSETSWAPPCREATEOBJECTSLDWORKSAPPLICATION通过这个函数,就打开了SOLIDWORKS的接口,可以调用它的API函数了。选择“选择”可以说是在使用SOLIDWORKS时用得最多的一个命令,有很多命令在使用时都要选择操作对象,通过调用MODELDOC对象中的SELECTBYID函数来实现MODELDOCSELECTBYIDOBJECTNAME,OBJECTTYPE,X,Y,Z这个函数在应用时需要输入五个参数OBJECTNAME表示要选择对象的名称,该名称是SOLIDWORKS在创建对象时按先后顺序自动命名的,如基准面1、基准面2、ARC1、LINE3、D1草图1PART1SLDPRTOBJECTTYPE要输入对象的类型,如PLANE面、SKETCHSEGMENT草图上的对象如直线、圆弧等、DIMENSION尺寸标注X,Y,Z是平面上任一点的坐标值。插入草图在所选平面上插入草图,调用MODELDOC中的INSERTSKETCH函数MODELDOCINSERTSKETCH基本草图绘制命令画直线调用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函数选择要标注的对象,再调用MODELDOC中的ADDDIMENSION函数MODELDOCADDDIMENSIONX,Y,ZX、Y、Z为尺寸文本所要放的位置的坐标值。基本实体建模命令拉伸调用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中FEATUREREVOLV函数PARTDOCFEATUREREVOLVEANGLE,REVERSEDIR,ANGLE2,REVTYPEANGLE表示旋转的角度REVERSEDIR控制旋转的方向,为TRUE时表示反向,REVTYP为1时无效AN2GLE2表示旋转的反向角度,仅当REVTYP为2时有效REVTYP表示旋转类型,为0时单方向旋转,为1时双向等角度旋转,为2时双向旋转。倒角调用MODELDO中的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时的三个距离添加菜单为了操作方便,把生成标准件的功能挂到SOLIDWORKS装配环境的菜单和工具栏上,在菜单上的提示为各标准件的名称,在工具条上的提示则为图标,用户要插入某个标准件时,只需在菜单或工具条上进行选择,然后由开发的程序调用相应的标准件功能模块。SOLIDWORKS的SLDWORKS对象,为VB对SOLIDWORKS工作环境进行访问处理提供了接口。关于菜单插件的具体具体实现方法将在后面谈到。223更多的SOLIDWORKS的API函数介绍在这里只是简要的介绍SOLIDWORKS的API函数,不可能作到全面的认识或是图21熟悉这些API要了解更多的API知识可以查看SOLIDWORKS的API和插件帮助主题,如图21。23VB开发SOLIDWORKS的基本原理SOLIDWORKS支持ACTIVEXAUTOMATION技术,VB环境下建立的客户程序可以直接访问SOLIDWORKS中的对象。ACTIVEXAUTOMATION是MICROSOFT公司提出的一个基于COM(COMPONETOBJECTMODEL)的技术标准,是以前的OLE(OBJECTLINKINGANDEMBEDING)技术的更高层次的发展,ACTIVEXAUTOMATION被开发出来的原因就是需要协调不同的应用程序。WINDOWS本身准许同时运行多个应用程序,ACTIVEXAUTOMATION准许这些应用程序互相通讯。每个应用程序可以决定哪些信息和功能可以公布或者暴露给系统上的其它应用程序。虽然ACTIVEXAUTOMATION总是在两个应用程序之间安排对话,但是这个对话不是双向的,也是不平等的。ACTIVEXAUTOMATION程序的每一块都包括两个程序,起不同的作用,客户机是开始对话的应用程序,服务器是响应客户机的应用程序。代码在客户机上运行,而这个代码所控制的动作由服务器执行。在这里我们将SOLIDWORKS理解为一个服务程序,把二次开发工具的VB程序作为客户程序,它们之间是服务器与客户的关系。用户只要在VB上进行操作,VB就驱动SOLIDWORKS完成相应的工作。SOLIDWORKS为二次开发提供了大量的API对象,这些对象涵盖了全部的SOLIDWORKS的数据模型,通过对这些对象属性的设置和方法的调用,就可以在用户自己开发的DLL中实现与SOLIDWORKS相同的功能。SOLIDWORKS中常用的主要ACTIVEXAUTOMATION对象有SOLIDWORKS的BODYPARAMETER、SLDWORKS、PART、FACE和FEATURE对象等。SLDWORKS对象为VB对SOLIDWORKS工作环境进行访问处理提供了接口。通过此对象可以对SOLIDWORKS工作环境添加菜单、删除菜单、添加工具条、打开文件、新建文件、退出SOLIDWORKS系统。用VB调用SOLIDWORKS中的API函数,还可以完成零件的建造和修改;零件各特征的建立、修改、删除和压缩等各项控制;零件特征信息的提取,如特征尺寸的设置与提取,特征所在面的信息提取及各种几何和拓扑信息;零件的装配信息;零件工程图纸中的各项信息等。对SOLIDWORKS进行二次开发。开发方法主要有两种方法一是用人机交互形式建立模型,设置合理的设计变量,再通过VB程序驱动设计变量实现模型的更新,这种方法编程较简单,通用性好;二是完全用程序实现三维模型的参数化设图22计以及模型的编辑,这种方法编程较前者复杂,但可以实现对具有复杂形体的零件造型,如生成精确的渐开线齿轮齿廓。开发过程首先针对要建立的实体分析结构,在SOLIDWORKS中创建实体并标注参数尺寸,主要是各特征的驱动尺寸,标注尺寸的大小是建立实体时的实际尺寸,SOLIDWORKS会自动读取,一般不要修改它,但SOLIDWORKS自动标注的尺寸名字(如D1,D2)在程序中难以识别,所以尺寸的名字可在标注时修改,使尺寸的名字尽量表达出特征。通过菜单,如图22,为VB添加SOLIDWORKS引用。本设计为标准件库的一般开发方法,对致力于SOLIDWORKS二次开发的人员,具有一定的参考价值。24用VISUALBASIC60开发SOLIDWORKS的一般步骤(1)安装SOLIDWORKS和VISUALBASIC60。(2)启动VISUALBASIC60,新建一个工程,编写代码。在任何情况下,你写的代码应该类似于由SOLIDWORKS的宏工具所产生的代码。在SOLIDWORKS中,应用记录宏(【工具】【宏操作】【录制】)来获得程序头部和应用程序的代码是十分有益的。为了查看VISUALBASIC会话中的每个对象,可单击【视图】【对象浏览器】菜单命令,右键单击对象浏览器的“类”或“成员”窗口。在出现的弹出菜单中,单击【显示隐含成员】命令。此时可以浏览每个SOLIDWORKSAPI对象及相关的属性和VISUALBASIC安全数组传递的方法。1(3)在VISUALBASIC里,选择文件,生成EXE文件即可。用VISUALBASIC写的应用程序能够在许多地方运行。若在SOLIDWORKS中运行,则选择【工具】【宏操作】【运行】菜单命令,选择源文件即可;若作为EXE文件运行,直接运行即可。如果SOLIDWORKS已经运行,你的程序将附加于它;否则,SOLIDWORKS打开一个新的会话;也可以创建一个宏文件来运行VISUALBASIC。25开发方式选择分析即程序载入方式的选取。关于SOLIDWORKSAPI,在不同情况下使用有不同的使用方法。下图表示的是各种情况下的数据传递情况,SOLIDWORKS数据指的是零件,装配体,工程图等等此软件中涉及的各种元素。考虑到建立参数化模型需要用户自行选择零件种类,并由用户手动输入各种参数,且要给用户提供一个友好的界面,因此可以DLL动态链接库形式动态在菜单上添加按钮,按钮的驱动函数实现的功能就是提供给用户所需的界面。26SOLIDWORKSAPI函数语法1常用的API函数语法如下RETURN_VALUEOBJECTFUNCTIONPARAMETERS所有的API函数均支持执行程序界面。如果你正在使用可执行程序,SOLIDWORKSAPI函数返回HRESULT和一些其他变量的参数值。132含多个变量函数的语法例下面的函数用MODELDOC2SELECTBYID返回一个布尔值。在该函数中使用了五个变量。BOOLEANMODELDOC2SELECTBYIDBSTROBJECTNAME,BSTROBJECTTYPE,DOUBLEX,DOUBLEY,DOUBLEZVB语法DIMRESULTASBOOLEANRESULTMODELOBJSELECTBYID“POINT1“,“SKETCHPOINT“,2,3,03无变量函数的语法下面用嵌入草图函数作为例子,该函数无返回值,同时也没有输入变量,它将在当前文件(MODELDOC2)中插入一个草图。VOIDMODELDOC2INSERTSKETCHVB语法MODELOBJINSERTSKETCH4含返回值函数语法下面的语法用MODELDOC2GETTYPE函数为例,该函数不含输入变量,返回一个长整型值,该值为当前文件的类型。LONGMODELDOC2GETTYPEVB语法DIMDOCTYPEASLONGDOCTYPEMODELOBJGETTYPE同样,下面的例子得到所选表面的边数,将该值作为长整型返回。LONGFACE2GETEDGECOUNTVB语法DIMEDGECOUNTASLONGEDGECOUNTFACEOBJGETEDGECOUNT5同一函数的不同接口一些函数可能有不同的实现方法。如果需要还可能含有多个接口。IDISPATCHBODY2GETFIRSTFACEOLEAUTOMATIONHRESULTBODY2IGETFIRSTFACELPFACERETVALCOMOBJECTVB语法DIMFACEOBJASOBJECTSETFACEOBJBODYOBJGETFIRSTFACE注意所调用的接口(对象自动连接标签)返回一个调用指针,而执行程序接口返回一个LPFACE2指针。可执行程序界面用对象指针代替调用指针,用指针代替不同的。因此,变量类型不同,一些API函数用不同的接口处理对象和数据,一个用于执行,一个用于连接调用。在上面的例子中,调用和执行接口分别是GETFIRSTFACE和IGETFIRSTFACE。173简单标准件的开发与实现31十字垫圈的设计311建立垫圈对话框建立对话框如下图31312程序的设计首先我们要绘制一个十字垫圈SLDPRT作为模型,设置文件的保存路径。要根据数据来绘制不同尺寸的零件图,首先我们要通过SOLIDWORKS的API接口来获取模型的尺寸值,然后建立变量来驱动模型尺寸,使其得到我们所需要的零件图。其关键代码如下DIMMODELTITLEASSTRINGDIMLONGSTATUSASLONGSETSLDAPPGETOBJECT“,“SLDWORKSAPPLICATION“SETMODELSLDAPPACTIVEDOCIFMODELISNOTHINGTHENSETMODELSLDAPPOPENDOC4“CDOCUMENTSANDSETTINGSADMINISTRATOR桌面王艳军毕设数据库SOLIDWORKS十字垫圈零件16“,1,0,“,LONGSTATUSELSEMODELTITLEMODELGETTITLESLDAPPCLOSEDOCMODELTITLESETMODELSLDAPPOPENDOC4“CDOCUMENTSANDSETTINGSADMINISTRATOR桌面王艳军毕设数据库SOLIDWORKS十字垫圈零件16“,1,0,“,LONGSTATUSENDIFIFMODELISNOTHINGTHENEXITSUBMODELPARAMETER“D1草图1“SYSTEMVALUETEXT1TEXT/1000DMODELPARAMETER“D1草图5“SYSTEMVALUETEXT2TEXT/1000DMODELPARAMETER“D2圆角1“SYSTEMVALUETEXT6TEXT/1000圆角大小R1MODELEDITREBUILDENDSUB313建立数据库数据库技术是计算机应用技术中的一个主要部分,对于大量的数据,使用数据库来存储数据比通过文件来存储有更高的效率,VISUALBASIC的数据控件(DATA)及相关的网格控件等提供了访问数据库的方法。3(1)应用MICROSOFTACCESS建立十字垫圈的数据库,如下图6(2)VB与数据库之间的连接图32314程序运行及结果当我们运行上述程序时,程序会自动打开SOLIDWORKS软件打开我们所建立的模型,然后根据我们选择的尺寸来生成我们需要的新零件图,而且新的零件图是可以编辑和保存的。图3332定向键的设计321定向键对话框的建立建立对话框如下图34322程序的设计定向键的尺寸的参数化变化主要通过以下关键代码来实现PRIVATESUBCOMMAND3_CLICKDIMSWAPPTITLEASSTRINGDIMLONGSTATUSASLONGSETSLDAPPGETOBJECT“,“SLDWORKSAPPLICATION“SETSWAPPSLDAPPACTIVEDOCIFSWAPPISNOTHINGTHENSETSWAPPSLDAPPOPENDOC4“CDOCUMENTSANDSETTINGSADMINISTRATOR桌面王艳军毕设数据库SOLIDWORKS定向键零件4SLDPRT“,1,0,“,LONGSTATUSELSESWAPPTITLESWAPPLGETTITLESLDAPPCLOSEDOCSWAPPTITLESETSWAPPSLDAPPOPENDOC4“CDOCUMENTSANDSETTINGSADMINISTRATOR桌面王艳军毕设数据库SOLIDWORKS定向键零件4SLDPRT“,1,0,“,LONGSTATUSENDIFIFSWAPPISNOTHINGTHENEXITSUBASSEMPARAMETER“直线2草图1“SYSTEMVALUEVALTEXT1TEXT/1000基本尺寸BASSEMPARAMETER“直线5草图1“SYSTEMVALUEVALTEXT2TEXT/1000H1ASSEMPARAMETER“直线1草图1“SYSTEMVALUEVALTEXT3TEXT/1000HASSEMPARAMETER“直线3草图1“SYSTEMVALUEVALTEXT4TEXT/1000B1ASSEMEDITREBUILDASSEMEDITREBUILDENDSUB323建立定向键数据库(1)应用MICROSOFTACCESS建立定向键的数据库,如下图所示图35(2)进行数据库的连接图36324程序运行及结果当我们运行上述程序时,程序会自动打开SOLIDWORKS软件打开我们所建立的模型,然后根据我们选择的尺寸来生成我们需要的新零件图,而且新的零件图是可以编辑和保存的。图3733固定式定位销的设计331定位销对话框的设计图38332程序的设计DIMSWAPPTITLEASSTRINGDIMLONGSTATUSASLONGSETSLDAPPGETOBJECT“,“SLDWORKSAPPLICATION“SETSWAPPSLDAPPACTIVEDOCIFSWAPPISNOTHINGTHENSETSWAPPSLDAPPOPENDOC4“CDOCUMENTSANDSETTINGSADMINISTRATOR桌面王艳军毕设数据库SOLIDWORKS固定式定位销零件4SLDPRT“,1,0,“,LONGSTATUSELSESWAPPLTITLESWAPPGETTITLESLDAPPCLOSEDOCSWAPPLTITLESETSWAPPSLDAPPOPENDOC4“CDOCUMENTSANDSETTINGSADMINISTRATOR桌面王艳军毕设数据库SOLIDWORKS固定式定位销零件4SLDPRT“,1,0,“,LONGSTATUSENDIFIFSWAPPISNOTHINGTHENEXITSUBSWAPPPARAMETER“D1草图1“SYSTEMVALUETEXT1TEXT/1000DSWAPPPARAMETER“D1拉伸1“SYSTEMVALUETEXT2TEXT/1000HSWAPPPARAMETER“D1拉伸3“SYSTEMVALUETEXT3TEXT/1000HSWAPPPARAMETER“D2倒角3“SYSTEMVALUETEXT6TEXT/1000CSWAPPEDITREBUILDENDSUB333建立定位销数据库1定位销数据库图39(2)进行数据库的连接图31034圆形对刀块的设计341建立对刀块对话框图311342程序的设计PRIVATESUBCOMMAND3_CLICKDIMSWAPPTITLEASSTRINGDIMLONGSTATUSASLONGSETSLDAPPGETOBJECT“,“SLDWORKSAPPLICATION“SETSWAPPSLDAPPACTIVEDOCIFSWAPPISNOTHINGTHENSETSWAPPSLDAPPOPENDOC4“CDOCUMENTSANDSETTINGSADMINISTRATOR桌面王艳军毕设数据库SOLIDWORKS圆形对刀块零件11SLDPRT“,1,0,“,LONGSTATUSELSESWAPPLTITLESWAPPGETTITLESLDAPPCLOSEDOCSWAPPLTITLESETSWAPPSLDAPPOPENDOC4“CDOCUMENTSANDSETTINGSADMINISTRATOR桌面王艳军毕设数据库SOLIDWORKS圆形对刀块零件11SLDPRT“,1,0,“,LONGSTATUSENDIFIFSWAPPISNOTHINGTHENEXITSUBSWAPPPARAMETER“D1草图1“SYSTEMVALUETEXT1TEXT/1000DSWAPPPARAMETER“D1基体拉伸“SYSTEMVAL

温馨提示

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

评论

0/150

提交评论