CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

关于将 ActiveX 与 AutoLISP 配合使用 (AutoLISP/ActiveX)

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

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

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

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

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

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

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

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

ActiveX 包括标准 AutoLISP 函数(如、和)提供的许多功能。与这些函数相比,ActiveX 运行速度更快,并且可以更轻松地访问对象属性。例如,要使用标准 AutoLISP 函数访问圆的半径,必须使用 获取实体列表和 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-5-19 13:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部