araise 发表于 2013-11-17 15:50:24

关于选择集的一个小问题

我想实现这样的功能:比如一个cad图中有若干线和若干文字,我用选择集选择一些(有文字有线),然后在这个选择集中把线删掉,把文字内容提取。
望高手帮我,谢谢

llsheng_73 发表于 2013-11-17 16:33:46

;;ss是你已有的选择集(其中有文字或者线)
(setq n(sslength ss)m -1)
(repeat n
   (setq a(ssname ss(setq m(1+ m)))
       b(cdr(assoc 1(entget a))))
   (cond((vl-string-search"TEXT"b)
       (cdr(assoc 1 a));;这是文字内容,具体要怎么处理不清楚你的要求
       )
        ((vl-string-search"LINE"b)
       (setq ss(ssdel a ss));;是线就从选择集中去掉
       )
        )
)

自贡黄明儒 发表于 2013-11-18 09:48:19

(if (setq ss (ssget '((0 . "*TEXT,LINE"))));文字和线
(setq ss1 (ssget "_p" '((0 . "*TEXT"))));文字
)

araise 发表于 2013-11-20 14:53:38

谢谢各位,问题得以解决
页: [1]
查看完整版本: 关于选择集的一个小问题