CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

关于定义命令(AutoLISP)

2023-1-8 12:48| 发布者: admin| 查看: 672| 评论: 0|来自: AutoCAD

摘要: 可以使用 defun 函数定义新命令,也可以在函数名称前面加上 c: 来定义新命令。

可以使用函数定义新命令,也可以通过在函数名称前面加上 来定义新命令。defunc:

可以直接从 AutoCAD 命令提示符访问前缀的函数,并用于重新定义 AutoCAD 命令。c:

定义为命令的函数不应直接接受参数,而应使用其中一个函数获取命令的输入。getXXX

下面定义了一个名为 的函数。此函数显示一条简单的消息。HELLO

(defun HELLO () (princ "\nHello world.") (princ))
HELLO

可以从 AutoCAD 命令提示符或 AutoLISP 程序发出函数。通过输入以下命令,可以从AutoCAD命令提示符调用该函数:HELLO

命令:(hello)

世界您好。

该函数必须用括号括起来,因为它未定义为命令。在AutoCAD Command提示符下输入不带括号的输入将返回以下错误消息:HELLOHELLO

未知命令“HELLO”。按 F1 寻求帮助。

在函数名称的前面添加 c: 会导致函数被声明为命令,然后可以在 AutoCAD 命令提示符下输入,而无需用括号括起来。例如:HELLO

(defun C:HELLO () (princ "\nHello world.") (princ))
C:HELLO

虽然被声明为命令,但它也是一个 AutoLISP 函数。现在可以在AutoCAD命令提示符下输入该命令,如下所示:HELLO

命令:hello

世界您好。

该命令也可以透明地使用,因为它不会调用命令函数。在AutoCAD命令提示符下,可以执行以下操作:HELLO

命令:line

从点上说:“你好

世界您好。

从点:

如果将 AutoLISP 函数声明为命令,则可以通过用括号括起来将整个函数名称括起来,从 AutoLISP 程序调用该命令。例如:

(c:hello)
注意:如果在 Windows 发行版中使用 Visual LISP 编辑器,则控制台窗口无法识别 AutoCAD 命令。必须用括号将函数名称括起来。

通常不能使用 AutoLISP 语句来响应来自 AutoLISP 实现的命令的提示。但是,如果您的 AutoLISP 例程使用该函数,则可以将任意键盘输入与某些函数一起使用。这允许 AutoLISP 实现的命令接受 AutoLISP 语句作为响应。此外,DIESEL 表达式返回的值可以对当前图形执行一些计算,并将这些值返回给 AutoLISP。initget


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部