马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 Lisphk 于 2016-11-23 10:12 编辑
;;; APQC.LSP, Audit-->Purge-->Qsave-->Close
;;; Mehre Taban Co., Mehrdad Ahankhah, www.irancad.com, ahankhah@irancad.com
(vl-load-com)
(defun C:APQC ()
(MT:Do:Audit)
(MT:Do:PurgeAllNested)
(if (MT:Do:Qsave)
(MT:Do:CloseDwg)
)
)
(defun MT:Do:Audit () (command "_.Audit" "y" ""))
(defun MT:Do:PurgeAllNested (/ Cont)
(princ "\nPurging unused objects...\n")
(setq Cont T)
(while Cont
(MT:Do:PurgeALL)
(if (zerop (boole 1 1 (getvar 'Dbmod)))
(progn (acad-pop-dbmod) (setq Cont nil))
(progn (acad-pop-dbmod)
(if (not (zerop (getvar 'Dbmod)))
(progn (MT:Do:Qsave) (acad-pop-dbmod))
)
(princ "\n\tPurging unused nested objects...")
) ; if false
) ; if
) ; while
(princ "\nPurging unused objects done.\n")
)
(defun MT:Do:PurgeALL ()
(vla-PurgeAll
(vla-get-ActiveDocument
(vlax-get-acad-object)
)
); Visual Lisp version
;;(command "_.PURGE" "_All" "*" "_No"); AutoLISP version
)
(defun MT:Do:Qsave (/ ret)
(if (zerop (getvar "Dwgtitled"))
(progn (alert "Drawing has no name, QSAVEing is not probable.")
(setq ret nil)
)
(progn (command "_.QSAVE") (setq ret T))
)
ret
)
(defun MT:Do:CloseDwg ()
(command "_.CLOSE")
(and (= 1 (getvar 'cmdactive)) (command "_Yes"))
)
(C:APQC)
|