CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

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

2023-1-9 00:03| 发布者: admin| 查看: 1065| 评论: 0|来自: AutoCAD

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

用户可以从用作 Automation 控制程序的任意应用程序中创建和操作图形对象。因此,Automation 使编制跨应用程序执行的宏成为可能,而 AutoLISP 中就没有这种功能。

注: 不支持 ActiveX 用于 AutoCAD LT 或 Mac OS。

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

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

例如,用户可能需要提示输入、设定系统配置、生成选择集或检索图形数据。用户可以根据操作的类型确定使用哪种控制程序。

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

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

定义外部命令以启动您的应用程序

您可以使用 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 根据特定的参数查找和运行不同的应用程序。

从用户界面启动应用程序

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

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


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部