nanguohappy 发表于 2012-1-11 12:46:45

求按选择顺序合并文字,并把文字内容显示在第一个选择的文字上的源程序,谢谢

求按选择顺序合并文字,并把文字内容显示在第一个选择的文字上的源程序,谢谢

Gu_xl 发表于 2012-1-11 14:09:23


(defun c:tt()
(setq ss (ssget '((0 . "text"))))
(if ss
    (progn
      (setq en (ssname ss 0))
      (setq txt (cdr (assoc 1 (setq enl (entget en)))))
      (ssdel en ss)
      (repeat (sslength ss)
        (setq e (ssname ss 0))
        (ssdel e ss)
        (setq txt (strcat txt (cdr (assoc 1 (entget e)))))
        (entdel e)
        )
      (setq enl (subst (cons 1 txt) (assoc 1 enl) enl))
      (entmod enl)
      )
    )
(princ)
)

669423907 发表于 2012-1-11 20:39:10

Gu_xl 发表于 2012-1-11 14:09 static/image/common/back.gif


可不可以单,多都通用呢?!

byghbcx 发表于 2012-1-12 08:33:29

建议增加按坐标点进行排序,确认哪些先后顺序,可以一齐选择

革天明 发表于 2012-1-12 17:49:33

本帖最后由 革天明 于 2012-1-12 18:01 编辑

请教如何将多个text或mtext的文字内容赋值给str1这个变量呢,str1里面要把因选择mtext造成的回车符去掉,去掉str1中的回车换行符,求教!
示例:sfasfasdf   asfdaf sdfasfsdafasdf safsfdsfasdfasdf
目标:=》sfasfasdf          asfdaf          sdfasfsdafasdf          safsfdsfasdfasdf
字符串间距10个空格,中间不能有回车符或换行符
谢谢!

byghbcx 发表于 2012-1-13 08:41:16

革天明 发表于 2012-1-12 17:49 static/image/common/back.gif
请教如何将多个text或mtext的文字内容赋值给str1这个变量呢,str1里面要把因选择mtext造成的回车符去掉,去掉 ...

vl-string-right-trim,vl-string-trim,vl-string-left-trim试试

革天明 发表于 2012-1-13 09:15:03

(vl-string-right-trim "1386079" "39CPO is not R2D108267891")

"39CPO is not R2D1082"
(vl-string-right-trim "1356789" "3CPO is not R2D267891")
"3CPO is not R2D2"


请问这如何解释?例子来自于vlsip函数说明,第二例是CAD中的帮助例子,1356789是要删除的,字符串中没有3和5,从right方向,看见1356789这里面任何一个就把它去掉!第一例说不太通,1386079共七个数,结果并没有删掉7个数,结果39CPO is not R2D1082还有个8没有删除掉?

664571221 发表于 2018-5-31 10:40:46

Gu_xl 发表于 2012-1-11 14:09


在吗 合并的顺序能不能反过来,好像顺序不对
页: [1]
查看完整版本: 求按选择顺序合并文字,并把文字内容显示在第一个选择的文字上的源程序,谢谢