cq_qg 发表于 2007-5-17 11:13:00

[求助]使用通配符查找替换

<p><font face="宋体">使用通配符查找替换<b></b></font>
        </p><p><font face="宋体" size="2">在cad中我想将图号桥梁-施-01、桥梁-施-02、桥梁-施-03……等替换成<br/>桥梁-施-01-SH、桥梁-施-02-SH、桥梁-施-03-SH……<br/>怎么使用通配符进行替换?</font></p>

phoenixdjq 发表于 2007-5-18 09:27:00

<p>没听说过</p><p>不过用程序很容易就能做到</p><p>(defun c:kk()<br/>(setq a (ssget))<br/>(setq len (sslength a))&nbsp;&nbsp;<br/>(setq n 0)<br/>(repeat len<br/>(setq en (ssname a n))&nbsp;&nbsp;&nbsp; <br/>(setq b (entget en))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p><p>(setq djq (cdr (assoc 0 b)))</p><p>(if (= djq "TEXT")</p><p>(doujq)</p><p>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;end if</p><p>(setq n (+ 1 n))</p><p>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;end repeat</p><p><br/>)</p><p></p><p><br/>;;;子程序</p><p>(defun doujq()<br/>(setq c (assoc 1 b))&nbsp;&nbsp;&nbsp;&nbsp; <br/>(setq d (cdr c))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p><p>(setq g (strcat&nbsp; d "-sh")) </p><p>(setq m (cons 1 g))<br/>(setq b (subst m c b ))<br/>(entmod b)</p><p>(princ)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>)&nbsp; </p>

sujiajia 发表于 2007-5-18 12:02:00

<p>楼上的Lisp</p><p>写的不错,我也正在学习,不过很初级,向你学习啊!</p>

Robertbg 发表于 2007-5-21 00:47:00

真厉害啊,佩服呀!!!~~

phoenixdjq 发表于 2007-5-21 16:26:00

<p>这个是我两年前写的</p><p>一直没有做过维护,其实可以更简单的。</p><p>呵呵:)</p><p>只要达到目的就可以了</p>

longer1000 发表于 2011-7-22 17:17:30

不错啊,,,,,,,

steelgang 发表于 2011-7-30 21:51:57

写的不错,我也正在学习,不过很初级,向你学习啊!

olfav 发表于 2012-3-3 18:19:03

贱人工具箱5.2版,里面有个文本修改增加前后缀的功能,可以实现对楼主的效果。

elsa0918 发表于 2012-3-9 19:07:07

有时借用别人的式具就借用别人的工具,实现目标即可。
页: [1]
查看完整版本: [求助]使用通配符查找替换