拆离未参照的外部参照
是否存在任何lisp拆离未引用的外部参照文件? 是的,我有一个,但它在工作。我稍后再发。 http://forums.augi.com/showthread.php?t=82705 实际上,我的代码是“分离、审计、绑定、清除所有内容”。如果您只希望代码拆离未引用的外部参照,那么删除audit和purge all很简单,但我不知道是否可以删除bind命令。除非有人可以修改lisp,使其仅绑定“那些未引用的外部参照”。这就是lisp的全部技巧,将未引用的外部参照重定位到空白图形并绑定空白图形。**要使此lisp正常工作,必须在搜索路径中放置一个名为“dummy.dwg”的空白图形**
(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)
)
)
)
你的lisp代码真的很好。
如何创建一个循环,使其能够将您的代码用于整个图形文件夹(大约20-30个图形)。
E、 q:选择文件夹并自动绑定所有图纸
谢谢你的回答 您可以使用ScriptPro(我更喜欢上标)并对所有DWG运行SENT命令。当我需要为客户端绑定一组DWG时,我就是这么做的。
谢谢你的回答,JeepMaster,很不幸,我不能在我的工作电脑上安装软件,因为我不是管理员。
谢谢
j3m公司 看一下使用。bat文件带有。scr文件,在脚本中只需运行lisp。
我之前在这里发布了一个示例,运行一个搜索,看看你是否能找到它,同时我会检查我的硬盘,看看我是否能找到我的模板。 如果在安装过程中检查了scriptpro,您的机器上可能已经安装了scriptpro,因为它与AutoCAD一起提供。如果没有,您可能仍然可以从Autodesk下载并安装,具体取决于您拥有的权限。我不是工作中的管理员,但仍然可以安装scriptpro。另一个选择是获取上标,这是一个自包含的exe程序。 Graet lisp。。非常感谢。
页:
[1]
2