明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 439|回复: 5

[提问] 请问ssget要怎么分离

[复制链接]
发表于 2019-11-7 14:38 | 显示全部楼层 |阅读模式
比如:ssget 获取一次到了,3个(0 . text) ,3个(0 . line)
我怎么把他分离成2张表
就是获取到的A表怎么分离成a1 a2二表
谢谢帮忙
 楼主| 发表于 2019-11-7 15:13 | 显示全部楼层
defun c:ssope ()
    (setq a 0)
    (setq b(ssget '((0 . "line,text"))))
    (repeat (sslength b)
    (setq typ (cdr (assoc 0 (entget (ssname b a)))))
     (cond
        ((= typ "TEXT")
         我要在这里删除选到的text,怎么写
         )
        ((= typ "line")       
         )
        )
     )
    (setq a (1+ a))
    )
    (princ)
)
发表于 2019-11-7 15:34 | 显示全部楼层
参考一下
(defun c:tt5 ()
(setq ss (ssget '((0 . "TEXT,line"))))
(setq i -1 ss1 (ssadd) ss2 (ssadd))
        (while (setq en (ssname ss (setq i (1+ i))))
                (if (= (cdr (assoc 0 (entget en))) "TEXT")
                        (setq ss1 (ssadd en ss1))
                        (setq ss2 (ssadd en ss2))
                );if               
        );while       
(command "CHANGE" ss1 "" "p" "c" 1 "" "CHANGE" ss2 "" "p" "c" 2 "")       
)
 楼主| 发表于 2019-11-7 16:16 | 显示全部楼层
谢谢你的帮助。
发表于 2019-11-7 21:00 | 显示全部楼层
;;从选择集中分离出指定类型的选择集
;;(acet-pljoin-ss-flt (ssget "X") (list(cons 0 "CIRCLE")))
(defun acet-pljoin-ss-flt (ss flt )
  (if (and ss
                                (> (sslength ss) 0)
      )
    (progn
      (command "_.select" ss "")
      (setq ss (ssget "_p" flt))
    )
    (setq ss nil)
  )
  ss
)
发表于 2019-11-8 07:10 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 13:45 , Processed in 0.196388 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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