我前一段时间研究过这个问题,并提出了这个令人讨厌的lisp来分离/审核/绑定/清除所有内容。它可以处理嵌套的、未加载的和未解析的外部参照。必须放置名为dummy的空白dwg。dwg在您的搜索路径文件夹之一,它的工作。
在此处查看我的帖子:
http://www.cadtutor.net/forum/showthread.php?t=13141
- (defun C:SENT ( / )
- (defun *error*(msg)
- (setvar "modemacro" ".")
- (setvar "bindtype" oldBnType)
- (setvar "cmdecho" 1)
- (princ "\n...Audit/Bind/PurgeAll terminated!!! ")
- (princ)
- ); end of *error*
- (setvar "modemacro" "Audit/Bind/PurgeAll processing......please wait......")
- (setvar "cmdecho" 0)
- (prompt "\n--- Audit/Bind/PurgeAll......please wait---")
- (prompt "\nAuditing...")(terpri)
- (command "_audit" "y")
- (bind_xrefs)
- (prompt "\nPurging #1")(terpri)
- (command "-purge" "a" "*" "N")
- (prompt "\nPurging #2")(terpri)
- (command "-purge" "a" "*" "N")
- (prompt "\nPurging #3")(terpri)
- (command "-purge" "a" "*" "N")
- (prompt "\n--- Audit, Bind, PurgeAll completed! ---")
- (setvar "modemacro" ".")
- (setvar "cmdecho" 1)
- (princ)
- ); end of c:sent
- (defun bind_xrefs ( / CMD)
- (setq oldBnType(getvar "bindtype"))
- (setq CMD (getvar "CMDECHO"))
- (setvar "CMDECHO" 0)
- (setvar "bindtype" 0)
- (setq XLIST (xref-status))
- (if XLIST
- (progn
- (prompt "\nBinding all Xrefs...")
- (foreach n XLIST (rem-xref n))
- (command "-xref" "b" "*" )
- (prompt "...done")(terpri)
- )
- )
- (setvar "CMDECHO" CMD)
- (setvar "bindtype" oldBnType)
- (princ)
- )
- (defun rem-xref ( XL / XNAME XSTATUS )
- (setq XNAME (nth 0 XL))
- (setq XSTATUS (nth 2 XL))
- (if (= XSTATUS "UNLOADED")
- (rem_unload)
- )
- (if (= XSTATUS "UNRESOLVED")
- (rem_unload)
- )
- )
- (defun xref-status ( / d n f r)
- (while (setq d (tblnext "block" (null d)))
- (cond
- (
- (eq 4 (logand 4 (cdr (assoc 70 d))))
- (setq
- d (entget (tblobjname "block" (cdr (assoc 2 d))))
- n (cdr (assoc 2 d))
- p (cdr (assoc 3 d))
- f (cdr (assoc 70 d))
- )
- (setq r
- (cons
- (list n p
- (cond
- ( (eq 32 (logand 32 f)) "LOADED")
- ( (assoc 71 d) "UNLOADED")
- ( t "UNRESOLVED")
- )
- )
- r
- )
- )
- )
- )
- )
- (reverse r)
- )
- (defun rem_unload ( / )
- (setq DFILE (findfile "dummy.dwg"))
- (if (not DFILE)
- (prompt "\nCannot find dummy_xref drawing ")
- (progn
- (command "-xref" "p" XNAME DFILE)
- (command "-xref" "r" XNAME)
- )
- )
- )
|