gogozb 发表于 2023-1-14 00:05:06

替换文字并删除原文本

defun c:tt7 (/ e e1 en1 en2 n)
;被替换的文字
(setq en1 (car(entsel "\n 选择要被替换的文字:"))) ;取图元 ,下面的扩展
(setq e (entget en1)) ;取属性
(setq n (cdr(assoc 1 e))) ;取文字内容
;源文字
(setq en2 (car(entsel "\n 选择源文字:"))) ;取图元 ,下面的扩展
(setq e1 (entget en2)) ;取属性
(setq n (cdr(assoc 1 e1))) ;取文字内容
;替换
(setq e (subst(cons 1 n)(assoc 1 e) e))
    ;重绘
(entmod e)
(command "_.erase" en2 "")
(princ)
)

lxl217114 发表于 2023-1-14 08:57:55

感谢分享,点赞。。。

jun353835273 发表于 2023-1-14 09:02:45

(defun c:tt7 (/ e e1 e2 en1 en2 n )
;被替换的文字
(if (and(setqe1 (entsel "\n 选择要被替换的文字:"))
      (setqe2 (entsel "\n 选择源文字:")))
    (progn
(setq en1 (car e1)) ;取图元 ,下面的扩展
(setq e (entget en1)) ;取属性
(setq n (cdr(assoc 1 e))) ;取文字内容
;源文字
(setq en2 (car e2)) ;取图元 ,下面的扩展
(setq e1 (entget en2)) ;取属性
(setq n (cdr(assoc 1 e1))) ;取文字内容
;替换
(setq e (subst(cons 1 n)(assoc 1 e) e))
    ;重绘
(entmod e)
(entdel en2)
)
(princ "么有选的哇!")
)
(princ)
)给你改了下,加了判断更可靠。 最后删除的可以用entdel 尽量不要command

paulpipi 发表于 2023-1-14 09:28:03

挺实用,感谢分享

酷酷提 发表于 2023-1-14 10:23:55

请问一下,这个一般是用在什么样的情况呢?

中国梦 发表于 2023-1-14 20:05:06

谢谢楼主分享

gogozb 发表于 2023-1-14 21:16:41

jun353835273 发表于 2023-1-14 09:02
给你改了下,加了判断更可靠。 最后删除的可以用entdel 尽量不要command

多谢指教!

Klein 发表于 2023-1-16 12:41:03

这个代码什么情况下会用,内容格式刷?

e2002 发表于 2023-1-16 15:15:02

有时候需要删除Source对象,有时候需要删除Target对象,有时候需要Swap两个对象的Content...
可以继续改进这个代码,实现这些不同模式的过程中切换。

一个实用的功能,可以持续在工作的实践中不断改进和扩展。上次发现有几个程序,最初是1998年写的,到现在改了十多个版本了。

vladimir 发表于 2023-2-6 15:52:54

非常不错的代码,谢谢楼主分享啊。
页: [1]
查看完整版本: 替换文字并删除原文本