CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2025 开发者帮助

关于使用 ActiveX Automation 开发应用程序

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

关于使用 ActiveX Automation 开发应用程序

ActiveX Automation 是 Microsoft® 基于 COM(部件对象模型)体系结构开发的一项技术。用户可以用它来扩展基于 AutoCAD 的产品、与其他应用程序共享图形数据以及自动完成任务。

用户可以从用作 Automation 控制程序的任意应用程序中创建和操作图形对象。因此,Automation 支持跨应用程序进行宏编程,而 AutoLISP 通常不提供该功能。例如,用户可能需要提示输入、设定系统配置、生成选择集或检索图形数据。

显示的对象称为 Automation 对象。Automation 对象提供了方法、特性和事件。方法是对某个对象执行操作的函数,特性是设定或返回某个对象的状态信息的函数。事件是程序响应的由用户启动的动作或事件。

注:
  • AutoCAD LT for Windows 中的 ActiveX 自动化仅限于 AutoCAD ActiveX 库和 AutoLISP 编程语言;AutoCAD LT 不支持使用 VBA 或其他编程语言进行 ActiveX 自动化。也不支持第三方 ActiveX 库,例如用于访问 Microsoft Word 和 Microsoft Excel 的库。您必须拥有 AutoCAD 或基于 AutoCAD 的产品才能充分利用 ActiveX 自动化。
  • Mac OS 或 Web 上不支持 ActiveX 自动化。

使用 ActiveX 访问外部应用程序(仅限 AutoCAD for Windows)

在程序中使用 ActiveX 接口具有以下两个优点:

  • 可以在多种编程环境中编程访问图形。在 ActiveX Automation 出现之前,开发者只能用 AutoLISP 或 C++ 接口访问 AutoCAD 图形。
  • 更易于与其他 Windows 应用程序(例如 Microsoft Excel 和 Microsoft Word)共享数据。

实际上,任何类型的应用程序都可以访问 AutoCAD 中显示的 Automation 对象。这些应用程序可以是独立的可执行文件、动态链接库 (DLL) 文件或某个应用程序(例如 Microsoft Word 或 Microsoft Excel)中的宏。其中,最常用的可能是独立的可执行文件。如果用户使用的是来自第三方开发商的应用程序,则请按照说明来安装和使用其产品。

定义外部命令以启动应用程序(仅适用于 AutoCAD for Windows)

您可以使用 acad.pgp 文件定义命令,该命令运行外部命令以启动单机版应用程序;类似于可用于启动命令的命令别名。

以下样例定义了 RUNAPP1 命令,该命令将从 c:\vbapps\ 目录执行 app1.exe。(将此代码添加到 acad.pgp 文件的外部命令部分。)

RUNAPP1, start c:\vbapps\app1, 0

如果应用程序需要命令行参数,则可以使用如下代码:

RUNAPP2, start c:\vbapps\app2, 0, *Parameters: ,

本例定义了 RUNAPP2 命令,此命令用于提示用户输入参数,然后将这些参数传递给应用程序。

提示: 也可以用 AutoLISP startapp 函数来启动使用了 Automation 的应用程序。AutoLISP 一旦启动了外部应用程序,就不能对它进行控制。但用户可以用 AutoLISP 根据特定的参数查找和运行不同的应用程序。

从用户界面启动应用程序(仅适用于 AutoCAD for Windows)

在定义了外部命令以启动单机版应用程序后,您可以将该命令用作用户界面元素中命令宏的一部分。

如果仅使用一个或两个应用程序,则可以将它们添加到某个标准功能区面板或快速访问工具栏。如果您拥有一组应用程序,则可以专门为这些应用程序定义您自己的功能区面板。


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2025-3-31 13:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部