这对我来说很有用:
- (defun c:FOO (/ path)
- (vl-load-com)
- (vla-startundomark
- (cond (*activeDoc*)
- ((setq *activeDoc*
- (vla-get-activedocument (vlax-get-acad-object))))))
- (vlax-for x (vla-get-blocks *activeDoc*)
- (if (and (vlax-property-available-p x 'isxref)
- (= :vlax-true (vla-get-isxref x)))
- (vla-put-path
- x
- (strcat (vl-filename-base (setq path (vla-get-path x)))
- (vl-filename-extension path)))))
- (vla-endundomark *activeDoc*)
- (princ))
编辑-如果不喜欢使用参照管理器,可以将上面发布的代码中的vlax for语句(稍作调整)应用于ObjectDBX函数,该函数将遍历特定项目目录中的所有图形,并对每个图形的“模型”布局的块对象进行此更改(如果适用)(假设外部参照以毫秒为单位)。
希望这有帮助! |