AutoCAD二次开发实用教程第12章-使用Ac课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《AutoCAD二次开发实用教程第12章-使用Ac课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AutoCAD 二次开发 实用教程 12 使用 Ac 课件
- 资源描述:
-
1、第12章 使用ActiveX Visual LISP为AutoCAD提供了许多新的功能,包括支持ActiveX对象的操作以及支持ActiveX与其他程序的交互等。 ActiveX Automation技术使用户可以方便地使用其他许多面向对象的高级语言来开发AutoCAD程序,它的作用是面向对象的编程接口,程序可以据此访问AutoCAD所有的绘图对象和非绘图对象。 第12章 使用ActiveX ActiveX Automation是一种新的方法,通过它可以用编程的方式操作AutoCAD图形。 MS Word VBAVisual BASICC+DelphiJavaExcel VBAAutoCAD
2、VBAAutoCAD ActiveX ObjectsAtuoCAD ApplicationDrawing.dwy第12章 使用ActiveX 许多语言和环境都可以使用ActiveX编程界面,如C+、Visual Basic、Java和Delphi等。在AutoLISP中使用ActiveX对象,与其模型、属性和方法和在其他编程环境中使用的ActiveX对象完全相同。 12.1 在AutoLISP中使用ActiveX对象 对象是ActiveX应用程序的主要组成部分。例如,直线、圆弧、多义线和圆等都被称为图形对象。但在使用ActiveX时,以下AutoCAD本身及概念都被称为对象。 1. 样式设置对
3、象,如线型(linetype)、文本样式(style)和尺寸样式(dimstyle)等。 2. 组织结构对象,如图层(layer)和块(block)等。 3. 图形显示对象,如视图(view)和视口(viewport)。 4. 图形的模型空间(modelspace)和图纸空间(paperspace)。 12.2 AutoCAD对象模型 AutoCAD对象是通过分层方式来组织的,应用程序(Application)对象为根对象。这种分层结构的视图被归结为对象模型。Application对象还提供指向AutoCAD图形(通过Documents集合)、AutoCAD菜单和工具栏(通过 MenuBa 和
4、MenuGroup 集合)以及 VBA IDE(通过VBE特性)的链接。 12.2.1 对象属性 AutoCAD对象模型中的所有对象都有一个或多个特性,我们把这些特性称为属性。属性用于描述对象。例如,圆具有半径、面积、线型等属性,通过半径、面积、线型等属性描述一个具体的圆。椭圆具有面积和线型属性,虽然没有半径这个属性,但可以用其长轴和短轴的比例来描述它。通过ActiveX函数访问AutoCAD数据时必须知道特性名称。12.2.2 对象方法 ActiveX对象也包括方法 ,它们是为特定类型的对象提供的动作。某些方法可应用到大多数AutoCAD图形对象。 在Visual LISP中,ActiveX
5、方法是用AutoLISP函数实现的,在Visual LISP文档中,用户会看到许多关于ActiveX函数的内容,但是应该清楚在ActiveX术语中,它们应被称为方法。 12.2.3 对象集合 AutoCAD通过集合将所有对象进行分类。虽然这些集合包含了不同类型的数据,但是可以使用相似的技术来处理它们。每一个集合都提供了向其中添加对象的方法。大多数集合是通过 Add 方法完成的。但添加图元对象通常使用名为 Add 的方法。例如,要添加直线,请使用 AddLine 方法。 12.3 访问AutoCAD对象 通过Document对象的Application特性可以访问Application对象。在对
6、象层次结构中,Application对象位于Document对象的上方。 如果要AutoLISP中使用ActiveX函数,用户必须先加载支持代码来使这些函数可用。 12.3.1 访问AutoCAD应用程序1. 获取AutoCAD应用程序2. AutoCAD应用程序的属性和方法12.3.2 应用程序对象以下的其他ActiveX对象 沿着AutoCAD对象模型层次图,应用程序对象的ActiveDocument特性将把用户带到文档对象,它代表当前AutoCAD图形。 文档对象有许多特性。对非图形对象(如图层、线型和组等)的访问是由名称相近的特性(如Layers、Linetype和Groups等)提供
7、的。 12.3.3 过程总结实现的功能是用ActiveX Automation在AutoCAD图形中画一个圆对象,函数调用序列如下所示:(vl-load-com)(setq acadObject(vlax-get-acad-object)(setq acadDocument(vla-get-ActiveDocument acadObject) (setq mSpace(vla-get-ModelSpace acadDocument)(setq mycircle(vla-acadCircle mSpace(vlax-3d-point (3.0 3.0 0.0)2.0)12.3.4 编程技巧 在编
8、程中应避免反复调用AutoCAD应用程序、活动文档和模型空间对象,因为它们降低程序的运行速度,在编写程序时,用户应该让自己的应用程序一次获取这些对象,然后在整个应用程序中都引用所获取的对象指针。12.3.5 在Visual LISP函数中使用 ActiveX为访问ActiveX对象,Visual LISP给AutoLISP语言增加了一些函数。1. vla-函数和每个ActiveX方法相对应,可用这些函数调用ActiveX方法(如vla-addCircle调用addCircle方法)。2. vla-get-函数和每个特性相对应,可获取ActiveX特性的值(如vla-get-Color获取对象的
9、Color特性)。3. vla-put-函数和每个特性相对应,可设置ActiveX特性的值(如vla- put Color获取对象的Color特性)。12.3.6 确定所需的Visual LISP函数 Visual LISP ActiveX函数实际上是提供了对ActiveX方法的访问能力,如,在Visual LISP控制台提示下输入下列AutoLISP语句:_$ (setq mycircle(vla-addCircle mSpace(vlax-3d-point (3.0 3.0 0.0)2.0)# 该命令用addCircle方法向图形中添加圆,为绘制圆而调用的函数是vla-addCircle。
10、 12.4 ActiveX对象访问 Application对象是AutoCAD对象模型中的基础,从Application对象可以访问其他任何对象,或是被访问对象的特性或方法。如果要在AutoLISP中使用ActiveX函数,必须先调用vl-load-com函数来加载所有的ActiveX函数。 该函数先检查是否已经加载了ActiveX函数,如果已经加载,则该函数不做任何工作,如果尚未加载ActiveX支持函数,vl-load-com函数将为AutoLISP语言加载ActiveX以及其他Visual LISP扩展部分。 12.4 ActiveX对象访问12.4.1 查看对象特性 查看AutoCAD
展开阅读全文