检查图纸是否正确
大家好。。。我只是想知道是否有一种方法可以在不打开图形的情况下检查图形中是否存在外部参照。检查整个文件夹并列出哪个图形具有外部参照。
原因是什么?通常我们使用e-transmit绑定多个图形,并且知道e-transmit命令;如果有一个卸载/无差异的图形,它将跳过该文件并转到下一个文件。
日志报告也被删除,我们无法跟踪每个图形中是否有外部参照,只能逐个打开。
这能做到吗? 我不使用设计中心,但我怀疑有一种简单的方法,
如果我想这样做,我会从这里开始。 使用“设计中心”、“搜索”、“左上角”“拾取外部参照”进行查找,然后从那里继续。
感谢rkent填补空白,我知道这是从你之前描述的帖子开始的,
我在读了你的帖子后试了一下,印象非常深刻,这确实是一个很好的资源。 这个过程可以翻译成lisp吗? 尝试此操作,确保所选目录中没有打开的文件。
(defun c:xct()
(vl-load-com)
(setq dir (vl-directory-files (setq dirname (strcat (vl-filename-directory(getfiled "Open file" (getvar "dwgprefix") "dwg" 4) ) "\\")) ))
(foreach file dir
(if (and (/= file ".") (/= file ".."))
(progn
(setq odbx (vla-GetInterfaceObject (vlax-get-acad-object) (strcat "ObjectDBX.AxDbDocument." (itoa (atoi (getvar "AcadVer"))))))
(vla-open odbx (strcat dirname file))
(setq st "" n 0)
(vlax-for item (vla-get-Blocks odbx)
(if (= (vla-get-IsXRef item) :vlax-true)
(setq st (strcat st (vla-get-Name item) "; ")
n (1+ n))
)
)
(if (/= st "")
(princ (strcat "\nFile " (vla-get-Name odbx) " has " (itoa n) " Xref" (if (> n 1) "s" "") " : " st)))
(vlax-release-object odbx)
)
)
)
(textscr) (princ)
)
很抱歉回复太晚。。。
我收到这个错误
; error: Automation Error. Description was not provided.
你能上传一些有外部参照并且出错的文件吗? 作为lisp的替代方法。
使用参考管理器。转到windows start,查找autodesk文件夹,在这里可以找到名为reference manager的程序。找到要检查的图形,它将列出图形中引用的所有项目。如果按类型排序,您将看到哪些图形中有外部参照(如果有)。 7o7小时
之所以出现这个错误,是因为OP在同一个文件夹中可能有其他Autocad格式的文件,所以为了解决这个错误,我会这样重写它。
(setq dir (vl-directory-files (setq dirname (strcat (vl-filename-directory(getfiled "Open file" (getvar "dwgprefix") "dwg" 4) ) "\\")) "*.dwg" 1))
页:
[1]