ctrlaltdel 发表于 2022-7-5 17:31:58

写了一个小口齿不清的单词

读一点LISP。
 
编写了这个小程序,但有错误。
 
怎么了?
 
(defun c:LAYERISOLATE ()
(command "-LA" "OFF" "*DELETED*,*DEL*" "")
(princ)
)

Artek 发表于 2022-7-5 17:41:47

你好
 
我认为您需要将该行更改为:
 
(command "-LAYER" "OFF" "*DELETED*,*DEL*" "" "")

Happy Hobbit 发表于 2022-7-5 17:42:04

您要关闭哪些层?删除(&D)?

ctrlaltdel 发表于 2022-7-5 17:48:44

谢谢你,先生。我的Lisp程序现在开始了。
 

ctrlaltdel 发表于 2022-7-5 17:52:17

哈哈。我将重复删除。
 

Artek 发表于 2022-7-5 17:58:58

 
不客气。

David Bethel 发表于 2022-7-5 18:05:40

作为良好的编码实践,我建议使用完整的命令名和通用选项
 
此外,大多数参数可以使用通用选项
 

(command "_.LAYER" "_Off" .....)

 
周期绕过重新定义的命令
 
下划线表示所有AutoCAD版本的语言
 
破折号不是必需的,也不是必须的
 
-大卫

ctrlaltdel 发表于 2022-7-5 18:11:31

谢谢大卫先生的建议。你能帮我回答这个问题吗。
 
(defun c:command ()
 
在()中,我看到一些命令改为(/)。为什么?
 

pkenewell 发表于 2022-7-5 18:14:49

ctrlaltdel,
 
 
(defun)语法后括号中的“/”用于将函数参数与局部变量声明分离。
 
 
例子:
严格来说,在没有局部变量可声明的函数中不需要“/”。事实上,如果没有参数或局部变量,可以使用NIL来代替空的“()”。

ctrlaltdel 发表于 2022-7-5 18:18:15

谢谢你,先生。
 
页: [1] 2
查看完整版本: 写了一个小Lisp程序的单词