这个能用吧
 - (defun userundo()
- (setq *error* errtmp)
- (setvar "cmdecho" old_cmdecho)
- (setvar "acadlspasdoc" old_acadlspasdoc)
- (princ)
- )
- (defun err (msg) (userundo))
- (defun c:userwblock ( / app doc docs err errtmp file files newpath old_acadlspasdoc old_cmdecho path sset)
- (setq errtmp *error*)
- (setq *error* err)
- (setq old_cmdecho (getvar "cmdecho"))
- (setvar "cmdecho" 0)
- (setq old_acadlspasdoc (getvar "acadlspasdoc"))
- (setvar "acadlspasdoc" 0)
- (setq path (getFolder "请选择目录..." "请选择目录:"))
- (setq files (vl-directory-files path "*.dwg" 1))
- (if files (progn
- (setq newpath (strcat path "处理后的\\"))
- (setq scrfile (strcat newpath "batwblock.scr"))
- (vl-mkdir newpath)
- (setq fn (open scrfile "w"))
- (foreach file files
- (setq str (strcat "open \"" path file "\" wblock " newpath file " * qsave close"))
- (write-line str fn)(princ)
- )
- (close fn)
- )
- (alert "所选目录无 .dwg 文件!请重新选择:")
- )
- (command "script" scrfile)
- (userundo)
- (setq *error* errtmp)
- (princ)
- )
|