对于AutoCADproe二次开发发,VBA和AutoLISP哪一种更好

拒绝访问 |
| 百度云加速
请打开cookies.
此网站 () 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3b9b8be-ua98).
重新安装浏览器,或使用别的浏览器您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于AutoLISP的AutoCAD二次开发—毕业设计.doc 39页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:280 &&
你可能关注的文档:
··········
··········
Secondary Development of AutoCAD based on AutoLISP
Student:REN LI-dong
Teacher: LIU Yu
Abstract : the 1980s the Autodesk has introduced an common computer-aided software --AutoCAD, now, AutoCAD favored by the users, to become one of world famous aided design software. AutoCAD is so popular, a very important reason is that it has an open architecture that makes it easy for secondary development, while the second development can greatly reduce labor intensity drawing staff, save drawing time, improve drawing efficiency, which can reduce costs.
AutoCAD second development is based on the original AutoCAD software on the use of high-level programming language for secondary development, to common operations finalized in the form of orders, so as to improve drawing efficiency. Commonly,designers used AutoCAD second development tools Visual LISP and DCL, VBA, Object-ARX application interface and other procedures. The graduation project focused on the use of the secondary development of AutoCAD AutoLISP and DCL simple parts, mainly to increase the AutoCAD drawing functionality by using Visual LISP, Visual LISP to use common parts for secondary development and design DCL dialog and convenient input parameters re-check to illustrate the enormous power of the second development to improve the efficiency of drawing. Further, since the AutoCAD second development in the form of common actions need to be fixed in order, it will involve a large number of programs, graphics files, in order to enhance file management, in this paper will discuss the underlying operating Access relational database, such as creating tables , create queries, forms of creation and so on.
Based on the above, this graduation project mainly through increased AutoCAD drawing function, the secondary development of simple parts, create DCL dialog to illustrate the secondary development can greatly improve drawing efficiency and create a simple database management system.
Key words: AutoCAD; secondary de
正在加载中,请稍后...此页面上的内容需要较新版本的 Adobe Flash Player。
当前位置:>>广州有道有限元>>AutoCAD应用技术
AutoCAD二次开发工具综述
18:05&&by:有限元&&来源:广州有道有限元
  AutoCAD是目前微机上应用最为广泛的通用交互式计算机辅助绘图与设计软件包。AutoCAD的强大生命力在于它的通用性、多种工业标准和开放的体系结构。其通用性使得它在机械、电子、航空、船舶、建筑、服装等领域得到了极为广泛的应用。但是,不同的行业标准使得各领域在使用AutoCAD的过程中均需根据自身特点进行定制或开发。
   AutoCAD是目前微机上应用最为广泛的通用交互式计算机辅助绘图与设计软件包。AutoCAD的强大生命力在于它的通用性、多种工业标准和开放的体系结构。其通用性使得它在机械、电子、航空、船舶、建筑、服装等领域得到了极为广泛的应用。但是,不同的行业标准使得各领域在使用AutoCAD的过程中均需根据自身特点进行定制或开发。Autodesk公司为满足广大用户的需求,自AutoCAD v2.18版至AutoCAD 2000的短短十几年间,就相继推出了三代二次开发工具,如图1所示。可以说,AutoCAD的通用性为其二次开发提供了必要条件,而AutoCAD开放的体系结构则使其二次开发成为可能。
&&& 图1 AutoCAD二次开发工具的演变
&&& 下面对AutoCAD的三代开发工具进行浅析。
&&& 一、第一代开发工具――AutoLISP
  AutoLISP是1986年随AutoCAD v2.18提供的二次开发工具。它是一种人工智能语言,是嵌入AutoCAD内部的COMMON LISP的一个子集。在AutoCAD的二次开发工具中,它是唯一的一种解释型语言。使用AutoLISP可直接调用几乎所有的AutoCAD命令。
  AutoLISP语言最典型的应用之一是实现参数化绘图程序设计,包括尺寸驱动程序和鼠标拖动程序等。另一个典型应用就是驱动AutoCAD提供PDB模块构成DCL(Dialog Control Language)文件,创建自己的对话框。
  AutoLISP具有以下优点:(1)语言规则十分简单,易学易用;(2)直接针对AutoCAD,易于交互;(3)解释执行,立竿见影。
&&& AutoLISP的缺点是:(1)功能单一,综合处理能力差;(2)解释执行,程序运行速度慢;(3)缺乏很好的保护机制,源程序保密性差;(4)LISP用表来描述一切,并不能很好地反映现实世界和过程,跟人的思维方式也不一致;(5)不能直接访问硬件设备、进行二进制文件的读写。
  AutoLISP的这些特点,使其仅适合于有能力的终端用户完成一些自己的开发任务。
&&& 二、第二代开发工具――ADS
  ADS(AutoCAD Development System)是AutoCAD R11开始支持的一种基于C语言的灵活的开发环境。ADS可直接利用用户熟悉的C编译器,将应用程序编译成可执行文件后在AutoCAD环境下运行,从而既利用了AutoCAD环境的强大功能,又利用了C语言的结构化编程、运行效率高的优势。
  与AutoLISP 相比,ADS优越之处在于:(1)具备错综复杂的大规模处理能力;(2)编译成机器代码后执行速度快;(3)编译时可以检查出程序设计语言的逻辑错误;(4)程序源代码的可读性好于AutoLISP。 而其不便之处在于:(1)C语言比LISP语言难于掌握和熟练应用;(2)ADS程序的隐藏错误往往导致AutoCAD,乃至操作系统的崩溃;(3)需要编译才能运行,不易见到代码的效果;(4)同样功能,ADS程序源代码比AutoLISP代码长很多。
三、第三代开发工具――Visual LISP,ARX及基于ActiveX Automation技术的VBA等
&&& 1.Visual LISP(VLISP)
&&& VLISP是AutoLISP的换代产品。它与AutoLISP完全兼容,并提供它所有的功能,是新一代的AutoCAD LISP语言。VLISP对语言进行了扩展,可以通过Microsoft ActiveX Automation接口与对象交互。同时,通过实现反应器函数,还扩展了AutoLISP响应事件的能力。作为开发工具,VLISP提供了一个完整的集成开发环境(IDE),包括编译器、调试器和其他工具,可以提高二次开发的效率 。另外,VLISP还提供了工具用于发布独立的应用程序。
&&& 2.ARX
  ARX(AutoCAD Runtime eXtension)是AutoCAD R13之后推出的一个以C++语言为基础的面向对象的开发环境和应用程序接口。ARX程序本质上为Windows动态链接库(DLL)程序,与AutoCAD共享地址空间,直接调用AutoCAD的核心函数,可直接访问AutoCAD数据库的核心数据结构和代码,以便能够在运行期间扩展AutoCAD固有的类及其功能,创建能够全面享受AutoCAD固有命令特权的新命令。ARX程序与AutoCAD、Windows之间均采用Windows消息传递机制直接通讯。
  AutoLISP、ADS、ARX都是AutoCAD提供的内嵌式编程语言。AutoLISP和ADS都是通过内部进程通讯(IPC)来和AutoCAD通讯,它们与AutoCAD是相互分离的过程,而ARX以DLL形式与AutoCAD共享地址空间,如图2所示。因此,与前两者相比,其速度更快、运行更稳定、更简单。由于是在Windows及VC++编程环境里运行,所以,对开发者的编程能力要求较高。
&&& 图2 ARX、ADS、AutoLisp与AutoCAD的关系
  ObjectARX应用程序以C++为基本开发语言,具有面向对象编程方式的数据可封装性、可继承性及多态性的特点,用其开发的CAD软件具有模块性好、独立性强、连接简单、使用方便、内部功能高效实现以及代码可重用性强等特点,并且支持MFC基本类库,能简洁高效地实现许多复杂功能。
  这里顺便提一下ADSRX。AutoCAD R14的开发环境ADSRX是ARX的一个子集,它等效于ADS。使用ADSRX,能够用C语言编写基于AutoCAD的程序,也能很方便地将ADS程序移植为ARX程序。
  图3比较了AutoLISP、ADS、ADSRX和ARX的关于速度、暴露性、功能和要求使用每个API的编程经验等方面的编程接口。“暴露性”参数显示了用户编程错误的可能严重性。尽管ARX接口是四个API中最强有力的,它也具有产生严重编程错误的最大潜在性,如破坏AutoCAD数据结构等。其它编程环境要求较少的编程经验,但提供的功能和范围也较小。
&&& 图3 AutoLisp、ADS和ARX的系统比较
  可以说,AutoLISP着眼于应用程序的交互性,ADS C/C++着眼于应用程序的综合性,而ARX则着眼于应用程序的智能性。
3.基于ActiveX Automation技术的VBA等开发工具
  ActiveX Automation是一套微软标准,以前称为OLE Automation技术。该标准允许通过外显的对象由一个Windows应用程序控制另一个Windows应用程序,这也是面向对象编程技术的精髓所在。AutoCAD从R14开始增加了作为ActiveX Automation服务器应用程序的功能,使得许多面向对象编译语言和应用程序可以通过ActiveX与AutoCAD进行通信,并操纵AutoCAD的许多功能,如图4所示。
&&& 图4 ActiveX在开发语言与AutoCAD之间所起的作用
  ActiveX Automation服务器应用程序是通过自身对象的属性、方法和事件实现其功能。对象是服务器应用程序简单而抽象的代表。不管是用VB、VC、OFFICE VBA等从外部开发,还是用AutoCAD VBA从内部对AutoCAD进行二次开发,都是通过调用AutoCAD的对象体系结构来进行的。AutoCAD 2000 ActiveX Automation技术将AutoCAD 2000的各种功能封装在AutoCAD ActiveX对象中,供编程使用。AutoCAD 2000中提供的所有对象组成一个树形结构,如图5所示,最高层是Application对象,其他对象都是它的后代。为了得到一个特定的对象,必须从Application对象对其子孙进行遍历,直到找到该特定的对象。
&&& 图5 AutoCAD对象模型
  ActiveX Automation技术的完全面向对象化编程的特点,使其开发环境具备了强大的开发能力和简单易用的优良特点,开发工具的选择也具有很大的灵活性。所以,利用ActiveX Automation技术,是极具潜力的一种开发手段。
&&& 四、结束语
  以上对AutoCAD的三代开发工具分别作了简要介绍。目前,第一代的AutoLISP已能被第三代的VLISP完全替代,第二代的ADS在AutoCAD 2000中已不再支持,所以,第三代开发工具将成为今后AutoCAD二次开发的必然选择。而在第三代工具中具体选择哪一种,笔者认为,主要还应根据用户应用程序的需要和开发人员的编程经验。
相关标签搜索:&&&&&&&&&&&&&&&&
姓 &&&& 名:
请留下您的有效联系方式,以便我们能联系到您 ^v^
客服在线请直接联系我们的客服,您也可以通过上面的方式进行在线报名,我们会及时给您回复电话,谢谢!
工程项目服务
有限元培训课程
产品设计培训课程
广州市东风东路808号 华宫大厦17层
电话:020-
培训QQ咨询:
项目QQ咨询:
点击图标或添加QQ:
深圳龙华新区和平路 28号福轩大厦1708
培训QQ咨询:
项目QQ咨询:
点击图标或添加QQ:
东莞市莞城区莞太路34号创意产业园11号楼5楼
培训QQ咨询:
项目QQ咨询:
点击图标或添加QQ:
佛山市禅城区弼塘东二街20号4楼(季华四路创意产业园东北门出口左侧)
培训QQ咨询:
项目QQ咨询:
点击图标或添加QQ:文档分类:
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,
下载前请先预览,预览内容跟原文是一样的,在线预览图片经过高度压缩,下载原文更清晰。
您的浏览器不支持进度条
下载文档到电脑,查找使用更方便
还剩?页未读,继续阅读
播放器加载中,请稍候...
该用户其他文档
下载所得到的文件列表化工制图CAD教程与开发(9)---二次开发及AutoLISP.pdf.pdf
文档介绍:
第第 9 9 章章二次开发及二次开发及 AutoLISP AutoLISP ?? AutoCAD
二次开发在化工制图中的应用二次开发在化工制图中的应用?? AutoLISP AutoLISP 语言基础语言基础?? Visual LISP
Visual LISP
基础基础?? DCL DCL 基础基础 AutoCAD
二次开发在化工制图中的应用二次开发在化工制图中的应用本章目录本章目录??二次开发的目的及必要性二次开发的目的及必要性??几种主要的二次开发语言简介几种主要的二次开发语言简介??化工化工 AutoCAD AutoCAD 二次软件开发的思路及步骤二次软件开发的思路及步骤二次开发的目的及必要性二次开发的目的及必要性 AutoCAD 软件作为 CAD 工业的旗帜产品,以其强大的功能得到广大用户的青睐。它具有精确的坐标系,能够完成各种图形的精确绘制、任意缩放和修改,支持数字化仪的精确输入。尽管如此,由于 AutoCAD 是作为一个通用的绘图软件而设计开发的,但各行各业都有自己的行业和专业标准,许多单位也有自己的技术规格和企业标准,化工行业也不例外,有着大量的各种图纸设计标准,因而, AutoCAD 不可能完全满足每一用户的具体应用要求。但是, AutoCAD 具有开放的体系结构,它允许用户和开发者在几乎所有方面对其进行扩充和修改,同时可以利用多种开发语言,开发可以自动完成某一绘制任务的软件,可大大提高绘制速度,改善工作效率。以上工作可称之为 AutoCAD 的二次开发技术。也就说 AutoCAD 二次开发技术主要包括两个方面:一方面是对它的功能进行扩充和修改,如修改或增加菜单、进行各种定制工作;另一方面是利用开发工具编写能够完成特殊任务的自动绘制软件,如下面将介绍的通过人机交互界面输入必要的数据后,系统自动完成法兰的绘制,就属于这一类型, 在化工绘图中,我们需要的也是有关这一方面的开发软件,它能最大限度地满足用户的特殊需要,通过调用各种已经开发好的专用零件图绘制软件,加快绘制速度,提高工作效率。尤其重要的是,可以将大量的计算工作交给计算机去完成。这样,不仅提高了绘图速度,同时也提高了绘制精度,避免了人为的计算错误。目前很多化工技术人员对 AutoCAD 的使用一般还仅限于它自身的各种绘图功能,使用鼠标手工绘制各种图件,对其强大的二次开发功能还没有进行深入使用。如果能使用 AutoCAD 的二次开发技术开发出一套软件,让 AutoCAD 自动绘制我们目前使用的各种图件,就可以大大提高作图效率,发挥出 AutoCAD 的强大图形编辑、修改功能,对图件中的各种元素进行任意修改,满足各种不同的图件格式和绘图标准,由此可见,对于一个化工技术人员来说,学会自己开发 AutoCAD 二次应用软件显得十分必要,因为这将大大减少具体的绘制工作, 而可以将主要精力集中到设备的设计中去,从而加快化工设备的开发速度。近几年来,随着计算机软、硬件技术的飞速发展及其应用的普及,也带来了化工领域使用计算机的浪潮。首先是各课程教学使用了 CAI 课件,学生们可以清楚地看到各种物质的具体颜色,并可以看到动画反应,让学生们能够形象生动地上课。然后是各种实验仿真软件的出现,让学生们不用亲自下到工厂, 也不用浪费任何原料,在没有危险的情况下就可以完成对实验过程或者是生产流程的学习和实习。同时计算机可以对反应进行模拟,对实验数据的拟合都大大方便了化工工作者。随之诞生的各种化工专用软件,给化学工业的发展注入了新鲜血液,使化学工业的发展如虎添翼。目前,随着化学工业的进一步向前发展,各种新的机械设备被人们设计和制造,这些设备的工程图都是一件很大的工程。比如一个完整热交换器图纸, 就需要一个专人 1 ~ 2 天的工夫才能完成。利用 AutoCAD 的二次开发技术,可以编出对热交换器的图进行批处理的程序,只需通过简单的人机会话, 计算机能自动绘制出图纸,这也是化工技术人员学习掌握 AutoCAD 二次开发技术的目的之所在。随着化学工业的不断日新月异,对设备图纸绘制的速度要求也将越来越快,利用 AutoCAD 二次开发技术开发而成的软件直接绘制各种设备的技术将在化学工业中得到更加广泛的应用,其开发技术必将伴着化学工业一起发展。几种主要的二次开发语言简介几种主要的二次开发语言简介⑴ AutoLISP AutoLISP 语言是 AutoCAD 所支持的一种内嵌式语言,它由美国 Autodesk 公司开发,其目的是使用户十分方便地利用 AutoLISP 编程语言对 AutoCAD 进行二次开发,它采用了与 LISP mon LISP 最近的语法和习惯约定,同时又针对 AutoCAD 增加了许多新的功能,使用户可以直接调用几乎全部的 AutoCAD 命令,因此它既具有一般高级语言的基本结构和功能,又具有 AutoCAD 强大的图形处理能力,是目前计算机辅助设计和绘图中较广泛采用的语言之一。⑵ Visual LISP Visual LISP (简称 VLISP )是为加速 AutoLISP 程序开发而设计的强有力的工具。它提供了一个完整的集成开发环境(包括编译器、调试器及其他工具, 它可以显著地提高自定义 AutoCAD 的效率)。 Visual LISP 提供的主要工具有: 文本编辑器、格式编排器、语法检查器、源代码调试器、检验和监视工具、文件编译器、工程管理系统/ 快捷相关帮助与自动匹配功能和智能化控制台等。 Visual LISP 克服了 AutoLISP 一直以来开发中所存在的诸多不便和某些局限性。从语言方面看, Visual LISP 对 AutoLISP 语言进行了扩展,可以通过 Microsoft ActiveX Automation 接口与对象交互。同时,通过实现事件反应器函数,还扩展了 AutoLISP 响应事件的能力。 VisualLISP 已经被完整地集成到 AutoCAD 中。⑶ VBA VBA ( Visual Basic for Application )最早是建立在 Office 97 中的标准宏语言,由于它在开发方面的易用性且功能强大,许多软件开发商都将其嵌入自己的应用程序中,作为一种开发工具提供给用户使用。而 AutoCAD VBA 就是集成在 AutoCAD 中的 Visual Basic 开发环境,与 VB 的主要区别是 VBA 在与 AutoCAD 相同的进程空间中运行,提供了与 AutoCAD 关联的快捷的编程环境,程序设计直观快捷。它还提供了与其它可使用 VBA 应用程序集成的能力,可以作为其它应用程序如 Word 或 Excel 的自动化控制器。可以看出, VBA 是其中编程很为快捷方便的一种,对于非计算机专业而更多熟悉 VB 编程语言的人来说,可以很快就掌握它。⑷ ADS ADS 的全名是 AutoCAD Development System ,它是 AutoCAD 的 C 语言开发系统, ADS 本质上是一组可以用 C 语言1
内容来自淘豆网转载请标明出处.

我要回帖

更多关于 二次开发 的文章

 

随机推荐