明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1107|回复: 3

[提问] 列表不能被替换

[复制链接]
发表于 2013-12-11 10:30:32 | 显示全部楼层 |阅读模式
本帖最后由 Comming 于 2013-12-11 10:32 编辑

不知那里出了问题,列表不能替换,烦请大家指点,谢谢!

(defun c:dq()
  (setvar "cmdecho"0)
  (setq n 0)
  (setq txt-x(entget(car(entsel))))
  (setq x(cadr(assoc 10 txt-x)))
  (setq ss(ssget))
  (repeat (SSLENGTH ss)
    (setq en(ssname ss n))
    (setq data-old(assoc 10 (entget en)))
    (setq y-old(cddr data-old))
    (setq stype(cdr(assoc 0 (entget en))))
    (if (= stype "TEXT")(sub-cons))
  )
  )
(defun sub-cons()
  (setq xyz(cons x y-old))
  (setq new-id(cons 10 xyz))
  (setq new-data(subst new-id data-old new-data))
  (entmod new-data)
  )
发表于 2013-12-11 10:37:58 | 显示全部楼层
(setq xyz(cons x y-old))
改为(setq xyx (list x y-old))
 楼主| 发表于 2013-12-11 10:50:31 | 显示全部楼层
自贡黄明儒 发表于 2013-12-11 10:37
(setq xyz(cons x y-old))
改为(setq xyx (list x y-old))

大哥,还是不行

点评

x y-old必须是数字  发表于 2013-12-11 12:57
发表于 2013-12-11 13:09:43 | 显示全部楼层
  1. (defun c:dq()
  2.   (setvar "cmdecho" 0)
  3.   (setq n 0)
  4.   (setq txt-x(entget(car(entsel))))
  5.   (setq x (assoc 10 txt-x))
  6.   (setq ss(ssget (list '(0 . "text"))))
  7.   (repeat (SSLENGTH ss)
  8.     (setq en (ssname ss n) n (1+ n))
  9.     (setq data-old (assoc 10 (entget en)))
  10.   (setq new-data (subst x data-old (entget en)))
  11.   (entmod new-data)
  12.   )
  13.           (setvar "cmdecho" 1)
  14.                 (princ)
  15. )

点评

如果文字没有72组和73组的时候,这程序可以把文字改得到,但在那两组值非0的情况下,改文字的组码10它是不会动的,那个时候得改11组  发表于 2013-12-11 15:44
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-26 01:00 , Processed in 0.170999 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表