马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
一个VLISP的批量处理范例从这个范例可以了解VLISP批量处理图档
虽然速度慢了点,但非常实用
- [FONT=courier new]
- ;;一个VLISP的批量处理范例
- ;;从这个范例可以了解VLISP批量处理图档
- ;;虽然速度慢了点,但非常实用
- ;;By LUCAS(龙龙仔)
- ;;从文件移除未使用之具名参考
- ;;
- ;;虽配合Expresstools__(acetutil.arx)
- ;;为加度程序执行,程序将设定系统变量ACADLSPASDOC
- ;;即<只载入 acad.lsp 至 AutoCAD 执行期所开启的第一个图面>
- ;;当然程序结束后,会还原系统变量ACADLSPASDOC
- ;;
- ;;Usage: (PURGEALL <循环次数>)
- ;;command: (PURGEALL 5)
- (arxload "acetutil.arx" NIL)
- (vl-load-com)
- (defun PURGEALL (TIMES / HOLDECHO APP DWGNAME PREFIX_DWG NN QQ HOLDLSP
- WW)
- (setq HOLDECHO (getvar "cmdecho"))
- (setvar "cmdecho" 0)
- (setq PREFIX_DWG
- (strcat
- (strcase (acet-ui-pickdir
- ;; "选择目录"
- ;;(vl-string-right-trim "\" (getvar "dwgprefix"))
- ;;"移除未使用之具名参考"
- )
- )
- "\"
- )
- )
- (setq HOLDLSP (getvar "ACADLSPASDOC"))
- (setvar "acadlspasdoc" 0)
- (setq QQ (vl-directory-files PREFIX_DWG "*.DWG"))
- (setq NN 0)
- (if (/= QQ NIL)
- (progn
- (setq APP (vlax-get-acad-object))
- (repeat (length QQ)
- (setq DWGNAME (strcase (strcat PREFIX_DWG (nth NN QQ))))
- (setq WW (vla-open (vla-get-documents APP) DWGNAME))
- (repeat TIMES (vla-purgeall WW))
- (vla-save WW)
- (prompt (strcat "\n" DWGNAME " !!!"))
- (vla-close WW :vlax-false)
- (setq NN (1+ NN))
- )
- (vlax-release-object WW)
- (vlax-release-object APP)
- )
- (prompt "\n所选目录中未有任何图档!!!")
- ))
|