 - (defun c:2 (/ es en el i fl clay )
- (princ "关闭其他")
- (setq es nil)
- (setq es (ssget)
- i 0
- en ""
- el nil
- fl nil)
- (while (/= en nil)
- (setq en (ssname es i)
- el (cons en el)
- i (1+ i)
- )
- )
- (setq el (cdr el)
- fl (cdr (assoc ' 8 (entget (car el))))
- clay fl
- el (cdr el))
- (repeat (- i 2)
- (setq en (cdr (assoc ' 8 (entget (car el))))
- fl (strcat en "," fl)
- el (cdr el)
- )
- )
- (command "layer" "off" "*" "Y" "on" (eval fl) "")
- (setvar "clayer" clay )
- (princ))
这个是别人写的代码,自己也都读懂了,也在用。但用的时候经常会出现问题,出现问题后重启AutoCAD就又正常了。
出现的问题提示是“无效的选项关键字”。调试的时候是在 (command "layer" "off" "*" "Y" "on" (eval fl) "")这句出问题,在AutoCAD出问题后,在Command命令行里输入-layer off * 但在Y这里就出现问题了,没有Y这个选项。
将"Y"移出后,插件又正常工作。
但重新启动后修改的插件不能正常工作。
能否有人帮忙看一下是哪里出的问题?应该如何解决问题,谢谢!!!
|