quanguang 发表于 2009-1-8 22:20:00

为什么扩展属性不能替换,大家帮忙看看

<p>我想把广州开思格式的宗地属性中的“所在图幅号”手动替换掉(也就是下面红色加粗字体处),但是总是不成功,不知为何?</p><p>源码如下:</p><p>(setq tfh "") ;;图幅号<br/>(defun c:1()<br/>&nbsp; (setq s (car (entsel)))<br/>&nbsp; (setq ss (entget s (list "*")))<br/>&nbsp; (setq sss (assoc -3 ss))<br/>&nbsp; (setq djinfo (caddr sss))<br/>&nbsp; (setq djinfo_tou (car djinfo))<br/>&nbsp; (setq djname (cadr sss))<br/>&nbsp; (setq tufu (cadr djinfo))<br/>&nbsp; (setq qita (cddr djinfo))<br/>&nbsp; (setq tishi (strcat "输入宗地所在图符号(" tfh "):"))<br/>&nbsp; (setq new_tfh (getstring tishi ))<br/>&nbsp; (if (= "" new_tfh ) (setq new_tfh tfh) )<br/>&nbsp;&nbsp;&nbsp; (setq new_tufu (cons 1000 new_tfh))<br/>&nbsp; (setq new_kzh (append '(-3) (list djname) (list (cons djinfo_tou (cons new_tufu qita)))))<br/>&nbsp; (subst new_kzh (assoc -3 ss) ss)<br/>&nbsp; (entmod ss)<br/>&nbsp; (entupd s)<br/>&nbsp;&nbsp;&nbsp; )</p><p>开思宗地属性扩展格式如下:</p><p>;;(-3 ("DJName" (1000 . "3") (1000 . "J479") (1000 . "J523") (1000 . "J521")<br/>(1000 . "J476")) ("DJInfo"<strong>
                        <font color="#f70909">(1000 . "4211.00-499.00")</font></strong> (1000 . "1301830101029800")<br/>(1000 . "(&nbsp; )") (1000 . "张三") (1000 . "131313190011000123") (1000 . "")<br/>(1000 . "集体土地使用权") (1000 . "253") (1000 . "253") (1000 . "") (1000 . "") (1000 . "")<br/>(1000 . "道路") (1000 . "") (1000 . "李四") (1000 . "王五") (1000 . "170.512") (1000 . "170.512") (1000 . "255.094") (1000 . "130183") </p><p>(1000 . "批准拨用宅基地") (1000 . "") (1000 . "") (1000 . "") (1000 . "0.6684") (1000 . "") (1000 . "") (1000 . "") (1000 . "499156.829") (1000 . <br/>"4211242.392") (1000 . "499157.149") (1000 . "4211223.278") (1000 . "499143.802") (1000 . "4211223.053") (1000 . "499143.502") (1000 . <br/>"4211242.183") (1000 . "E"))))</p><p></p>

jdhszh 发表于 2009-1-9 10:50:00

<p>给你个类似的</p><p>(defun ggkz(k_name)<br/>&nbsp;(setq qtwt(assoc -3 (entget (setq kent(car (entsel))) (list k_name ))))<br/>&nbsp;(if qtwt <br/>&nbsp; (progn<br/>&nbsp;&nbsp; (princ (cdr(cadadr qtwt)))<br/>&nbsp;&nbsp; (setq qt_wt(assoc -3 (entget kent '("*"))))<br/>&nbsp;&nbsp; (setq qt (LIST k_name (cons 1000 q_t)))<br/>&nbsp;&nbsp; (setq neent(subst qt (assoc k_name (cdr qt_wt)) qt_wt))<br/>&nbsp;&nbsp; (setq nnew(append (entget kent) (list neent)))<br/>&nbsp;&nbsp; (entmod nnew)<br/>&nbsp; )<br/>&nbsp;)<br/>)</p><p>这个也许用的着</p>

quanguang 发表于 2009-1-11 20:09:00

谢谢<strong><font face="Verdana" color="#61b713">jdhszh老兄,不知道这么称呼合不合适,问题解决啦!!!</font></strong>
页: [1]
查看完整版本: 为什么扩展属性不能替换,大家帮忙看看