AutoCAD 2000二次开发.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AutoCAD 2000 ObjectARX二次开发技术 AutoCAD二次开发技术综述 ObjectARX开发的一般步骤 菜单设计 综合实例:参数化齿轮设计 AutoCAD二次开发技术综述 AutoCAD为目前在微机上应用最广泛的CAD软件,但它为通用软件,即支撑系统,只提供了一个初步设计和绘图的环境。利用它完成具体项目开发时还要查阅手册、标准等,较为繁琐。 Autodesk采用了开放的软件设计风格,留有了包括C/C++在内的多种二次开发接口,允许用户定制、开发本软件,使之更适应某一设计领域,可大大减少设计人员的工作量。 各种开发方法的比较 第一代:利用AutoLisp语言开发: AutoLisp为解释型语言,可完成参数化程序设计及重复性工作、客户化开发、编制AutoCAD菜单及命令注册。当开发的程序被加载后,它作为一个单独的进程,通过进程间通讯与AutoCAD交互。它的特点就是简单但速度较慢,难以开发大型程序。 第二代:以ADS、ARX、ADSRX为代表的C环境下的开发语言 ADS(AutoCAD Development System)应用C开发环境,与ADS库、标准C库连接即可生成可执行文件(EXE文件)。89年,在AutoCAD R11中,提供了c语言的编程接口。它增加了专门用于对AutoCAD操作的函数。但它仍然用AutoLisp解释器加载,而且采用进程间通讯,当软件规模较大时,速度较慢。但因使用c编译器,所以在源程序安全性、内存操作的效率、文件大小及运行速度上要好于AutoLisp。 第二代:以ADS、ARX、ADSRX为代表的C环境下的开发语言 ARX:在95年的AutoCAD R13中,autodesk向开发用户提供了一种能够直接存取的面向对象的内核,即ARX(AutoCAD Runtime eXtension)。ARX为一用C++开发的动态连接库,用其开发的应用程序能在AutoCAD运行时存取其内核及内存地址,从而共享AutoCAD的地址空间。因此,其应用程序就不需要再通过进程间通讯与AutoCAD通讯了,这样速度就加快了。 第二代:以ADS、ARX、ADSRX为代表的C环境下的开发语言 ADSRX:在出现ObjectARX后,原ADS库就变成为ADSRX,它像ObjectARX一样,要VC++编译器生成动态连接库文件(DLL)。在执行等方面都与ObjectARX兼容。 第三代:Visual LISP、 ObjectARX、 VBA等新型开发方法 Visual LISP是一种新型LISP编程工具,它提供了完整的集成开发环境,是AutoLISP的扩展和延伸,与AutoLISP完全兼容,是一种编译型的应用程序接口。 基于ActiveX Automation技术的VBA是在96年产生ActiveX Automation技术后,Autodesk公司增加了ActiveX Automation服务器的功能,使许多语言和应用程序可通过ActiveX 与AutoCAD通讯,操纵AutoCAD功能。AutoCAD将其各功能封装在AutoCAD ActiveX对象中,供编程时各语言或应用程序调用。各应用程序通过Automation对象的属性、方法和事件来实现对AutoCAD的操作,其过程如下页图所示: ObjectARX开发:为面向对象的AutoCAD运行时扩展,在vc++环境下开发,是在ADS基础上发展起来的,它包含一组动态连接库,可直接访问AutoCAD核心数据结构、图形系统、CAD几何造型,在运行时可扩展新命令。在编译时,它不生成EXE文件,而是生成DLL(动态连接库)文件。 各种开发方法的比较综述: 速度方面:直接与AutoCAD通讯比进程间通讯快,编译型比解释型快。因此,ObjectARX程序运行速度比AutoLisp快。 稳定性:当因严重错误而导致应用程序进程崩溃时,Autolisp因进程的独立性强,不会影响AutoCAD的进程。但因ObjectARX的应用程序与AutoCAD本身的核心进程共享内存空间,所以当应用程序崩溃时,容易影响到AutoCAD自身的进程,但若应用程序经过严格测试,则不会发生问题。 性能:ObjectARX实时扩展AutoCAD,共享其内存地址,可随意调用其核心数据库,功能强大。而其他方法仅限于使用AutoCAD命令或系统定义的函数,功能有限。 技术难度:VBA、AutoLisp等方法较容易,学习周期短;而ObjectARX依赖于C++,需经严格的编译、连接,学习的周期长。 2. ObjectARX开发的一般步骤与应用程序加载 ObjectARX开发概述 开发的基本过程及应用程序加载 开发Win32 Dynamic-Link Library型工程 开发MFC Appwizard(dll)型工

文档评论(0)

ea238982 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档