CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2025 开发者帮助

关于将 ActiveX 与 AutoLISP 一起使用 (AutoLISP/ActiveX)

2024-5-18 19:16| 发布者: admin| 查看: 22| 评论: 0|原作者: admin|来自: AutoCAD

关于将 ActiveX 与 AutoLISP 一起使用 (AutoLISP/ActiveX)

ActiveX 自动化是一种以编程方式处理图形内容和支持 ActiveX 方法的其他 Windows 应用程序的方法。

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

在许多情况下,ActiveX 在操作 AutoCAD 图形对象方面比传统的 AutoLISP 函数工作得更快。ActiveX 编程接口可用于多种语言和环境。在 AutoLISP 中使用 ActiveX 对象时,可以使用可以从其他编程环境操作的相同对象模型、属性和方法。

对象是 ActiveX 应用程序的主要构建基块。在某些方面,你已经熟悉了这个概念。例如,AutoCAD 图形项目(如直线、圆弧、折线和圆)长期以来一直称为对象。但在 ActiveX 方案中,以下 AutoCAD 组件也表示为对象:

  • 样式设置,例如线型和尺寸样式
  • 组织结构,例如图层、组和块
  • 图形显示,例如视图和视口
  • 绘图的模型空间和图纸空间

甚至图形和 AutoCAD 应用程序本身也被视为对象。

ActiveX 包括标准 AutoLISP 函数(如 、 和 )提供的许多功能。与这些函数相比,ActiveX 运行速度更快,并且可以更轻松地访问对象属性。例如,要使用标准 AutoLISP 函数访问圆的半径,必须使用 to 获取实体列表,并使用 assoc 来查找所需的属性。您还必须知道与该属性关联的代码号(DXF 组值)才能使用 来获取它,如以下示例所示:entgetentmodsetvarentgetassoc

(setq radius (cdr (assoc 40 (entget circle-entity))))

使用 ActiveX 函数,您只需按如下方式请求圆的半径:

(setq radius (vla-get-radius circle-object))

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-6-27 16:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部