基于AuoCAD平台下的机床夹具的压板和压块的设计软件开发.doc
《基于AuoCAD平台下的机床夹具的压板和压块的设计软件开发.doc》由会员分享,可在线阅读,更多相关《基于AuoCAD平台下的机床夹具的压板和压块的设计软件开发.doc(33页珍藏版)》请在沃文网上搜索。
1、 摘要该设计是在 AutoCAD 环境下利用CAD内嵌式编程语言 VBA(Visual Basic for Application)完成对压块和压板的形状选择、种类选择、参数选择并达到自动绘图的目的,利用solidworks绘制3维图形,建立幻灯片库,建立数据库,从而对软件的二次开发应用有所了解。【关键词】AutoCAD VBA 压块 压板目录摘要0目录01、 绪论31.1 前言31.2 课题意义42、 AutoCAD与VBA52.1 AutoCAD在零件绘图设计中的应用52.2 AutoCAD二次开发技术52.3 用 VBA 进行 AutoCAD 的二次开发62.3.1 VBA 开发机理62
2、.3.2 建立VBA工程文件82.3.3 VBA 编程示例83、压块和压板软件设计总体介绍113.1 本次课题中的设计任务113.2总体设计思路114、绘制零件三维图124.1 GBT217791机床夹具零件及部件移动弯压板零件图:124.2 GBT218091机床夹具零件及部件鞍形压板134.3 GBT218091机床夹具零件及部件U行压板154.4 GBT217891机床夹具零件及部件转动弯压板164.5 GBT217991机床夹具零件及部件移动宽头压板零件图:174.6 GBT218091机床夹具零件及部件直压板195、压块与压板软件的程序设计235.1 VBA窗体235.1.1 Use
3、form窗体代码及运行结果235.2 编制机床夹具零件及部件程序代码255.3 软件操作说明306 总结31参 考 文 献32致 谢33 1、 绪论机床夹具设计是制造系统的重要组成部分,传统的夹具设计方式已成为企业中产品快速上市的瓶颈,所以需要提高夹具设计的效率。计算机辅助设计与制造正是为了适应这一要求而产生的,在此背景下,开发了实用性强的 CAD系统。AutoCAD 以其强大的交互功能和图形处理能力而成为工程技术人员最为喜爱的绘图软件,但其本身计算功能不强,无法解决一些设计计算和数据 处理等问题。传统的计算机辅助机械设计通常是采用高级语言进行设计计算,将结果存储为标准结构的数据文件(如 *D
4、XF),再由 AutoCAD 调用该文件形成图形,其编程和调用过程复杂而效率低下。值得庆幸的是,Autodesk从 AutoCAD14开始提供了更为有效的二次开发工具VBA(Visual Basic for Application),它是内嵌于AutoCAD中的完全面向对象体系结构的一种二次开发编程语言,与 VB有着几乎一样的开发环境和语法,具有功能强大和易于掌握的特点。它驻留在主程序内部,使其结构精简,故代码运行效率非常高。它的出现弥补了AutoCAD计算功能不足的缺陷,使开发机械 CAD一体化系统成为可能。本论文从资料查阅工程文件的建立程序编写撰写论文历时三个月,具体流程如下所示:1、查阅
5、资料。2、参考机床夹具文献资料,绘制零件三维图。3、在VBA IDE环境下编写软件设计程序代码。4、撰写论文,翻译。1.1 前言本设计选用的是 AutoCAD 2007 软件,并应用其内嵌式语言 VBA,它的优点有以下两个方面:一、与VB有着几乎相同的开发环境和语法,具备功能强大和易掌握的特点。二、在于它的for Application功能,即它的针对性非常强。它驻留在主程序的内部,使其结构简洁,且代码运行效率非常高。总之,VBA适用于专业和非专业的开发人员使用。VBA的代码是在VBA编辑器中输入,VBA的功能与VB所能实现的功能几乎一样。从语言结构上讲,VBA是VB的一个子集,语法结构是一样
6、的,虽然外观上 VBA的控件功能不如VB多,但VBA具有不断往其工具箱中添加各种外部控件的能力。从理论上讲,VBA能实现VB和 AutoCAD的功能。VBA与VB本质上的不同在于VB是一个独立的开发工具,而VBA必须依附于其它应用程序如:Office、AutoCAD等,它没有自己独立的工作环境和编译、连接系统,离开主应用程序,VBA将不复存在。正是由于VBA与主应用程序的这种关系,使得它与主应用程序之间的切换变得简单而高效,VBA中的代码完全是在过程内执行,但它与 AutoCAD完全共享内存空间所以执行速度比用C语言开发的应用程序还要快。同时由于它是的VB子集,其语言结构十分简洁,主程序可根据
7、自己的需要在嵌入时安排VBA侧重点。1.2 课题意义机械零部件的设计是一项非常耗时的工程计算机的应用大大提高设计速度,AutoCAD 正是工程技术人员利用计算机及专业知识对工程进行绘图、分析计算、设计的软件。但是CAD中没有通用件图库,为了解决这个问题,我这次的设计任务就是对CAD进行二次开发,建立一个通用件偏心轮和铰链支座的图库及应用程序,为使用者在绘制偏心轮时和铰链支座时,只需直接调用图库,根据参数选择所需偏心轮,即节省了时间,又提高了设计速度与质量。 2、 AutoCAD与VBA2.1 AutoCAD在零件绘图设计中的应用AutoCAD 是目前国内工程界应用最为广泛的绘图软件。它不仅具有
8、强大的绘图功能与图形编辑功能,而且界面友好直观,容易学习和使用。此外,AutoCAD还具有开放的体系结构,用户可以对其进行二次开发,以满足自己的特殊需求。 通常我们在绘制一张零件图时,都会用到图纸边框、标题栏和粗糙度,对于装配图还要标序号,建立并填写明细表。图纸边框、标题栏、序号、粗糙度以及明细表格式都遵循一定的绘图标准,因而它们的格式一旦被确定往往不会改变。而AutoCAD没有提供这些常规项目的使用菜单,所以在实际使用中,用户往往将这些内容做成块文件而保存起来,在需要的时候根据指定的格式用insea命令插入到图形中。这样虽然可提高绘图速度,但智能化程度不高,使用起来具有相当大的局限性。利用
9、AutoCADVBA二次开发功能,将这些块文件添加到 AutoCAD 窗口菜单中,使用时在窗口菜单中直接选取即可。这样既可提高绘图效率和智能化程度,又利于统一标准。2.2 AutoCAD二次开发技术所谓“二次开发”是指由熟悉产品设计,同时又掌握计算机应用技术的人员在某一CAD软件平台上围绕产品设计的具体要求而对CAD软件进行的应用开发AutoCAD虽然功能强大,但它毕竟是一种通用的软件,很难满足各行业的行业标准。然而,AutoCAD 所具有的开放式结构及其所提供的多种开发工具,使用户能够完个摆脱 AutoCAD 的限制,根据自己的需要对其进行二次开发,这也是 AutoCAD广受人们青睐的主要原
10、因之一。迄今为止,AutoCAD 已经相继推出了五代二次升发工具:1、 AutoLISP语言;2、ADS开发工具;3、Objector; 4、VBA 5、VisualLISP。组件化是现代开发软件系统的重要特征。在AutoCADR 14.01(R14中文版)中VBA(Microsoft Visual Basic Application)成为软件的标准安装组件。VBA提供了一个基于对象的编程环境,具有丰富的开发功能,能直接在AutoCAD 内部执行,开发者能够方便地替换和添加 AutoCAD 系统内部的模块。在VBA 中, AutoCAD 中的实体作为对象而存在,对这些实体的操作作为方法,编制处
11、理过程或宏命令。这一开发手段使得开发者能够进入到AutoCAD内部进行用户化处理。另外,VBA能够使得AutoCAD数据与其它VBA应用程序直接共享,如Microsoft Office系列软件。最重要的是VBA的加入,扩展了 AutoCAD 集成用户化I具的能力(集成了 AutoLISP, VisualLISP 和 ObjectARX API 等工具),为访问 AutoCAD 软件的多种技术框架提供了新的选择和新的开放机会,可以按所需求的工作方式进行应用程序的用户化,也可以从战略上考虑开发基于 AutoCAD 的应用程序。VBA开发 AutoCAD 的技术特点 : VBA是微软开发出来的应用程
12、序共享一种通用的自动化语言,它可以使常用的程序自动化,并可以创建自定义的解决方案。VBA被集成到 AutoCAD 中,VBA和AutoCAD中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制 AutoCAD 的模式构架。通过VBA,我们可以操作 AutoCAD2007,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。 VBA工具有如下优点: VBA的对话框构件快速、高效,允许开发者快速地定制程序原型和得到设计信息的及时反馈,其工程可以单独存在,也可以嵌入在图形中,这给开发者在发行应用程序时以极大的灵活性;强化了 AutoCAD 与数据库的通讯能力。当然,正如VB与
13、VC的关系一样,VBA在系统开发等方面的功能不及ARX。但Autodesk公司对VBA的高度重视,充分说明VBA是除系统级开发工具以外,最好和最有前途的应用级开发工具,适用于专业和非专业的开发人员使用,具有十分广阔的应用前景。下面就是VBA作为 AutoCAD二次开发工具的主要功能: (1)VBA提供强大的窗体创建功能,为应用程序建立对话框及其它屏幕界面。 (2)可以创建自己的工具条。 (3)可以创建功能强大的模块级宏指令,宏名实质上就是模块的过程名。 (4)提供建立类模块的功能,这对开发大型工程非常有用,因此类可以提供重用组。 (5)具备完善的数据访问和管理能力,通过 ADO(ActiveX
14、 Data 0bjects),可以对Access数据库或其它外部数据库(像 dBase,FOxPro等)实现访问和管理。此功能比直接使用 AutoCAD 的数据库管理系统要方便,且功能强大。2.3 用 VBA 进行 AutoCAD 的二次开发2.3.1 VBA 开发机理VBA 通过对主应用程序提供的 Activex 对象的引用,实现对主应用程序的开发。其过程如图2-1所示。 图 2-1 用 VBA开发应用程序的机理其中,ActiveX Object可以是AutoCAD ActiveX Object,也可以是ExcelActiveXObject,也可以是其它主应用程序提供的ActiveX Obj
15、ect。 VBA通过相同的调用格式,对不同的主应用程序的ActiveX Object调用,可以开发出相应的应用程序。VBA是通过AutoCAD ActiveX Automation接口来建立和AutoCAD对象间的联系。ActiveX是建立在COM对象模型之上的一个标准通信协议,它允许对象之间通过一定的接口相互通信。 AutoCAD ActiveX使用户能够从AutoCAD的内部或外部以编程方式来操作 AutoCAD。它是通过将 AutoCAD 对象显示到“外部世界”来做到这一点的。这些对象被显示后,许多不同的编程语言和环境以及其它应用程序(例如Microsoft Word VBA或Excel
16、 VBA)就可以访问它们。 AutoCAD对象是通过分层方式来组织的,应用程序对象为根对象。这种分层结构的视图被归结为对象模型。对象模型提供了用户访问下一层对象的途径。用户可直接通过用户定义变量引用对象。直接引用对象应包括对象 的层次。举一个最简单的例子,在VBA中要利用圆心和半径创建圆可以使用以下代码: Subdrawcirele() Dim ptl(2)As Double Dim radius As Double pd(0)=33 ptl(1)=73 ptl(2)=62 radius=46 调用addcircle方法绘制圆ThisDrawingModelSpaceaddcircle ptl
17、,radius End Sub ActiveX 自动化技术是微软建立的标准,是对象链接与嵌入(OLE. Object Linkand Embed)的进一步发展,它允许用户在Windows应用程序中通过暴露的对象控制另一个Windows应用程序。AutoCAD ActiveX技术提供了一种机制,可使编程者通过编程从AutoCAD的内部或外部进行操作控制。AutoCAD ActiveX 提供了一系列ActiveX Object供VBA从AutoCAD内部引用。这一系列ActiveX Object按一定层次组成一种对象结构,每一种ActiveX Object代表了 AutoCAD 中一个明确的功能,
18、如画线、画多段线、图块定义等。AutoCAD所提供的大多数功能,均以方法和属性的方式封装在 ActiveX Object中。作为面向对象编程语言中的一种,VBA可以方便地对这些方法和属性进行引用,从而达到对 AutoCAD 实现编程的目的。2.3.2 建立VBA工程文件在 AutoCAD 中,VBA程序以工程文件的形式存在,其程序扩展名为“.dvb”。由于VBA是VB的一个子集,所以两者的语法和程序的结构基本上是一样的。通常,VBA工程文件可以包含的元素有:对象、窗体、标准模块、类模块和引用。在窗体和标准模块内部包含一系列针对控件的过程、函数或宏。而宏是能够执行一定功能的VBA子过程,每一个V
19、BA工程中都至少包含一个宏。在标准模块内编辑的过程即为宏。VBA提供了可视化的集成开发环境 VBA IDE( VBA Intcgrated Development Environment),其界面与 Visual Basic 类似。通过在 AutoCAD 命令行输入 vbaide命令或选择“工具”菜单下“宏”子菜单中的“Visual Basic 编辑器”即可进入 VBA IDE 编程环境,如图2-2所示。图 2-2 VBA IDE 编程环境2.3.3 VBA 编程示例VBA 程序可以方便地调用 AutoCAD Activex 对象的各个属性和方法,下面的例子详细说明了 VBA 对 AutoCA
20、D 的二次开发方法,同时也说明了机床夹具零件及部件的设计软件中绘图所采用的一般方法。创建并编辑图元:图形对象(也称图元)是组成图形的可见对象(例如直线、圆、光栅图像等)。要创建这些图像,可以使用相应的 Add(Entityname)方法;要修改或查询这些对象,可以使用对象本身的方法和属性。每一个图元都为应用程序提供了执行大部分 AutoCAD 编辑命令(例如复制、删除、移动、镜像等)的方法,也包括一些用来设置和检索对象的扩展数据,亮显和更新对象,及检索对象边框的方法。图元不仅具有诸如 Layer、Linetype、Colr和Handle 之类的普通特性,还具有一些因对象类型不同而不同的特有特性
21、,例如 Center、Radius和Area 等。VBA 程序可以方便的发嗲用对象的这些属性、方法和事件亦事先图元的创建和编辑。下面的例子绘制了一条从(1,1,0)到(10,5,0)的直线、圆心在(15,15,0)半径为3的圆以及一条多段线,同时程序还将圆心位置重新修改为(17,17,0)。绘图结果如图2-3所示。图2-3 用VBA程序绘制图元对应的VBA 程序如下:Sub Example_AddElement() Dim lineObj As AcdLine Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double定义直线
22、的起点和终点 startPoint(0) = 1#: startPoint(1) = 1#: startPoint(2) = 0# endPoint(0) = 10#: endPoint(1) = 5#: endPoint(2) = 0#在模型空间创建直线,并将直线对象保存在lineObj变量中SetlineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)Dim cirObj As AcadCircle Dim currCenterPt(0 To 2) As Double Dim newCenterPt(0 To 2) As
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AuoCAD 平台 机床 夹具 压板 设计 软件 开发
