批量recover插件
本帖最后由 guohq 于 2023-11-17 20:33 编辑程序代码
(vl-load-com)
(defun c:BatRecover(/ DwgDir DwgFiles DwgFile)
(setvar "OSMODE" 0)
(setvar "sdi" 1)
(setvar "lispinit" 0)
(setq DwgDir (SelectFolder "选择目录"))
(setq DwgFiles (vl-directory-files DwgDir "*.dwg"))
(foreach DwgFile DwgFiles
(command "recover" (strcat DwgDir "\\" DwgFile))
(vl-cmdf "qsave")
)
(setvar "sdi" 0)
(setvar "lispinit" 1)
(vl-cmdf "close")
)
(defun SelectFolder( Title / ShellApp Folder Result)
;Title 表示选择文件对话框的标题
;https://docs.microsoft.com/en-us ... ell-browseforfolder
(setq Result nil)
(setq ShellApp (vlax-create-object "Shell.Application"))
(setq Folder (vlax-invoke-method ShellApp 'BrowseForFolder 0 Title 1))
(if Folder
(setq Result (vlax-get-property (vlax-get-property Folder 'Self) 'Path))
)
(vlax-release-object ShellApp)
Result
)
将需要修复的DWG文件保存于同一文件夹下(注意:不要放到某个盘的根目录下),BatRecover 命令,选择相应的文件夹。
备注:批处理部分的代码参照了lq8000写的批处理工具。
批量DWG - AutoCAD与GIS测绘 - AutoCAD论坛 - 明经CAD社区 - ACET - Powered by Discuz! (mjtd.com)
guohq 发表于 2023-12-23 21:28
你的CAD是哪个版本?我是在AutoCAD2020上写的,当时测试没有问题。
我用cad 2021和2023
可以上传一个编辑好的lsp文件吗?
也有可能是我复制粘贴代码出错的问题 jh3030912 发表于 2023-12-23 19:16
怎么提示出错提示: 输入的列表有缺陷?
你的CAD是哪个版本?我是在AutoCAD2020上写的,当时测试没有问题。 guohq 发表于 2023-12-23 21:27
我也不知道能修复啥,说白了就是批量执行recover 命令
已经解决了,就是复制粘贴代码的原因。 之前看到过别人遇到这个问题,居然还有能修复的源码 这两个变量第一次知道 能跨文档保留函数 真不错 那这操作空间岂不是就很大了 能做很多事情 请教楼主这样做对吗
修复啥的啊 感谢大佬分享
感谢大佬分享 感谢楼主分享 修复批量文档,给力! 感谢无私分享
页:
[1]
2