请教:CAD中如何完成图块替换,我知道可以通过重新定义相同的图块名来替换调图中某一同名的所有图块。但是,比如图中共50个同名图块,某一区域的25需要替换成另一图块,重定义就不行,请教有没有快捷的办法?
请教:CAD中如何完成图块替换,我知道可以通过重新定义相同的图块名来替换调图中某一同名的所有图块。
但是,比如图中共50个同名图块,某一区域的25需要替换成另一图块,重定义就不行,请教有没有快捷的办法?
2楼
把你的某一区域的用写块命令另存成一个文件,重定义后,把图块改名(直接用ren即可),然后在原有文件中删另存的一部分,再刚才另存的文件插入到原有位置。
回复
3楼
楼上这个方法非常好,以前经常遇到这个问题,不会用REN这个命令.
回复
4楼
是呀,一般的时候REN命令很用到,使用起来特别方便,ren命令不仅可以改图块名,还可改文字样式、标注样式、图层、视口、线型、UCS等的名称。。。
回复
5楼
(defun C:RB (/ SE1 N A0 BN E0 E1)
(prompt "\n选择要替换的图块: ")
(setq SE1 (ssget '((0 . "INSERT")))
)
(if SE1
(progn
(setq BN (getstring "\n来源图块名称/: "))
(if (= BN "")
(progn
(while (= A0 NIL)
(prompt "\n选取来源图块: ")
(setq A0 (ssget ":S" '((0 . "INSERT"))))
)
(setq BN (cdr (assoc 2 (entget (ssname A0 0)))))
)
)
(command "_.insert" BN (command))
(setq N 0)
(repeat (sslength SE1)
(setq E0 (ssname SE1 N)
E1 (entget E0)
)
(setq E1 (subst (cons 2 BN) (assoc 2 E1) E1))
(entmod E1)
(entupd E0)
(setq N (1+ N))
)
)
)
(princ)
)
保存成lsp文件 加载 使用rb命令可以替换块
回复
6楼
还有就是使用 blockreplace 命令 但是最好是 cad 完全安装
回复