wanchr 发表于 2019-11-7 14:38:43

请问ssget要怎么分离

比如:ssget 获取一次到了,3个(0 . text) ,3个(0 . line)
我怎么把他分离成2张表
就是获取到的A表怎么分离成a1 a2二表
谢谢帮忙

wanchr 发表于 2019-11-7 15:13:24

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)
)

start4444 发表于 2019-11-7 15:34:11

参考一下
(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 "")       
)

wanchr 发表于 2019-11-7 16:16:45

谢谢你的帮助。

1028695446 发表于 2019-11-7 21:00:30

;;从选择集中分离出指定类型的选择集
;;(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
)

Kye 发表于 2019-11-8 07:10:24

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=111787&highlight=%B7%D6%D7%E9&mobile=no
页: [1]
查看完整版本: 请问ssget要怎么分离