结合文件n重命名层
你好我有136个文件名为stope_1。dxf,stope_2。dxf等,每个文件都有名为1\u obj\u 1\u tris\u 1、1\u obj\u 2\u tris\u 1、1\u obj\u 3\u tris\u 1等的层。其中只有层名称中的对象编号区分层。我需要将文件名添加到图层名中,以便每个图层都不同,最后我会在第一个图形中使用类似的内容:stope1\u obj\u 1\u tris1、stope1\u obj\u 2\u tris1等,然后在下一个图形中使用:stope2\u obj\u 1\u tris1、stope2\u obj\u 2\u tris1等。我可以将它们全部添加到一个图形中,并创建dxf以用于挖掘软件程序。
我可以对层进行全局重命名,但我不知道如何将一些东西放在一起,这样我就可以一次性完成。任何帮助都将不胜感激。
谢谢
辛迪·沃克 像这样的?
(defun c:Test (/ l d n e)
(while (setq l (tblnext "LAYER" (not l)))
(setq d (getvar 'dwgname))
(if
(not
(tblsearch
"LAYER"
(setq
n (strcat (substr d 1 (- (strlen d) 4)) (cdr (assoc 2 l)))
)
)
)
(entmod
(subst
(cons 2 n)
(assoc 2
(setq e (entget (tblobjname "LAYER" (cdr (assoc 2 l)))))
)
e
)
)
)
)
(princ)
)
是的,这几乎是完美的。有没有办法在文件名和图层名之间加下划线或破折号? 有没有办法自动运行lsp例程?
是的,当然,你可以这样自己添加:
(strcat (substr d 1 (- (strlen d) 4)) "_" (cdr (assoc 2 l)))
是的,当然,在之前发布的程序末尾添加以下内容。
(c:Test)
非常感谢,这正是我需要的。我将把它封装在一个脚本或其他东西中,自动打开我的所有文件,加载lsp例程,保存并关闭文件。
不客气。
祝你好运
页:
[1]