注册 登录
明经CAD社区 返回首页

mahuan1279的个人空间 http://bbs.mjtd.com/?7303115 [收藏] [复制] [分享] [RSS]

日志

读取CAD中的文字

热度 1已有 1092 次阅读2014-10-10 20:28 |个人分类:LISP|系统分类:插件| 读取CAD中的文字

(vl-load-com)
(setq ss (ssget "X" '((0 . "*text"))))
(setq i 0 )
(setq data '())
(while (<  i (sslength ss))
   (setq data (append data (list i)))
   (setq i (+ i 1))
 )
(foreach  x data
        (setq sstr  (vlax-ename->vla-object (ssname ss x)))
        (setq sst (vlax-get-property sstr "TextString") )
        (princ  sst)
        (princ "\n")   
)

路过

雷人

握手

鲜花

鸡蛋

发表评论 评论 (3 个评论)

回复 77077 2014-10-18 00:32
(vl-load-com)
(mapcar 'vla-get-TextString (ssget->vla-list (ssget "X" '((0 . "*text")))))
(defun ssget->vla-list (ss / i ename lst)
    (setq i -1)
    (while (setq ename (ssname ss (setq i (1+ i))))
      (setq lst (cons (vlax-ename->vla-object ename) lst))
    )
    lst
  )
回复 mahuan1279 2014-10-18 21:13
你的代码简洁了不少。试运行了下,结果显示("\\pxt82;niakdsajklda" "\\pxt82;2qqiuqouwo" "\\pxt82;nmajskajdka" "\\pxt39,82;ajlsdjadj"),要是想得到文字信息(分号后的字符串),是不是还要对字符串列表进行处理?
回复 mahuan1279 2014-10-18 21:21
PS:14版的怎么这效果,分号前的是什么?07版输出的直接就是文字信息。看来版本不同,运行结果还是有些区别。

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

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

GMT+8, 2024-4-25 12:59 , Processed in 0.092967 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部