CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2024 开发者帮助

vlax-add-cmd (AutoLISP/ActiveX)

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

vlax-add-cmd (AutoLISP/ActiveX)

将命令添加到 AutoCAD 内置命令集

支持的平台:Windows、Mac OS 和 Web

签名

(vlax-add-cmd global-name func-sym [local-name cmd-flags])
全局名称

类型:字符串

命令的全局名称。

函数符号

类型:子例程或符号

命名具有零参数的 AutoLISP 函数的符号。

本地名称

类型:字符串

命令的本地名称(默认为 global-name)。

cmd标志

类型:整数

数值(默认为 ACRX_CMD_MODAL + ACRX_CMD_REDRAW)

主要标志是

ACRX_CMD_MODAL (0) -- 当另一个命令处于活动状态时,无法调用命令。

ACRX_CMD_TRANSPARENT (1) -- 当另一个命令处于活动状态时,可以调用命令。

次要标志是

ACRX_CMD_USEPICKSET (2) -- 检索 pickfirst 集时,将在 AutoCAD 中将其清除。Command 将能够检索 pickfirst 集。命令无法检索或设置夹点。

ACRX_CMD_REDRAW (4) -- 检索拾取第一个夹点组或夹点组时,两者都不会在 AutoCAD 中清除。Command 可以检索 pickfirst 集和 grip 集。

如果同时设置了ACRX_CMD_USEPICKSET和ACRX_CMD_REDRAW,则效果与仅设置ACRX_CMD_REDRAW相同。有关标志的更多信息,请参阅《ObjectARX 参考》中的“命令堆栈”。

返回值

类型:字符串或 nil

global-name 参数(如果成功)。如果 acedRegCmds->addCommand(...) 返回错误条件,则函数返回。nil

言论

您可以使用 AutoCAD 命令将函数定义为 AutoCAD 命令,而无需在函数名称中使用 c: 前缀。您还可以定义一个透明的 AutoLISP 命令,这在 c: 函数中是无法实现的。vlax-add-cmd

谨慎:不能在透明定义的函数中使用命令函数调用。这样做可能会导致AutoCAD意外关闭。vlax-add-cmd

该函数使 AutoLISP 函数在当前 AutoCAD 任务期间在 AutoCAD 命令提示符下显示为 ObjectARX 样式的命令。该函数提供对 ObjectARX acedRegCmds 宏的访问,该宏提供指向 ObjectARX 系统 AcEdCommandStack 对象的指针。vlax-add-cmd

该函数自动将命令分配给命令组。从文档命名空间发出命令时,将命令添加到名为 doc-ID 的组;doc-ID 是标识文档的十六进制值。如果从单独的命名空间 VLX 发出,则将命令添加到名为 VLC-Ddoc-IDVLX-name 的组中,其中 VLX-name 是发出的应用程序的名称。vlax-add-cmdvlax-add-cmdvlax-add-cmdvlax-add-cmd

建议您使用单独命名空间 VLX 中的函数。然后,应使用 AutoCAD APPLOAD 命令显式加载 VLX,而不是将其放置在其中一个启动 LISP 文件中。vlax-add-cmd

注意:
  • 不能用于公开创建 reactor 对象或用作 reactor 回调的函数。vlax-add-cmd
  • AutoCAD LT 和 Web 支持此功能,但不会影响程序。

例子

以下示例中的函数没有 c: 前缀,但在 AutoCAD 命令提示符下将其显示为 ObjectARX 样式的命令:hello-autocadvlax-add-cmd

(defun hello-autocad () (princ "hello Visual LISP"))
HELLO-AUTOCAD

(vlax-add-cmd "hello-autocad" 'hello-autocad)
"hello-autocad"

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2025-3-28 16:31

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部