AutoCAD二次开发技术及其应用研究

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

AutoCAD二次开发技术及其应用研究引言AutoCAD作为一种通用计算机辅助设计软件,其二维图形设计功能非常强大,目前已广泛应用于机械、电子、电气、建筑、土木、服装等领域,深受国内外众多工程设计人员的喜爱,成为目前世界上应用最广的计算机辅助设计工具。尽管如此,人们在使用过程中还是发现其存在较多的不足之处,如对于一些特殊曲线的绘制往往较为困难,而对于一些标准件、常用件,虽然从结构上看它们较为相似,但却难以采用AutoCAD提供的复制、镜像、旋转等命令来实现,而必须一笔划一笔划的绘制,显得费时费力。好在AutoDesk公司在开发AutoCAD之初,就意识到上述不足,及时提供了二次开发语言AutoLISP,并且随着软件技术的发展,不断加以更新,先后推出了ADS、ObjectARX、VBA、VisualLISP、DotNet等二次开发语言,适合于各种不同类型设计人员对AutoCAD进行二次开发。一、AutoCAD二次开发语言1.1AutoLISPAutoLISP最早出现在AutoCADR2.17中,是一种嵌入在AutoCAD内部的二次开发语言,它的全名为表处理语言(usTProcessingLanguage),来源于人工智能语言LISP,是被解释执行的,任何一个语句键入后就能马上执行。由于使用方便,其一直是低版本AutoCAD的首选编程语言。随着Windows界面技术的发展,从AutoCADR12.0开始支持对话框设计语言DCL,用于编制友好的图形用户界面。不过由于代码保密性能不好等因素,目前已被VLISP编程语言所代替。1.2ADSADS的全名是AutoCADDevelopmentSystem。它出现于AutoCADR11.0中,为那些学习C语言的工程设计人员提供了一种二次开发环境。ADS本质上是一组可以用编写AutoCAD应用程序的头文件和目标库,它直接利用用户熟悉的各种流行的c语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行。ADS由于其速度快,又采用结构化的编程体系,适合于高强度的数据处理,一度成为机械设计CAD、工程分析CAD、建筑结构CAD的首选二次开发工具。不过由于目前其它编程软件的出现,主要用于DOS环境下的C语言逐渐受到冷落,因此AutoDesk公司决定从AutoCAD2000开发不再支持ADS编程环境。1.3ObjectARXObjectARX最早出现于R13.0中,它以C++为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的AutoCAD应用程序。一个0bjectARX程序实际上是一个动态链接库(DLL),这些库与AutoCAD在同一地址空间运行并能直接利用AutoCAD核心数据结构和代码,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能。1.4VBAVBA全称为VisualBasicforApplications,它被集成到AutoCADR14.01中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD中丰富的技术框架打开一条新的通道。VBA和AutoCADR14.01中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。1.5VisualLISPVisualLISP已经被完整地集成到AutoCAD2000中。作为AutoLISP的替代品,它与AutoLISP充分兼容,并且对AutoLISP功能做了较大的改进。它为开发者提供了崭新的、增强的集成开发环境,使得程序创建和调试更加容易;实现了对COM、ActiveX接口和事件反应器的访问,便于实现更底层的开发;增强了原始代码的保密功能,以防盗版和被更改。它特别适合于那些没有计算机编程基础的工程设计人员使用。1.6D0tNET随着VisualStudio.NET编程软件的Et趋流行,AutoCAD从2005版本开始提供了一个崭新的二次开发环境DotNET,从而为那些学习c#、VB.NET的编程人员开发CAD软件提供帮助。C#是通过AutoCADActiveX这座桥梁来和AutoCAD之问进行通讯的。AutoCADActiveX使用户能够从AutoCAD的内部或外部以编程方式来操作AutoCAD。二、二次开发关键技术2.1参数化设计技术参数化设计是20世纪80年代提出的一种CAD产品设计方法。它的基本思想是保持图形结构之间的相互拓扑关系不变,通过设置一组参数来控制图形的几何尺寸大小,部分参数值的改变能够直接导致设计结果的自动修改。参数化设计极大地改善了图形设计的重构能力,提高了设计的柔性。参数化设计特别适合于结构形式固定而结构尺寸变化的规格化、系列化产品,尤其是机械领域的标准件设计,如螺栓、螺母、导柱、导套等。它不仅可以使CAD系统具有交互式绘图功能,而且还具有自动绘图功能,利用参数化的设计手段开发专用的设计系统,可使设计人员从大量繁琐的绘图工作中解脱出来,极大地提高设计速度。2.2对话框编制技术图形用户界面的出现为系统提供了友好的设计开发环境。AutoCAD二次开发语言采用两种方式设计对话框。一种是利用系统本身提供的可编程对话框工具(PDB)实现对话框界面设计,其基本方法是通过对话框控制语言(DCL)编写定义对话框窗口的组成构件,然后利用AutoLISP或ADS提供的对话框处理函数设计驱动程序。这种方法局限于用DCL文件形式描述对话框,缺乏具有视觉效果的直观设计工具。另一种方法则利用相应开发软件提供的界面设计工具进行可视化对话框设计,如ObjectARX采用VC++提供的MFC编写模式对话框、无模式对话框或属性页对话框。VBA采用VisualBasic提供的窗体(FORM)设计器设计对话框控件。2.3图形绘制技术AutoCAD最大的功能就是实现图形的交互式绘制,二次开发语言支持通过编程的方式完成图形的自动绘制。其中VisualLISP语言采用Command函数,通过调用AutoCAD命令绘制或修改图形。ObjectARX直接利用AutoCAD的内核代码,访问AutoCAD的数据库、图形系统及几何造型核心,在运行期间实时扩展AutoCAD具有的类及其功能,建立与AutoCAD本身的固有命令操作方式相同的新命令完成图形绘制。VBA则利用ActiveXAutomation对象模型,使用相应的AddEntityname方法创建图元对象。三、应用研究探索3.1常用符号的开发在用AutoCAD绘制二维图形时,经常需要绘制些行业内常用的标准符号,如机械行业内使用的形位差标注、表面粗糙度符号、焊接符号、装配图编号等,电子行业内常用的电阻、电容、二极管、三极管等符号,电气行业内常用的按钮、开关、熔断器符号等。这些符号当然可以采用一般的图形绘制方法,如创建块,或采用复制、旋转、文字修改命令等,但是过程较为繁琐。如果采用编程的方式来实现,并将之加入到ACAD.LSP文件中,随AutoCAD应用程序同加载,则可以实现一劳永逸,像调用其它图形绘制命令一样绘制常用符号。3.2参数化曲线的设计在零件实体的建模过程中,有时需要先绘制一些特殊曲线,如绘制齿轮模型需要渐开线、绘制螺钉螺母模型需要螺旋线、绘制弹簧需要阿基米德螺旋线等。这些特殊的曲线如果采用AutoCAD交互式绘制方式一般是难以完成的。不过这些曲线一般均有其参数方程,因此我们可以采用模拟的方式通过编程将其绘出。即把曲线划分为一系列极微小的曲线段,每段用一小段直线代替,以大量的直线段来模拟曲线,当精度较高时,模拟的直线段能很好地逼近真实曲线。另外也可以先计算出曲线上的控制点,然后利用AutoCAD提供的绘制样条曲线的命令,让样条曲线通过这些控制点从而绘制出曲线。第一种方法比较容易实现,不过会生成大量的直线对象,占用较多的内存和时间。而第二种方法绘制出的曲线比较光滑,不过其绘制难度相对较大,一般设计人员不易掌握。3.3标准件的参数化设计随着工业标准化程度的提高,设计中使用的标准件也越来越多,如螺钉、螺母、销钉、垫圈、轴承等。每种标准件都有大量的数据,在作图时,用户需要查找各种标准,十分麻烦,而且容易出错。纵观这些标准件图形结构,在一个系列内,它们大多结构相似,只不过在结构尺寸上有所变化。因此可以考虑采用参数化设计方法,通过编程来实现图形的自动绘制,从而可以避免重复性的劳动,节省产品设计开发的周期,提高设计效率和质量。标准件库建立时可以先设计出对话框,为用户提供一个友好的参数输入环境,然后通过编程实现数据表格的处理和二三维图形的绘制。3.4常用件的设计对于齿轮、带轮、链轮、蜗轮、蜗杆、轴等一些常用件,尽管其结构没有象螺栓、螺母那样完全实现标准化,但是从其结构上来看,可以实现部分结构标准化。比如齿轮,我们只需输入模数、齿数、压力角、齿宽、轴径等参数,对于V型带轮只需输入带轮外径、内轴径、带轮宽、顶宽、边距等参数,便可编程实现其二三维图形的自动绘制。而轴类零件尽管其结构较为简单,一般由基本图形,如矩形轴段、梯形轴段、倒角、退刀槽、键槽等部分组成。但由于轴的段数和每段轴的形状都不是固定的,其结构形状、尺寸等变化较大,无法采用一般的参数化编程方法来实现。文献[1]中介绍了一种形状特征拼合方法巧妙地实现轴类零件的绘制。其基本思想是先根据设计需要分别对每一个基本图形编制参数化子程序,然后采用交互式或程序调用方式,将若干形状特征拼合为轴类零件图。3.5其它应用随着AutoCAD软件在各行业的应用日趋广泛,其二次开发技术的应用研究也逐渐深入,它不仅仅局限于上述领域的参数化设计。张怡芳等利用Au—toLISP二次开发语言对分形几何图形进行设计研究。周亮等用AutoLISP开发出注塑模浇注系统。郭朝勇等采用AutoCAD二次开发技术实现了技术要求自动标注系统。简惠云利用VBA开发出AutoCAD标准图纸图栏系统等。从而为AutoCAD二次开发技术的应用开辟了一条新途径。四、结束语AutoCAD二次开发技术广泛应用于机械、电子、建筑等领域,为标准件、常用件的参数化设计提供了强有力的支持。本文首先对AutoCAD常见的几种二次开发技术进行了分析比较,然后介绍了与AutoCAD二次开发有关的关键技术,最后探讨了AutoCAD二次开发技术的主要应用场合。为图形设计人员选择AutoCAD二次开发工具、确定二次开发技术的应用范围以及解决其中的关键问题提供了一些建议和帮助。活塞发动机是液压混合驱动的一个分支。液压混合驱动利用蓄能器使机械能和液压能可以双向动态转化,因而易于实现发动机与传动系的优化匹配以及制动能的回收。其缺点是蓄能器能量密度低,只能用于大型车辆。气动汽车是真正的零排放,气源能量密度也比液压蓄能器大。但在车辆运行期间,气源消耗不易补给,故只能用于小型车辆,续驶里程最多300km。从研究近况看,液压混合驱动更接近实用要求。针对液压蓄能器能量密度过小的缺陷,提出以下改进方案:(1)采用具有恒压和蓄热特性的汽一液两相蓄能介质。恒压不仅能提高蓄能器的能量密度,而且还能提高液压泵和发动机的效率以及液压马达的动力性。蓄热则使发动机与蓄能器能够借助热交换调节工作特性。(2)采用高比强度材料使蓄能器的比能和工作压力得以提高,也使外形设计的多样化成为可能。经上述改进,蓄能器的比能有望从现在的平均0.7Wh/kg提高到14Wh/kg左右,从而为进一步提高系统节能效果,扩展应用范围创造条件。对于液压混合驱动,发动机与蓄能器有串、并、混3种耦合方式。一般来说,负荷率低或变化幅度大用串联。负荷率高用并联。负荷率多变用混联。上述研究面临的主要困难是储能介质常温下的液化压力不够高。在现有气体中,CO的液化压力最高,其值为7.8MPa,与实用要求尚有差距。目前课题组正尝试用人工合成的方法解决这一难题。附:参考文献【1】童秉枢,李学志

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功