批量选择文字,改文字,代码用不了
批量选择文字,改文字,代码用不了。本人刚学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)
)
http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 yixinexin的微博 你的E1丶E2各只有一個嗎,如果是也要用到ssname 怎么改?将“ T1”改为“ T2”?发个图说明一下。 (defun c:tt ()
(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)
)
(while (and(setq E1 (ssget ":E:S" '((0 . "*TEXT") (1 . "宗地代码*"))))
(setq E2 (ssget ":E:S" '((0 . "*TEXT") (1 . "513*")))))
(TEXTJOIN (ssname E1 0) (ssname E2 0))
)
(princ)
)
页:
[1]