在新文件夹中更改外部参照路径
嗨,朋友们我需要LISP更改所有图形中的外部参照(从一个文件夹到另一个文件夹-位置路径更改)。有时,我复制的文件夹(xref)显示在旧的xref中,很难从(位于)xref对话框中更改所有DWG。
提前谢谢
文基 你试过Reference Manager工具吗?
当做
米尔恰 我只使用acad2004。请发送LISP加急,bcoz我需要更改82个DWG
谢谢 您可以在这里和这里找到一些AutoLISP方法。
当做
米尔恰 请查找外部参照LISP错误。我附上了图像文件。我需要更改服务器文件夹中的外部参照
谢谢
看看这是否适合你
已更新
(defun c:FindMe (/ LM:FindFile Blks blk NewPath XrefFile)
(vl-load-com)
(defun LM:FindFile ( file directory )
(cond
( (findfile (strcat (setq directory (vl-string-right-trim "\\" directory)) "\\" file)) )
(
(vl-some
(function
(lambda ( dir )
(LM:FindFile file (strcat directory "\\" dir))
)
)
(vl-remove "." (vl-remove ".." (vl-directory-files directory nil -1)))
)
)
)
)
(setq Blks (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))))
(while (setq blk (tblnext "block" (not blk)))
(if (and (= 4 (logand 4 (cdr (assoc 70 blk))))
(setq NewPath
(LM:FindFile
(strcat (cdr (assoc 2 blk))
".dwg")
"Y:\\VENKI\ST11\\"))
)
(progn (setq XrefFile (vla-item Blks (cdr (assoc 2 blk))))
(vla-put-path XrefFile NewPath)
(vla-reload XrefFile))
)
)
)
容器文件夹是代码查找图形上现有外部参照名称的位置。外部参照名称应与以前相同,只是路径不同。
感谢LeeMac的LM:FindFile例程 干杯pBe
******************************
晚上好
仍然无法使用你的Lisp,我需要在绘图新文件夹中更改外部参照吗
我附上了图纸(程序),供您参考,需要我。
谢谢
文基
外部参照路径问题。图纸 你换了这个吗
“P:\\SERVER\u PATH\\CONTAINER\u FOLER\”
到
“Y:\\VENKI\ST11\”
编辑:我刚想到一件事,外部参照当前在图形上,但你想重新定位?
我认为没有找到外部参照,因此(=(cdr(assoc 70 blk))12)
请参阅更新的代码
既然你知道文件的位置:
(defun c:FindMe(/ Blks blk pth XrefFile)
(vl-load-com)
(setq Blks (vla-get-blocks
(vla-get-activedocument
(vlax-get-acad-object))))
(while (setq blk (tblnext "block" (not blk)))
(if (and (= 4 (logand 4 (cdr (assoc 70 blk))))
(wcmatch
(setq cp (cdr (assoc 1 blk)))
"*\\VENKI\\ST10*")
)
(progn (setq fn (fnsplitl cp))
(vl-mkdir
(setq pth(strcat (vl-string-subst
"ST11"
"ST10"
(car fn)))))
(vl-file-copy
cp
(setq pth (strcat pth
(cadr fn)
(caddr fn))))
(setq XrefFile
(vla-item
Blks
(cdr (assoc 2 blk))))
(vla-put-path XrefFile pth)
(vla-reload XrefFile))
)
)
)
否则,使用第一个代码挖掘子文件夹。
编辑:
代码更新:包括文件副本。
*************************
你好
晚上好
我很感激花时间处理这个问题,很抱歉,仍然无法工作。我会检查你发送的最新更新的LISP,然后是服务器路径文件夹ST11
“Y:\\VENKI\ST11\”)
下面显示错误&我附加了您上次更新的lisp
命令:findme
findme无
好的,我再解释一遍。我需要将ST10文件夹复制到同一服务器的ST11中,文件夹内的图形(ST11)需要在同一文件夹(ST11)中显示外部参照。
谢谢
文基
Findme。lsp
页:
[1]
2