The Courage Dog 发表于 2022-7-6 11:32:31

批量重命名布局

您好,我正在处理数千个图纸,每个图纸上的布局名称不一致,我想使其标准或统一,其想法是根据图纸的文件名重命名布局名称(即,如果图纸文件名为A100.dwg,则布局名称应为A100)。顺便说一句,我们所有的图纸只包含一(1)个布局。是否有lisp例程可以批量重命名数千或数百个图纸图形,而不逐个打开?
 
非常感谢你的帮助。
 
提前谢谢。
勇气犬。

alanjt 发表于 2022-7-6 12:01:27

挖掘Lee的批处理编辑器程序并应用此函数。。
 
(defun NameToLayout (Doc)
(vlax-for x (vla-get-layouts Doc)
   (vl-catch-all-apply 'vla-put-name (list x (vl-filename-base (getvar 'dwgname))))
) ;_ vlax-for
) ;_ defun

Lee Mac 发表于 2022-7-6 12:05:11

此处的批处理程序:
 
http://www.theswamp.org/index.php?topic=31827.0
 
您需要在Alan的代码中添加一个vla save/vla saveas。此外,在包含保存的情况下,请记住,在下次手动保存之前,缩略图将丢失。

alanjt 发表于 2022-7-6 12:23:07

英雄联盟
这可能会有所帮助。
李,你能在ODBX期间执行(布局列表)吗?如果是这样,这可能会快一点。
 
(defun NameToLayout (Doc)
(vl-catch-all-apply
   'vla-put-name
   (list (vla-item (vla-get-layouts Doc) (car (layoutlist)))
         (vl-filename-base (getvar 'dwgname))
   ) ;_ list
) ;_ vl-catch-all-apply
(vla-save Doc)
) ;_ defun

Lee Mac 发表于 2022-7-6 12:38:24

不确定,从未尝试过。。。
页: [1]
查看完整版本: 批量重命名布局