ajax30 发表于 2022-7-5 17:29:14

我最初的想法,让说“重命名层”来自“块重命名”,这正是我想要的,除了重命名块,而不是层。。。过了一段时间,我明白了我错得很厉害,即使没有编程技巧,我也可以简单地将其修改为“重命名层”

nod684 发表于 2022-7-5 17:33:47

 
尝试了这个。。。它正在工作,但如果我希望使用带有空格的层名称,该怎么办?
如果我使用空格键,它将结束例程。

Tharwat 发表于 2022-7-5 17:37:15

 
您是否尝试在函数getstring之后添加t,以允许您的字符串输入有一个空格?

nod684 发表于 2022-7-5 17:38:38

 
非常感谢Tharwat!

Tharwat 发表于 2022-7-5 17:42:19

 
不客气

VVA 发表于 2022-7-5 17:44:29

 
谢谢李。
我编辑#8
考虑到nod684的意愿,增加了一层对话选择

ajax30 发表于 2022-7-5 17:47:23

VVA,
经过测试,效果良好!谢谢

ajax30 发表于 2022-7-5 17:52:56

是否可以为层的新副本自动添加一些后缀?
 
你想复制第01层
当它要求新的层名称而不是
新层名称:
 
可能是
新层名称:

VVA 发表于 2022-7-5 17:55:49

新版本Test1。需要#8中的一些函数

(defun C:test1 ( / _nl _l suff )
(vl-load-com)
(setq suff "_temp")
(and
(setq _l
(listbox "Layer" "Select exist layer"
   ((lambda(l)(mapcar 'cons l l))(vl-remove-if-not 'snvalid (tablelist "LAYER")))
   1
   )
)
(setq _nl (getstring t (strcat "\nNew layer name <" _l suff ">:")))
(if (eq _nl "")(setq _nl (strcat _l suff)) t)
(snvalid _nl 0)
(if (make-copy-layer_nl _l) (setvar "clayer" _nl))
)
(princ)
)

ajax30 发表于 2022-7-5 17:59:28

VVA,
杰出的它工作得很好!
谢谢!
页: 1 [2]
查看完整版本: 复制/重命名层