明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1493|回复: 3

[提问] 批量选择文字,改文字,代码用不了

[复制链接]
发表于 2014-9-19 12:56:52 | 显示全部楼层 |阅读模式
批量选择文字,改文字,代码用不了。本人刚学LISP,是逻辑错误还是函数用错了啊,求帮忙看下。
(DEFUN C:dff ()
  (DEFUN TEXTJOIN (E1 E2 / T1 T2)
    (SETQ T1 (ENTGET E1)
          T2 (ENTGET E2)
    )
    (ENTMOD
      (SUBST (CONS 1 (STRCAT (CDR (ASSOC 1 T1)) (CDR (ASSOC 1 T2))))
             (ASSOC 1 T1)
             T1
      )
    )

    (ENTDEL E2)
  )
  (SETQ        E1 (SSGET "X" '((0 . "*TEXT") (1 . "宗地代码*")))
        E2 (SSGET "X" '((0 . "*TEXT") (1 . "513*")))
  )
  (TEXTJOIN E1 E2)
)




该贴已经同步到 yixinexin的微博
发表于 2014-9-19 13:14:24 | 显示全部楼层
你的E1丶E2各只有一個嗎,如果是也要用到ssname
发表于 2014-9-19 18:47:20 | 显示全部楼层
怎么改?将“ T1”改为“ T2”?发个图说明一下。
发表于 2014-9-20 08:22:51 | 显示全部楼层
  1. (defun c:tt ()
  2. (defun TEXTJOIN (E1 E2 / T1 T2)
  3.   (setq T1 (entget E1)
  4.          T2 (entget E2))
  5.   (entmod
  6.    (subst (cons 1 (strcat (cdr (assoc 1 T1)) (cdr (assoc 1 T2))))
  7.          (assoc 1 T1)
  8.          T1
  9.    )
  10.   )
  11.   (entdel E2)
  12. )
  13. (while (and(setq E1 (ssget ":E:S" '((0 . "*TEXT") (1 . "宗地代码*"))))
  14.             (setq E2 (ssget ":E:S" '((0 . "*TEXT") (1 . "513*")))))
  15.   (TEXTJOIN (ssname E1 0) (ssname E2 0))
  16. )
  17. (princ)
  18. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-24 03:29 , Processed in 0.158528 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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