如何查找替换块
请问有没有办法将选中的一些相同的块在各自的原来位置批量更换为同数量另一个块,就如同word文档的查找替换的功能一样? 用程序! Express Tools 里有个 "块替换" 功能的, 楼主可以看看. 我也没用过, 具体不了解 东西在那里? 加载后,输入REB命令(defun C:reb ( / ss BlkName ents i)
(setvar "osmode" 0)
(princ "\n请选择作为源块的图块:")
(setq ss (ssget (list (cons 0 "INSERT"))))
(setq BlkName (cdr (assoc 2 (entget (ssname ss 0)))))
(princ "\n请选择将替换的图块:")
(setq ss (ssget (list (cons 0 "INSERT"))))
(if ss
(progn
(setq i 0)
(repeat (sslength ss)
(setq ents (entget (ssname ss i)))
(setq ents (subst (cons 2 BlkName) (assoc 2 ents) ents))
(entmod ents)
(setq i (1+ i))
)
)
)
(princ)
) 谢谢侠客的帮忙,能否请侠客将程序改一下,现在您的程序是要求先选定源块,然后再选定需要替换的块,这样的话就不能批量选块了,能否请您改成先选定要替换的块,然后再选择更改后的源块?,谢谢了! 谢谢侠客的帮忙,能否请侠客将程序改一下,现在您的程序是要求先选定源块,然后再选定需要替换的块,这样的话就不能批量选块了,能否请您改成先选定要替换的块,然后再选择更改后的源块?,谢谢了! 用三楼说的方法很不错的,对话框操作。既可从列表中选择将被替换掉的和新的块,也可以从图拾取。 重新定义块属性,用相同的块名字也能更改。
页:
[1]