CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

关于访问 AutoCAD 应用程序对象 (AutoLISP/ActiveX)

2023-1-8 01:03| 发布者: admin| 查看: 377| 评论: 0|来自: AutoCAD

摘要: 应用程序对象是 AutoCAD 对象模型的根对象。

Application 对象是 AutoCAD 对象模型的根对象。

注意:AutoLISP 中的 ActiveX 支持仅限于 Windows。

从 Application 对象中,可以访问任何其他对象,或者分配给对象的属性或方法。在将 ActiveX 函数与 AutoLISP 一起使用之前,需要加载启用这些函数的支持代码。以下函数调用启用 ActiveX 支持:

(vl-load-com)

此函数首先检查是否已加载 ActiveX 支持;如果是这样,则该函数不执行任何操作。如果尚未加载 ActiveX 支持,则加载 AutoLISP 语言的 ActiveX 支持和其他扩展函数。vl-load-com

注意:所有使用 ActiveX 的应用程序都应从调用 开始。如果应用程序不调用,则应用程序将失败,除非其他程序已加载 ActiveX 支持函数。vl-load-comvl-load-com

加载 ActiveX 支持功能后,访问 AutoCAD 对象的第一步是建立与 AutoCAD 应用程序对象的连接。使用该函数建立此连接,如以下示例所示:vlax-get-acad-object

(setq acadObject (vlax-get-acad-object))

该函数返回指向 AutoCAD Application 对象的指针。vlax-get-acad-object

在上面的示例中,指针存储在变量中。此返回值作为唯一的 Visual LISP 数据类型存在,称为 VLA 对象(Visual LISP ActiveX 对象)。acadObject

使用 ActiveX 函数引用 AutoCAD 对象时,必须指定 VLA 对象类型。因此,不能使用访问对象,然后使用 ActiveX 函数引用该对象。该函数返回数据类型为 ename 的对象。尽管不能直接将此对象与 ActiveX 函数一起使用,但可以使用该函数将其转换为 VLA 对象。entgetentgetvlax-ename->vla-object


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2024-12-15 14:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部