yunfengning 发表于 2015-9-7 17:19:12

修改程序:修改文字内容,带记忆多选

本帖最后由 yunfengning 于 2015-9-8 10:33 编辑

(defun C:qm ()
(while (and
   (setq ent (entsel "\n请选择源文字:"))
   (setq ent (entget (car ent)))
   (wcmatch (cdr(assoc 0 ent)) "*TEXT")
   (setq newtxt (getstring "\n输入新的文字内容\n"))
   (setq newtxt (strcat "(" newtxt ")")) ;;;给改文字的内容加上括号
   )
(entmod (subst (cons 1 newtxt) (assoc 1 ent) ent))
)
(princ)
)

请大侠帮忙修改以上LSP,实现以下功能
1、先输入要修改成的内容,再选择要修改的文字。
2、能多选。
3、能记忆上次输入的修改内容。
4、文字修改后,首尾要加上括号。
上次提的要求表达不清,深表歉意。

重慶崽兒 发表于 2015-9-7 20:28:38

1:没明白你说的什么意思,不觉明厉!
2、3:(defun c:qm()
(while (setq ss (ssget '((0 . "*TEXT"))))
    (setq i 0)
    (if (and newtxt_1 (/= newtext_1 ""))
      (progn
      (setq newtxt (getstring (strcat "\n输入新的文字内容" "<" newtxt_1 ">" ":")))
(if (= newtxt "")
          (setq newtxt newtxt_1)
)
      )
      (setq newtxt (getstring "\n输入新的文字内容:"))
    )
    (repeat (sslength ss)
      (setq ent (entget (ssname ss i)))
      (entmod (subst (cons 1 newtxt) (assoc 1 ent) ent))
      (setq i (1+ i))
    )
    (setq newtxt_1 newtxt)
)
)

xyp1964 发表于 2015-9-8 08:29:29

(defun c:qm ()
(setq str (USTR 1 "新文字内容" str NIL)
        tx(strcat "(" str ")")
)
(while (setq ss (ssget '((0 . "*text"))))
    (xyp-SubUpd ss 1 tx)
)
(princ)
)

llsheng_73 发表于 2015-9-8 09:02:59

xyp1964 发表于 2015-9-8 08:29 static/image/common/back.gif


ustr是个什么鬼?

重慶崽兒 发表于 2015-9-8 20:50:04

(defun c:qm( / ent i newtext_1 newtxt newtxt_1 ss)
(while T
    (if (and newtxt_1 (/= newtext_1 ""))
      (progn
      (setq newtxt (getstring (strcat "\n输入新的文字内容" "<" newtxt_1 ">" ":")))
      (if (= newtxt "")
          (setq newtxt newtxt_1)
      )
      )
      (setq newtxt (getstring "\n输入新的文字内容:"))
    )
    (setq ss (ssget '((0 . "*TEXT"))))
    (setq i 0)
    (repeat (sslength ss)
      (setq ent (entget (ssname ss i)))
      (entmod (subst (cons 1 (strcat "(" newtxt ")")) (assoc 1 ent) ent))
      (setq i (1+ i))
    )
    (setq newtxt_1 newtxt)
)
)

yunfengning 发表于 2015-9-9 12:49:45

谢谢哥们儿。

78946299 发表于 2022-5-29 08:35:32

重慶崽兒 发表于 2015-9-8 20:50

你好,大佬。你这个能帮忙改下吗?保留现有的文字,增加的在后面 A 变成A(2x)

鑫诚科技 发表于 2023-9-8 23:00:58

不明觉厉~~支持一下
页: [1]
查看完整版本: 修改程序:修改文字内容,带记忆多选