本帖最后由 作者 于 2008-9-24 12:47:15 编辑
(defun c:ZHL_QC ( / app doc docs err errtmp file files newpath old_acadlspasdoc old_cmdecho path sset) ;(alert "执行完操作后请保存文件(覆盖原文件)!") (defun getFolder (str_title str_prompt /) (strcat (vl-string-right-trim "\\" (strcase (acet-ui-pickdir str_prompt (vl-string-right-trim "\\" (getvar "dwgprefix")) str_title) ) ) "\\" ) ) (defun makeDirectory (dir / ) (vl-mkdir dir) ) (defun userundo () (setq *error* errtmp) (vlax-release-object docs) (vlax-release-object app) (setvar "cmdecho" old_cmdecho) (setvar "acadlspasdoc" old_acadlspasdoc) (princ) ) (defun err (msg) (userundo) ) (setq errtmp *error*) (setq *error* err) (setq old_cmdecho (getvar "cmdecho")) (setvar "cmdecho" 0) (setq old_acadlspasdoc (getvar "acadlspasdoc")) (setvar "acadlspasdoc" 0) (setq app (vlax-get-acad-object)) (setq docs (vla-get-documents app)) (setq path (getFolder "请选择目录..." "请选择目录:")) (setq files (vl-directory-files path "*.dwg" 1)) (if files (progn (setq newpath (strcat path "无用的临时文件\\")) (makeDirectory newpath) (foreach file files (setq doc (vla-open docs (strcat path file))) (setq sset (vla-get-activeselectionset doc)) (vla-export doc (strcat newpath file) "dxf" sset) 下面这三行运行不了,我想达到的效果是:打开"无用的临时文件\\"里所有DXF,另存到 "path\\" 替代所有DWG文件,如何才能达到?请教高手。 (setq files1 (vl-directory-files newpath "*.dxf" 1)) (setq doc1 (vla-open docs (strcat newpath file1))) (vla-save doc1) (vla-close doc :vlax-false) (vlax-release-object doc) ) ) (alert "所选目录无 .dwg 文件!请重新选择:") ) (userundo) (setq *error* errtmp) (princ) ) |