请教个组码读取与更新的问题
本帖最后由 作者 于 2008-12-10 13:27:07 编辑 <br /><br /> <p></p><p>请教个组码读取与更新的问题</p><p>CAD2008的MULTILEADER,DXF组码如下:</p><p>(-1 . <图元名: 7efa5290>)<br/>(0 . "MULTILEADER")<br/>(330 . <图元名: 7efa1cf8>)<br/>(5 . "1EEA")<br/>(100 . "AcDbEntity")<br/>.........<br/>(330 . <图元名: 7efa4b40>)<br/>(177 . 2)<br/>(44 . 0.0)<br/>(302 . "<font color="#ff0000">ST</font>")<br/>(330 . <图元名: 7efa4b58>)<br/>(177 . 3)<br/>(44 . 0.0)<br/>(302 . "<font color="#ff0000">大理石</font>")<br/>(330 . <图元名: 7efa4b60>)<br/>(177 . 4)<br/>(44 . 0.0)<br/>(302 . "<font color="#ff0000">800X800</font>")<br/>........</p><p>请问:怎么分别取出当中的<font color="#ff0000">ST、大理石、800X800,</font><font color="#000000">大家都是302???</font></p><p>其实我是想通过程序将图中所有ST、大理石、800X800组合的MULTILEADER全部更新为CT、抛光砖、600X600</p><p> </p><p><font color="#ff0000"></font></p><p></p><p></p><p></p> <a href="http://www.mjtd.com/bbs/dispbbs.asp?BoardID=3&replyID=114765&id=71907&skin=0">http://www.mjtd.com/bbs/dispbbs.asp?BoardID=3&replyID=114765&id=71907&skin=0</a> <p>实现思路:</p><p> 用(nth)函数逐一读取上述关联序列内的元素,如得到a,用(= 302 (car a))条件判断是否成立,如成立将a元素再追加至一个表,形成((302 . "<font color="#ff0000">ST</font>")(302 . "<font color="#ff0000">大理石</font>")(302 . "<font color="#ff0000">800X800</font>")),然后再用(nth)函数顺序调用即可。</p> <p>谢谢<strong><font face="Verdana" color="#61b713">nonsmal、ljttjl</font></strong></p><p>我在国外一个论坛上找到这个:</p><p>(setq ent (entsel))<br/>(setq ed (entget (car ent)))<br/>(foreach item ed<br/>(if (= (car item) 330)<br/>(setq attnamelst (cons (vlax-ename->vla-object (cdr item))<br/>attnamelst))<br/>)<br/>)</p><p>(setq vname (vla-getBlockAttributeValue<br/>(vlax-ename->vla-object (car ent))<br/>(vla-get-objectid (nth <font color="#ff0000">6</font> attnamelst))))</p><p>(if (= vname "ST")<br/>(vla-SetBlockAttributeValue<br/>(vlax-ename->vla-object (car ent))<br/>(vla-get-objectid (nth <font color="#ff0000">6</font> attnamelst))"GT")<br/>)<br/></p><p>但是只能替换指定的第几个图元302码,如:上例的<font color="#ff0000">6</font></p><p><font color="#000000">有没办法改得通用性强一点。我的目的是想将满足类似ST/大理石/800X800这种多属性组合的换成其它的。(也就是材料替换)</font></p><p>帮帮忙</p> 高手帮帮忙啊 高手帮帮忙啊 帮忙看看4楼。谢谢啊
页:
[1]