MikeP 发表于 2022-7-6 09:07:22

创建层lisp

我确信这已经存在。有没有人能用lisp快速创建层。我需要它做的就是创建图层,然后问我想要什么颜色。

Lee Mac 发表于 2022-7-6 09:15:04

快速+肮脏:
 

(defun c:test ( / name color )
(while
   (or
   (not (snvalid (setq name (getstring t "\nSpecify Layer Name: "))))
   (tblsearch "LAYER" name)
   )
   (princ "\nLayer Name Invalid or Already Exists.")
)
(if (setq color (acad_colordlg 7 nil))
   (entmake
   (list
       (cons 0 "LAYER")
       (cons 100 "AcDbSymbolTableRecord")
       (cons 100 "AcDbLayerTableRecord")
       (cons 2 name)
       (cons 70 0)
       (cons 62 color)
   )
   )
)
(princ)
)

eldon 发表于 2022-7-6 09:22:06

 
为什么要存在lisp来完成这么简单的任务?可能有一个在那里,你无疑已经搜索过了。
 
如果在键盘上键入la,将出现“图层特性管理器”对话框。
 
如果你想在命令行中完成这一切,那么你可以键入-la,然后选择选项M来创建一个新层(这将是当前层),选择选项C来选择颜色,以及更多选项。
 
为什么要寻找Lisp程序

MikeP 发表于 2022-7-6 09:24:16

为什么这种情况一直发生?我无法加载Lisp程序。我使用APPLOAD加载我重命名为“Make Layer”的新lisp。但在我加载后,它说
 
“成功加载了Make Layer.lsp。
命令:
程序错误
重置环境;错误:*错误*内发生错误
functionbad参数类型:consp nil“
 
当我输入key命令时。它告诉我未知命令“NL”。按F1键获取帮助。"

Lee Mac 发表于 2022-7-6 09:32:43

听起来您加载了一个LISP,它错误地重新定义了*error*函数。

MikeP 发表于 2022-7-6 09:38:01

那么我该如何排除故障呢?

Lee Mac 发表于 2022-7-6 09:42:53

 
打开VLIDE,转到调试>出错时中断(选中)
 
执行导致错误的操作。
 
发生错误后:
 
调试>上次中断源
 
然后通过转到以下位置重置环境:
 
调试>重置为顶层
调试>出错时中断(取消选中)

alanjt 发表于 2022-7-6 09:49:23

这已经在我的创业文件中很多年了。。。
 
(defun c:LM () (command "-layer" "make" ) (princ))

MikeP 发表于 2022-7-6 09:51:32

 
嗯,是的,我不知道这个调试是怎么工作的。如何“执行操作”我的操作是在appload中加载lisp

Lee Mac 发表于 2022-7-6 09:57:28

 
然后这样做。
页: [1] 2
查看完整版本: 创建层lisp