qhd_aixin 发表于 2009-4-7 21:50:00

求助,替换文字lisp无法在cad2004里执行(问题已解决)

本帖最后由 作者 于 2009-4-7 23:48:24 编辑 <br /><br /> <p>下面是替换文字的lisp,在cad2004下可以加载,缺无法执行,是不是这个不适合2004版本啊?有高手帮改下适合2004版本的吗?</p><p>只要替换文字内容就可以,不用替换格式。</p><p>(defun C:TD (/ E1 E2 ELIST OLDERR V1)<br/></p>&nbsp; (princ "\n选择源文字替代目标文字")<br/>&nbsp; (if (not OLDERR)<br/>&nbsp;&nbsp;&nbsp; (setq OLDERR *ERROR*)<br/>&nbsp; )<br/>&nbsp; (defun *ERROR* (MSG /)<br/>&nbsp;&nbsp;&nbsp; (setq *ERROR* OLDERR<br/>&nbsp;&nbsp;&nbsp;OLDERR&nbsp;&nbsp;NIL<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (redraw E1 4)<br/>&nbsp;&nbsp;&nbsp; (princ MSG)<br/>&nbsp;&nbsp;&nbsp; (princ)<br/>&nbsp; )<br/>&nbsp; (if (setq E1 (car (entsel "\n选择源文字&lt;退出&gt;: ")))<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (redraw E1 3)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (while (setq E2 (car (entsel "\n选择目标文字&lt;退出&gt;: ")))<br/>&nbsp;(progn<br/>&nbsp;&nbsp;&nbsp;(setq V1 (cdr (assoc 1 (entget E1))))<br/>&nbsp;&nbsp;&nbsp;(setq ELIST (entget E2))<br/>&nbsp;&nbsp;&nbsp;(entmod (subst (cons 1 V1)<br/>&nbsp;&nbsp;&nbsp; (assoc 1 ELIST)<br/>&nbsp;&nbsp;&nbsp; ELIST<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;)<br/>&nbsp;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (redraw E1 4)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (setq *ERROR* OLDERR)<br/>&nbsp; (princ)<br/>)<br/>(princ)<br/><br/>

phoenixdjq 发表于 2009-4-7 23:30:00

<p>是你的用法不对吧,我的能用呀</p><p>当你点完第一个文字后,再点第二个文字,第二个就变成了第一个文字了</p><p>看看程序的说明吧</p>

qhd_aixin 发表于 2009-4-7 23:46:00

<p>非常感谢<strong><font color="#61b713" face="Verdana">phoenixdjq!</font></strong></p><p><strong><font color="#61b713" face="Verdana">我又试了一遍,确实可以用,没有问题。我是在单位测试的时候不能用的,可能是单位cad的问题吧,我明天再试试!</font></strong></p>
页: [1]
查看完整版本: 求助,替换文字lisp无法在cad2004里执行(问题已解决)