AutoCAD ActiveX技术是目前AutoCAD二次开发中一种比较成熟、方便且实用的技术,在实际开发中得到了广泛的应用。本书由浅入深,逐层解析,一步步揭开AutoCAD ActiveX的神秘面纱,并结合大量的示例向读者介绍了AutoCAD ActiveX技术的使用方法。内容包括AutoCAD ActiveX基础知识及VBA的使用和简单的程序示例、AutoCAD ActiveX编程基础、使用AutoCAD ActiveX技术控制等。全书着力于AutoCAD ActiveX的开发示例,在真正的工程中进一步介绍AutoCAD ActiveX,使读者不仅掌握AutoCAD ActiveX的使用方法,并能够根据需要进行AutoCAD的二次开发。
AutoCAD是目前计算机上使用最为广泛的CAD(计算机辅助设计,Computer AidedDesign),它是通用交互式计算机辅助绘图与设计软件包。
AutoCAD的最大特点是通用性强、具有多种工业标准和开放的体系结构。这些特点使得它在船舶、建筑、机械、电子、服装等多个领域得到了极为广泛的应用,同时也拥有了相当多的AutoCAD使用人员,这些人员的流动,进一步推广了AutoCAD的使用。
尽管AutoCAD拥有多种工业标准,但是各个行业领域在使用AutoCAD进行辅助设计的时候,均需结合自身行业的特点进行定制或开发。Autodesk公司为满足广大用户的这种需求,在AutoCAD上添加了二次开发功能,从早期的AutoCAD v2.18版本,到最新的AutoCAD 2004版本,Autodesk公司一直把二次开发功能放在一个相当重要的位置,短短十几年间,就相继推出了四代二次开发工具:
第一代开发工具——Auto LISP
第二代开发工具——ADS
第三代开发工具——Visual LISP、ARX
第四代开发工具——ActiveX Automation
ActiveX Automation技术是微软制定的一套标准,以前称为0LE Automation技术。该标准允许通过外显的对象由一个Windows应用程序控制另一个Windows应用程序,这也是面向对象编程技术的精髓所在。AutoCAD从R14开始增加了作为ActiveX Automation服务器应用程序的功能,使得许多面向对象编译语言和应用程序可以通过ActiveX与AutoCAD进行通信,并操纵AutoCAD的许多功能。
AutoCAD ActiveX是一种程序化的机制,用来操纵AutoCAD,这种操作既可以是在AutoCAD内部,也可以是来自AutoCAD外部的。ActiveX Automation服务器应用程序是通过自身对象的属性、方法和事件实现其功能。对象是服务器应用程序简单而抽象的代表。不管是从外部开发,还是从内部对AutoCAD进行二次开发,都是通过调用AutoCAD的对象体系结构来进行的。 AutoCAD ActiveX Automation技术将AutoCAD的各种功能封装在AutoCAD ActiveX对象中,供编程使用。AutoCAD中提供的所有对象组成一个树形结构,最高层是Application对象,其他对象都是它的子节点。为了得到一个特定的对象,必须从Application对象对其子孙进行遍历,直到找到该特定的对象。
本书讲解的内容主要是以AutoCAD 2004为基础,在AutoCAD 2004的环境下进行工程设计、代码编写和调试运行,如果读者的机器上没有AutoCAD 2004也不要紧,因为目前AutoCAD的大部分版本都支持ActiveX Automation,本书上的程序都可以在其他的版本上运行。
本书按照循序渐进的原则,先从AutoCAD的起始步骤入手,由浅入深,一步一步向读者揭示出AutoCAD ActiveX的工作方式,并结合大量的示例,详细介绍如何使用AutoCAD ActiveX技术对AutoCAD进行操作,并着力介绍了由内部操作AutoCAD和由外部操作AutoCAD两种方式。
希望此书的出版对推动我国AutoCAD ActiveX二次开发水平的提高有所促进,对高等学校的教学和课程改革有所帮助。由于作者水平有限,加之时间仓促,书中难免存在错误和不足,敬请广大读者予以批评指正。
编者