基于solidworks液压元件参数化二次开发毕设论文.docx
- 文档编号:11305073
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:26
- 大小:437.47KB
基于solidworks液压元件参数化二次开发毕设论文.docx
《基于solidworks液压元件参数化二次开发毕设论文.docx》由会员分享,可在线阅读,更多相关《基于solidworks液压元件参数化二次开发毕设论文.docx(26页珍藏版)》请在冰豆网上搜索。
基于solidworks液压元件参数化二次开发毕设论文
1前言
1.1选题的目的和意义
SolidWorks虽然拥有强大的功能,但是也并非是十全十美。
不何能满足特定企业的特殊需求。
例如,该软件是外国人写的,不适合中国的国标,如:
标题栏、明细表、剖视图的标注、装配图的序号等。
也没有适合我国国标的标准零件库。
据资料显示,我国有很多企业引进国外的CAD系统,但大部分未得到充分利用、未能全面用于产品设计,企业对CAD系统的巨额投资,并没有真正达到提高产品的设计质量,缩短产品设计周期的目的,也没有带来本来应有的效益。
究其原因,是未对CAD系统应用设计方面和管理方面进行二次开发。
据抽样调查,国内己引进的CAD系统能达到利用率高而且效益比较好的企业和事业单位在20%-30%左右,所以没有进行用户化、专业化的二次开发这在一定程度上是没有对真正意义上的CAD有效运用。
所以,为了适应特定企业的特定需求,形成企业自己的特色产品,使SolidWorks在我国的企业中有效的发挥最大作用,并且使常用的或是重复的任务自动化,提高效率,就必须对其进行用户化和专业化的二次开发工作。
伴随着CAD技术的不断推广以及科技的发展,同时市场对CAD技术也提出越来越高的要求。
所以从CAD本身技术的发展看,其将向参数化、智能化、集成化和标准化趋势发展。
(1)参数化
由于大多数的产品设计工作大多都是在原有设计基础上进行改进,传统的CAD绘图软件要对已有的图面的修改只能是删除原有的线条后重新画上,而参数化设计将能彻底解决这类问题并且极大地提高产品的设计效率。
通过尺寸驱动的方法,既能为设计人员提供准确、直观的图形反馈,又能随时对设计对象加以修改。
目前,先进的三维CAD软件都增加了零件的参数化和变量化设计模块,设计过程中所涉及到的参数都可以被当作变量,并可建立相互间的关系和约束,增加逻辑程序,使产品的设计图形可以随着某个结构尺寸的修改而自动修改图形。
这些变量间的关系可以逾越CAD软件的不同模块,以实现设计数据的相关联,参数化是实现机械设计零件自动化的前提和基础。
(2)智能化
CAD软件作为一种辅助设计工具,其核心目标是帮助设计人员更容易的设计出更好、更具市场竞争力的产品,这无疑要求CAD系统在实现控制设计过程、优化和智能设计等,同时还应具备丰富的图形处理功能,实现产品的“结构描述”与“图形描述"之间的转换。
所以,在以几何模型为主的现代CAD技术的基础上,发展面向设计过程的智能化得CAD技术是一种必然趋势。
(3)集成化
集成化是当今CAD技术发展的另一大趋势,在集成了计算机软件、硬件、数据库、外围设备、网络及各个应用领域的技术的同时,还不断和CAM、CAFP、MIS、MRP等系统集成。
(4)标准化
随着CAD技术的不断发展和与日趋成熟,制定不同产品的设计、评测和数据交换标准显得尤为重要。
目前,在主机和工作站上用于数据交换的图形文件标准有:
AutoCAD系统的DXF文件、美国标准IGES及国际数据标准STEP等。
同时国家还将逐步建立图文并茂、参数化的标准零件件库,替代现行的的标准手册。
同时一些对于我们来说,经常用到的液压元件如:
法兰盘、螺塞用垫片等,我们在用SolidWorks画图,显然每次用到每次现画,显得总是那么麻烦,即便是特别熟悉SolidWorks的作图者,也会产生反感。
再者,即使你每次都能使用SolidWorks画出其形状,但对于该液压元件的标注尺寸,往往会使人感到头疼,每次还得翻阅资料也会浪费不少的时间。
因此,鉴于SolidWorks能进行二次开发的功能,从而将一些常用的液压元件,首先用SolidWorks会出其图形,然后提取出控制该图形的尺寸属性,并将其赋值成变量。
再利用MicrosoftAccess建立数据库,当然数据库中的数据均来自类似于《机械设计手册》之类的权威资料。
最后利用SolidWorks的API对象的调用方法,将Access中的数据读入到上面的尺寸变量中,然后利用尺寸驱动的措施,来完成液压元件校准件的绘制。
用SolidWorks建立一些常用液压元件的标准库,不仅使得绘图者可以轻松地调入零件,而且还促进了零件的标准化进程,因此说本论文的意义颇大。
1.2相关领域的发展现状
1.2.1国外研究的现状
(1)1982年,美国阿亨工业大学在Baek的领导下,研制出了适合用于设计液压控制阀块的程序包。
该软件包的硬件环境ATM_ClassicModel7870其功能具有自动设计阀块上的孔道,并校核孔道,能够输出符合DIN标准阀块视图和任何剖面图等。
(2)1983年,德国巴斯大学在PDP计算机上,研制出了VOLE程序,可以绘制液压阁块元件的立体模型图,孔道的实体图等,设计人员可以用来校验所设计出的阀块油路的连接状况。
(3)1985年,坦佩雷工业大学在HPl000/A700型机械上开发出适用于插装阀块设计的CAD软件,孔道的自动设计与校核同时进行,可以修改孔径、线框模型消隐、孔表信息数据输出、刀具选择及NC代码生成功能。
(4)1989年,美国Hamburg-Harbcrg技术大学基于PROREN支撑的软件以及基于AICS造型器进行了三维阀块的设计。
(5)1991年,英国Grenoble大学把思想引入到阀块的设计中,指出了液压阀块的设计问题既是一个空间部署问题,以满足液压的元件安装需要,也是一个线路设计的问题,以此设计最佳的孔道。
由此,把人工智能中的空间部署理论应用到阀块设计,在AppleMacintosh上开发了一套用于产生式规则的智能设计系统。
(6)1997年,香港理工的W.Xiang等人进一步完善了液压阀块在CAD、CAPP、CNC等方面的研究,使得液压阀块在CAD、APP、CNC等方面的研究逾加成熟。
(7)美国Vest公开发了的液压设计从原理上提出一装配体的一整套解决方案:
SDTools和HyDraw软件使用“快捷目录”技术方便准确地绘制出液压原理图;ADTools是一个能绘制2D装配的软件:
在AutoCAD上开发的MDTools软件是嵌入式规则进行孔道联通和校验;AATools(AutomatedAssemblyTools)软件是根据原理图和阀块设计动态生成3D装配图以及2D正视图。
(8)1997~2001年,澳门大学的Wong,P.K.与香港理工大学的Chuen,C.W.等运用面向对象化的方法构造了阀块模型并采用了特征技术来组织和管理阀块的CAD/CAM产品信息,可以方便地定义以及修改元件和回路:
在AutoCAD上开发的原有软件可以根据一些设计规则进行元件布局的调整,并且在李氏迷宫算法的基础上研究出了三维路径连通算法。
(9)法国Eaton公司开发的VickersLibraryofSICV软件是一个包含了一千多种元件的符号库,帮助专业工化的程师在AutoCAD上进行泵、马达、阀和阀块等的方案设计及零部件工程图形设计,并把设计数据和加工指令Nc代码相连接,具有CAD/CAM一体化的特性[1]。
1.2.2国内发展水平
(1)上海交通大学在钟廷修教授的带领下,从80年代初期就开始了液压阀块CAD技术的研究,相继开发了诸如HMCAD3.70c、CVC4.0等实用性强的软件,这些软件已在上海液压总公司等十几家单位使用,最近交通大学又同上海704研究所进行合作,进行新一代液压阀块的智能CAD系统的开发研究。
(2)浙江大学流体传动与控制研究所在教授路雨祥的带领下,于1989年成功研制出了插装阀液压系统设计的FPTC-CAD系统。
该系统通过液压系统原理图生成模块、液压系统总装图模块、插装阀设计模块等部分组成。
在三维插装阀液压系统的阀块CAD系统中,以AutoCAD作为基础软件,利用Lisp语言对该绘图软件进行二次开发,采用变参型技术建立了三维阀块立体的构筑工具库,用以实现阀块的三维显示,利用“知识嵌入”方法从而解决了从立体图转化成工程零件图过程中不好判断判断推理难点。
(3)大连理工大学对液压阀块的CAD、CAPP成功开发了集成化的软件包,设计了七个子系统,分别是:
计算机辅助阀块设计的子系统、阀块三维图形显示以及十字剖面显示的子系统、计算机动画模拟阀块数控加工的子系统、数控加工机床与计算机接口通讯程序设计的子系统以及编辑的子系统。
在计算机辅助阀块设计的子系统中,将插装阀孔道设计问题归结为插装阀阀块内部任意两孔道在同面、对面、邻面等三种情况进行分析和处理。
在孔道的设计中,采用了优化设计的思想,使用了分层序列法、搜索法等优化方法。
在孔道的校核中,采用将插装阀块内任意的两孔位置及其相互间的关系以两孔同面、两孔对面、两孔邻面为基础而分解成平行、垂直和相交等情况分别进行不同处理。
设计的结果可以通过三维实体图形显示在屏幕上,该软件系统不能处理斜孔的问题,(4)首钢液压机械厂和大连理工大学联合开发了二通插装阀块三维CAD软件系统091。
(4)北京自动化研究所在386微机上开发出了液压阀块CAD软件,该软件由五个模块组成:
交互式阀块的设计、孔道信息的输入、孔道的校核、阀块的工程图纸生成和设计及校验结果的输出。
(5)东南大学在液压阀块的设计中,用数据结构中的树形来描述液压系统图,使连通关系包含到树的结构中,大大提高了程序的效率。
(6)安徽工业学院从计算几何理论上提出了三维空间孔道的精确校核。
通过先建立两孔的空间曲面方程,然后联立求解曲面的方程,得到交点,最后判断交点是否在两孔上,若在孔上,则相交,否则不相交。
孔模型由圆柱体和120度顶角的圆锥体组成,在这个数学模型中,没有考虑到二通插装阀、螺纹插装阀等异形孔,适用的范围很是有限[1]。
2设计相关知识
2.1SolidWorks的概述
SolidWorks的全球用户已超过20万,国外制造公司招聘时都大多数要求应聘人具备SolidWorks的操作能力。
国际上很多顶尖的名校都把SolidWorks定为大学本科学生的必修课,如麻省理工学院、英国剑桥大学等。
96%的西方企业会要求员工会使用SolidWorks软件,SolidWorks连续几年被美国一些优秀杂志评为不错的CAD软件。
SolidWorks是一种基于Windows的CAD/CAE/CAM/PDM桌面集成系统,是美国SolidWorks公司在总结了大型机械CAD软件的基础上,在Windows平台下实现的第一个机械三维CAD软件。
它采用非全约束的特征建模技术,其设计过程的全相关性,可以在设计过程的任何阶段对产品进行修改设计。
2.2SolidWorks的功能
SolidWorks是一种基于特征的参数化实体造型系统,并且二维和三维是互相关联的,。
用户可以很方便地完成复杂三维实体的造型和编辑、修改。
在设计过程中,可以随意修改三维实体或任一视图的尺寸,更改后可以使三维实体和相关联的二维视图自动更新。
SolidWork的全参数化的设计,在装配环境里对零件进行设计的修改,会引起整个装配体的自动改变。
在装配设计中,也可在装配环境里进行零件设计:
可以对已有零件添加新的特征或相对于装配体部件进行新的零件设计。
SolidWorks的带有约束的装配以及封装特征,使大型装配既迅速又方便。
另外,装配管理员的配合也显示出了各个装配关系,便于查询和修改。
绘图
工程绘图系统Drawing大多用于三维模型的工程图纸的绘制与输出,也可同时编辑多张图纸。
当设计人员设在计图纸文件时,可以对PART文件上的特征历史树的总结点,用鼠标点取移动到图纸文件上,图纸文件会自动生成三视图。
绘制的图纸上也可以自动标注尺寸信息。
图纸与模型之间是相互关联的,当模型上的尺寸或造型发生变化时,图纸也会相应改变。
视图包括标准视图、投影视图、局部视图以及剖面视图,是零件或装配体在图纸上的一个投影。
在视图上可以增加或删除,符合国标的工程标注。
CAD系统随时维护三维模型与二维绘图的一致性。
注释及辅助线段、圆注释和辅助的线形、圆用于给图纸增加一些视图中未给定的信息,如加工注意点、材料的选择等。
数据转换接口
由于CAD技术的不断普以及应用,许多企业都使用了多种CAD/CAE/CAM/软件,而各种CAD软件之间的数据转换以及传送始终是个令技术人员头疼的问题,尽管许多软件都提供各种各样的数据接口,但传送的结果往往难尽人意;而SolidWorks在这方面可以说稍具有大家风范。
它的数据接口有以下几个特点:
(1)是它支持的标准形式比较多:
支持的标准有IGES,DXF,DWG,SAT(ACSI),STEP,STL,ASC或二进制格式VDAFS(VDA),VI洲L,Parasolid。
(2)是转换成功率提高很多,SolidWorks和I--DEAS,ADAMS,ANSYS,Pro/Engineer,AutoCAD软件之间迸行转换传递,都非常成功。
(3)SolidWorks创新的特征识别技术。
标准格式数据的数据转换器让人们可以使用不同CAD系统设计的几何信息,但经过这样转换的几何模型不带一些特征,也没有设计历史,如果要对它们进行编辑修改是很麻烦的,SolidWorks创新的特征识别技术把智能用于数据的转换,将静态的几何模型特征化和参数化。
可直接对标准数据格式文件(STEP,IGES,SAT,VDAFS,Parasolid)进行特征识别。
用户化
SolidWorks的API为用户提供了自由的、功能完整的开发工具。
开发工具包括MicrosoftVisualBasicforApplication(VBA)、VisualC++,以及其他支持的OLE的开发程序。
帮助文件
SolidWorks2010配有一套强大的、基于HTML的帮助文件系统。
包括超级文本链接、动画示教、以及设计向导和术语。
2.3二次开发理论
要对SolidWorks软件进行二次开发,二次开发人员大多会想通过修改系统源程序来满足二次开发的要求,但这几乎是不可能的。
原因是商品化软件开发商出于保护软件的知识产权和技术机密的缘由,不会将软件系统源代码全部提供给软件销售商,销售商在销售软件产品时仅提供了打包封装后的执行代码,所以期望全面分析、了解该软件的设计原理程序编制流程,通过修改SolidWorks软件的代码来满足软件的个性化功能是根本不现实的。
一种行之有效的方式便是利用软件提供的可扩性的接口来对SolidWorks软件进行二次开发。
SolidWorks系统具有非常开放的体系结构,支持OLEAutomation技术,为用户提供了强大的二次开发数据接口。
所以凡是支持OLE编程的开发工具,如VB都可用于SolidWorks的二次开发,这样可以利用系统提供的函数集和对象库来创建出用户定制的、专用的SolidWorks功能模块。
本课题将采用操作简便、易于学习的VB作为开发工具,借助关系型数据库Access进行基于SolidWorks的二次开发。
SolidWorksAPI由大量的对象、方法、事件等组成,本节将先介绍使用SolidWorksAPI进行二次开发的术语,然后将对SolidWorksAPI的对象进行概述。
2.4SolidWorksAPI二次开发中的术语
①对象(Object)
对象就是我们在客观世界中所要研究的事、物、概念等,VB中的对象大多是私有数据以及可以对这些数据和施加的操作结合在一起构成的独立实体,即对象不仅可以表示结构化为的数据,还可以表示为抽象的事件、规则以及复杂工程实体。
总的来说就是对象本身是有用数据来描述的属性和行为。
②类(Class)
类是对一组对象的抽象概括和归纳,更明确地说,类是对一组具有相同数据成员和相同操作成员对象的定义和说明,并且每个对象都是某个类的一个具体实例。
③面向对象的程序设计
面向对象的程序设计可以说是一种新的程序设计范例。
面向对象的结构特点是:
第一,程序一般是由类的定义和类的使用两部分组成,在主程序中定义中各对象并规定它们之间传递信息的规律;第二,程序中的一切操作都是通过对象来发送信息来实现的,当对象接收到消息后将会启动有关方法来完成的操作。
面向对象的思想比较符合人们对客观事物的认识过程,同时还可以使计算机程序的处理过程更接近人们对客观事物的处理过程。
④属性和方法
方法是一个类的对象所具有相同的行为,当某个行为作用于对象时,我们就称对象执行了一个方法。
方法有两种:
一种是提供了对象与外界的接口;另一种便是实现自身的数据操作。
⑤数据的抽象
抽象是通过特定的实例获取共同性质以后形成概念的过程,抽象是对系统的简化描述和规范描述,它强调了系统中的一部分细节与特性。
⑥COM
COM是一个说明如何建立动态交替更新组件的规范,它提供了客户和组件之间能够保证相互操作应该实现的标准。
COM规范就是为了组件架构设置标准的文档,COM组件由以win32动态链接库或可执行文件形式发布的可执行代码所组成。
正是由于有了COM,软件的发人员可以在应用程序发行之后仍可对它进行修改或给它加上一些新的特性,这将大大方便了其使用者。
因此应用程序能够在更高的程度上被定制,使用起来将更加灵活、更具动态性。
⑦ActiveX控件
ActiveX是Microsoft新推出的一项技术,它是以COM为基础,其中包括了OLE技术以及应用于Internet的多种技术。
ActiveX是一种面向对象化的组件系统,其中包括组件软件的各个方面。
ActiveX控件最常用的三种:
控件、自动化服务器和文档,ActiveX控件作为一种可重复使用的组件,相当于一个封装好的代码模块,通过其属性、事件和应用程序进行通信。
2.5VB对SolidWorks开发的作用
2.5.1SolidWorksAPI应用程序接口,是基于ActiveAutomation的编程接口,凡支持COM编程的开发工具均可对其二次开发。
COM不仅定义了组件程序之间进行交流的标准,而且也提供了组件程序运行所需要的环境。
对象链接与嵌入的OLE技术是COM技术的应用,它使程序之间能够通过数据嵌入或连接的方式共享数据和资源,SolidWorks支持COM技术标准,同时也支持OLE技术标准。
作为一个人COM/OLE服务器,SolidWorks提供了大量的API/COMOLE对象以及这些对象所拥有的方法和属性的操作,可以实现SOlidWorks的功能能定制与扩展,满足用户的专业需求。
2.5.2SolidWorks的对象模型属于多层次的对象网络
SolidWorks的对象模型属于多层次的对象网络(其结构如图1)。
其中SolidWorks对象位于最顶端,他为VB对SolidWorks工作环境进行访问处理提供了接口。
通过此对象可以对SolidWorks工作环境进行添加菜单、添加工具条、打开文件、新建文件、退出SOlidWorks系统等操作。
用VB调用SolidWorks的API函数,还可以完成零件的建造和修改;实现零件各特征的建立、修改、删除和压缩等各项控制;提取零件特征信息,如特征尺寸的设置与提取,特征所在面的信息提取及各种几何和拓扑信息。
3设计程序及结构
3.1设计流程
其中与数据库连接部分程序如下图:
3.2设计结构
本设计的结构周要有以下几部分组成:
读取数据库,零件的选择,零件的打开。
读取数据部分是运用VBA进行编程的。
里面的数据,运用SQL语句进行查询等操作。
零件的预览是先读取数据库里的有关零件的位置。
然后将零件的在预览框中显示。
以便于选择的直观性,且不容易出错。
零件的打开是为了实现对所选零件的一些修改,零件的尺寸都是相关联的,修改简便。
4建立数据库
MicrosoftOfficeAccess是MicrosoftOffice系列办公软件中用来专门管理数据库的应用软件,它使用标准的SQL(结构化查询语言)作为它的数据库语言,从而提供了强大的数据处理能力和通用性,使其成为一个功能强大而且易于使用的桌面关系型数据库管理系统和应用程序生成器。
一个Access数据库中可以包含表、查询、窗体、报表、宏、模块以及数据访问页,且Access数据库使用单一的mdb格式文件管理所有的信息,这种针对数据库集成的最优文件结构不仅包含数据,也包含了它的支持对象。
此外,Access2007还利用office套件共享的编程语言VBA(VisualBasicforApplication)进行高级操作控制和复杂的数据操作。
Access适用于相对较小、结构较为简单、事物简单、开销要求较小的单机式数据库。
建立表格采用了微软的Acess2000为开发工具。
对本次设计共建立了四个表,表中的数据均参考于《机械设计手册》,设计的表如下:
(1)法兰盘
(2)螺塞用垫片
(3)内六角螺塞
(4)外六角螺塞
5设计的具体实现
5.1设计思路和方法
在SolidWorks中参数化,参数化建模主要通过三种方法实现:
①利用已有的零件模型,保持其结构不变的情况下,将零件的尺寸标注视为变量,赋予不同的尺寸值,从而获得一系列结构相同而尺寸不同的相似零件,称为尺寸驱动法;②用编程实现参数化设计,即用户根据需要直接用程序生成需要的模型,称为程序驱动建模法;③混合驱动法,即用尺寸驱动和程序驱动两种方法建立模型,如用尺寸驱动法建立模型草图,用程序驱动法建立模型特征。
本课题使用了三种参数化建模方法即:
尺寸驱动法。
由于尺寸驱动法是通过修改CAD系统建模时自动生成的设计变量来驱动零件,所以程序的代码非常简捷。
SolidWorks在零件建模时,将根据建模的过程自动创建设计变量,并给每个变量赋以相应的名称,同时设计人员还可以根据自己的设计思想对名称进行重新定义,在参数化建模时尺寸驱动程序只需修改这些变量的值。
参数化设计模型针对要建立的实体,先分析其结构,使所建立的特征结构尽可能的简单,参数尺寸尽可能少。
用SlidWorks建立模型,并利用宏录制其建模过程,建立宏文件(即内部编程)。
然后复制并粘贴代码到VB中,对代码做一定的修改,用变量代替代码中的关键数据。
这些变量数据来自于MicrosoftAccess数据库中内相应零件的数据表,通过程序驱动变量,实现模型的建立与修改。
5.2获取零件的宏代码
参数化设计一般是指设计图形拓扑关系不变,尺寸形状由一组参数进行约束,设计的结果受到尺寸驱动,不同的尺寸参数值驱动产生不同大小的图形。
参数化设计一般用于零件或部件的形状比较定型,用一组参数约束该几何图形的一组结构尺寸序列,参数与设计对象的控制尺寸有显式对应,当斌予不同的参数序列值时,就可驱动达到新的目标几何图形,其设计结果是包含有设计信息的模型。
全尺寸的约束是将尺寸与形状联合起来考虑,通过尺寸约束来实现对几何形状的控制,造型必须以完整的尺寸参数为出发点(全约束),既不能漏注尺寸(欠约束)
以螺塞用垫片为例,选择【工具】/【宏】/【录制】,完成一个垫片的绘制,停止录制宏,并保存为‘螺塞用垫片’。
然后点击按钮‘编辑宏‘中打开螺塞用垫片,依据在绘制螺塞用垫片时的步骤,提取出控制其形状的尺寸属性,并将其分别定义为:
R1,R2,H。
代码如下:
SubMain()
Set_wap=Application.SldWorks
SetPart=_wap.ActiveDoc
boolstatus=Part.Extension.SelectByID2(“上视基准面”,“PLANE”,0,0,0,False,0,Nothing,0)
Part.SketchManager.InsertSketchTrue
Part.ClearSelection2True
DimskSegmentAsObject
SetskSegment=Part.SketchManager.CreateCircl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 solidworks 液压 元件 参数 二次开发 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)