fengyu6913 发表于 2024-9-6 11:26:35

如何获得文字的内容?

(defun c:tt ()
         (princ "\n   请在屏幕拾取文字:")
         (setq ss_wz(ssget '((0 . "*TEXT*"))))

         (setq ii (sslength ss_wz))
         (setq jj 0)
         (repeat ii
            (setq aa (entget (ssname ss_wz jj)))
            (setq lr (assoc 1 aa))                           ;; ----------------------如何获得文字的内容?
            (alert (strcat "\n文字内容为:"lr))   
         )
)

jun470 发表于 2024-9-6 14:57:32

3楼说的对,我改了改,代码如下:
(defun c:tt ( / ss_wz ii jj aa lrt)
         (princ "\n   请在屏幕拾取文字:")
         (setq ss_wz(ssget '((0 . "*TEXT*"))))
         (setq ii (sslength ss_wz))
         (setq jj 0 lrt "")
         (repeat ii
            (setq aa (entget (ssname ss_wz jj)))
            (setq lr (cdr (assoc 1 aa)))                           ;; ----------------------如何获得文字的内容?
            (setq lrt (strcat lrt lr ""))
          (setq jj (1+ jj))
           )
   (alert (strcat "\n文字内容为:"lrt))
(princ))

jun470 发表于 2024-9-6 15:02:53

jun470 发表于 2024-9-6 14:57
3楼说的对,我改了改,代码如下:
(defun c:tt ( / ss_wz ii jj aa lrt)
         (princ "\n   请在屏幕 ...

应该用换行间隔(setq lrt (strcat lrt lr "\n"))

fengyu6913 发表于 2024-9-7 14:28:55

tryhi 发表于 2024-9-6 19:04
发了61个帖子居然不知道(cdr (assoc

对lisp没有系统学习,仅凭之前C++的一点功底纯属猜着搞,应对CAD使用的需要
也有自己写些简单的,卡住了就上论坛求助请教大佬们
再次感谢大佬们热心帮助

czb203 发表于 2024-9-6 11:41:54

拾取文字:lol

aws 发表于 2024-9-6 12:19:32

lr还需要cdr一次。而且你这个循环结构,lr只显示最后一次的文字。你应该用单选entsel,或者cons加入到新表里面。。。。

jun470 发表于 2024-9-6 14:46:39

czb203 发表于 2024-9-6 11:41
拾取文字

长老,怎么还要收币啊,长老

fengyu6913 发表于 2024-9-6 15:24:44

czb203 发表于 2024-9-6 11:41
拾取文字

感谢 czb203 大佬,拼进我的框选代码里完美融合,再次感谢

同时感谢前来帮助的所有大佬,受益了,学习了

tryhi 发表于 2024-9-6 19:04:26

fengyu6913 发表于 2024-9-6 15:24
感谢 czb203 大佬,拼进我的框选代码里完美融合,再次感谢

同时感谢前来帮助的所有大佬 ...

发了61个帖子居然不知道(cdr (assoc

muai2010 发表于 2024-9-7 00:08:37

感谢分享...

qazxswk 发表于 2024-9-7 02:36:18

tryhi 发表于 2024-9-6 19:04
发了61个帖子居然不知道(cdr (assoc

很多人来这里只为了求插件
页: [1] 2
查看完整版本: 如何获得文字的内容?