遍历含有关键字的图层,以实现文件保存
本帖最后由 dakui 于 2019-10-20 12:13 编辑下面是 ZZXXQQ版主的源码,希望朋友帮忙修改一下。
实现目的:遍历含有特定文字的图层,以实现保存文件。
比如:
某个文件中含有图层名字 0,1G,2G,3G,1T,2T,3T,5F,6,F7...
遍历含有”G”图层,按层保存文件。
;按层存文件 明经 ZZXXQQ 2011.1.6
(defun c:tt ()
(setvar "CMDECHO" 0)
(setq lnm nil)
(while(setq lnm (tblnext "LAYER" (not lnm)));这个部分如何修改?
(if (setq ss (ssget "X" (list (cons 8 (cdr(assoc 2 lnm))))))
(command ".WBLOCK" (strcat "NewLayer=" (cdr(assoc 2 lnm))) "" "0,0" ss "")
)
)
(setvar "CMDECHO" 1)
(princ)
)
(defun c:tt ()
(setvar "CMDECHO" 0)
(setq lnm nil)
(while (setq lnm (tblnext "LAYER" (not lnm)));这一句不用改
(if (and (wcmatch (cdr (assoc 2 lnm)) "*G*")(setq ss (ssget "X" (list (cons 8 (cdr(assoc 2 lnm)))))));改这一句
(command ".WBLOCK" (strcat "NewLayer=" (cdr(assoc 2 lnm))) "" "0,0" ss "")
)
)
(setvar "CMDECHO" 1)
(princ)
)
叮咚 发表于 2019-10-20 14:02
这种修改方式的话,会遍历所有图层 叮咚 发表于 2019-10-20 14:02
测试了一下,提升了不少速度,谢谢朋友把问题解决了。 又学一招哦
页:
[1]