(defun c:test () (setq docs (vla-get-Documents (vlax-get-acad-object)) ) (vlax-for cendoc docs (vla-purgeall cendoc) (vla-save cendoc) (if (= (vla-get-active cendoc) :vlax-true) (vlax-for block (vla-get-blocks cendoc) (if (= (vla-get-isxref block) :vlax-true) (vla-reload block) ) ) (vla-close cendoc) ) ) )
这是我提供的代码,不过有下面两个限制:
1.只能重载当前活动窗口中的外部引用,本人试过很多次都无法重载其他窗口中的外部引用,不知道是本人的水平问题,还是ACAD本身的局限!
2.无法关闭当前活动窗口,我试过很多方法,都无法实现,除非直接退出ACAD,不知道还有没有其他方法! |