CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

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

2023-1-6 01:40| 发布者: admin| 查看: 512| 评论: 0|来自: AutoCAD

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

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

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

从应用程序对象中,可以访问任何其他对象,或者分配给对象的属性或方法。在将 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 应用程序对象的指针。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 )

GMT+8, 2024-5-19 14:35

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部