可以使用函数和通过在函数名称前面加上前缀来定义新命令。defunc: 前缀为前缀的函数可以直接从 AutoCAD 命令提示符下访问,并用于重定义 AutoCAD 命令。c: 定义为命令的函数不应直接接受参数,而应使用其中一个函数获取命令的输入。getXXX 下面定义了一个名为的函数。此函数显示一条简单的消息。HELLO (defun HELLO () (princ "\nHello world.") (princ)) HELLO 可以从 AutoCAD 命令提示符或 AutoLISP 程序发出函数。可以通过输入以下内容从AutoCAD命令提示符下调用该函数:HELLO 命令:(你好) 世界您好。 该函数必须括在括号中,因为它未定义为命令。在 AutoCAD 命令提示符下输入不带括号,将返回以下错误消息:HELLOHELLO 未知命令“你好”。按 F1 寻求帮助。 在函数名称的前面添加 c: 会导致函数被声明为命令,然后可以在 AutoCAD 命令提示符下输入,而无需用括号括起来。例如:HELLO (defun C:HELLO () (princ "\nHello world.") (princ)) C:HELLO 虽然声明为命令,但它也是一个 AutoLISP 函数。现在可以在 AutoCAD 命令提示下输入该命令,如下所示:HELLO 命令:你好 世界您好。 该命令也可以透明地使用,因为它不调用命令函数。在AutoCAD命令提示符下,您可以执行以下操作:HELLO 命令:行 从点:'你好 世界您好。 从点: 如果将 AutoLISP 函数声明为命令,那么可以通过用括号将整个函数名称括起来,从 AutoLISP 程序调用该命令。例如: (c:hello) 注意:如果在 Windows 发行版中使用可视 LISP 编辑器,则“控制台”窗口无法识别 AutoCAD 命令。必须用括号将函数名称括起来。
通常不能使用 AutoLISP 语句来响应来自 AutoLISP 实现的命令的提示。但是,如果您的 AutoLISP 例程使用该函数,则可以对某些函数使用任意键盘输入。这允许 AutoLISP 实现的命令接受 AutoLISP 语句作为响应。此外,DIESEL 表达式返回的值可以对当前图形执行一些计算,并将这些值返回到 AutoLISP。initget |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )
GMT+8, 2024-5-6 19:00
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.