明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 581|回复: 10

[提问] 求助:点选图元,获取“文 字”内容

[复制链接]
发表于 2024-7-10 16:32:22 | 显示全部楼层 |阅读模式
5明经币
求助:点选图元【文字,尺寸(含假尺寸),块属性文字】,获取“文 字”内容


样图如附件!
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

;;;功能:向系统剪贴板写入文字 (defun SET-CLIP-STRING (STR / HTML RESULT) (and (= (type STR) 'STR) (setq HTML (vlax-create-object "htmlfile")) (setq RESULT (vlax-invoke (vlax-get (vlax-get HTML 'PARENTWINDOW) 'CLIPBOARDDATA ) 'SETDATA "Text" ...
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-7-10 16:32:23 | 显示全部楼层
;;;功能:向系统剪贴板写入文字   
(defun SET-CLIP-STRING (STR / HTML RESULT)
    (and (= (type STR) 'STR)
         (setq HTML (vlax-create-object "htmlfile"))
         (setq RESULT (vlax-invoke
                          (vlax-get (vlax-get HTML 'PARENTWINDOW)
                                    'CLIPBOARDDATA
                          )
                          'SETDATA
"Text"
                          STR
                      )
         )
         (vlax-release-object HTML)
    )
)
(defun c:tt(/ ENT N STR)
  (while(not(setq e(car(nentsel)))))
  (setq ent(entget e))
  (if (=(cdr(assoc 0 ent)) "MTEXT")
      (progn (setq str(cdr(assoc 1 ent)))
            (setq n (vl-string-position (ascii ";") str))
           (setq nstr(substr str(+ 2  n)))  
      )
        (setq nstr(cdr(assoc 1 ent)))
)
  (SET-CLIP-STRING nstr)
)
回复

使用道具 举报

 楼主| 发表于 2024-7-11 00:13:42 | 显示全部楼层
顶一顶,大佬来帮忙一下
回复

使用道具 举报

发表于 2024-7-11 07:58:50 | 显示全部楼层
(defun c:cct ();点选复制文字到剪贴板
  (SET-CLIP-STRING
    (cdr(assoc 1 (entget (car (nentsel)))))
  )
)
(defun SET-CLIP-STRING (STR / HTML RESULT)
  (and (= (type STR) 'STR)
       (setq HTML (vlax-create-object "htmlfile"))
       (setq RESULT (vlax-invoke
                      (vlax-get        (vlax-get HTML 'PARENTWINDOW)
                                'CLIPBOARDDATA
                      )
                      'SETDATA
                      "Text"
                      STR
                    )
       )
       (vlax-release-object HTML)
  )
)
回复

使用道具 举报

发表于 2024-7-11 08:53:30 | 显示全部楼层
(cdr(assoc 1(entget(car(nentsel)))))   用这句可以分别提取
回复

使用道具 举报

 楼主| 发表于 2024-7-11 09:06:41 | 显示全部楼层
gaics 发表于 2024-7-11 07:58
(defun c:cct ();点选复制文字到剪贴板
  (SET-CLIP-STRING
    (cdr(assoc 1 (entget (car (nentsel)))) ...

针对尺寸标注拷贝出来的内容带有格式符,如:\A1;分格尺寸,\A1;174.28
回复

使用道具 举报

 楼主| 发表于 2024-7-11 09:08:52 | 显示全部楼层
guosheyang 发表于 2024-7-11 08:53
(cdr(assoc 1(entget(car(nentsel)))))   用这句可以分别提取

这句针对尺寸文字时会复制出尺寸文字格式信息,如:\A1;分格尺寸,\A1;174.28
回复

使用道具 举报

发表于 2024-7-11 11:38:42 来自手机 | 显示全部楼层
是的,请大神帮忙解决,谢谢
回复

使用道具 举报

发表于 2024-7-11 13:54:51 | 显示全部楼层
(defun c:tt(/ ENT N STR)
  (while(not(setq e(car(nentsel)))))
  (setq ent(entget e))
  (if (=(cdr(assoc 0 ent)) "MTEXT")
      (progn (setq str(cdr(assoc 1 ent)))
            (setq n (vl-string-position (ascii ";") str))
            (substr str(+ 2  n))  
      )
      (cdr(assoc 1 ent))
)
)
回复

使用道具 举报

 楼主| 发表于 2024-7-11 14:46:11 | 显示全部楼层
guosheyang 发表于 2024-7-11 13:54
(defun c:tt(/ ENT N STR)
  (while(not(setq e(car(nentsel)))))
  (setq ent(entget e))

大佬,如何把文字内容复制到剪切板呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 14:39 , Processed in 0.186499 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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