hijhon 发表于 2014-9-13 00:13:01

框选后选取指定图层的内容代码怎么写?

框选后选取指定图层的内容代码怎么写?

hijhon 发表于 2014-9-13 00:53:01

本帖最后由 hijhon 于 2014-9-13 00:55 编辑

能否一次框选后将两组执行的图层内的图元分成两个选择集?
(setq layer "axis,axis_text"
      ss1 (ssget   (list (cons 8 layer)))

(setq layer2 "dote"
      ss2 (ssget   (list (cons 8 layer2)))

Andyhon 发表于 2014-9-13 08:33:02

一次框选后 ==> ss
(setq layer "axis,axis_text"
      ss1 (ssget "P"(list (cons 8 layer)))

(command "select" ss "")
(setq layer2 "dote"
      ss2 (ssget "p"(list (cons 8 layer2)))

Andyhon 发表于 2014-9-13 08:41:03

一次框选后 ==> ss
(setq layer "axis,axis_text"
      ss1 (ssget "P"(list (cons 8 layer)))
)
(command "select" ss "")
(setq layer2 "dote"
      ss2 (ssget "p"(list (cons 8 layer2)))
)

xyp1964 发表于 2014-9-13 09:06:04

;; 参考方法
1、选择集→表
2、vl-remove-if去除不符合条件的元素
3、表→选择集

琴剑江山_10184 发表于 2014-9-13 10:42:20

(defun c:tt( / ss ss1)
(setq ss (assoc 8 (entget (car (entsel "\n请指定参照对象的图层:")))))
(princ "\n框选与参照对象相同的层")
(setq ss1 (ssget (list ss)))
(if ss1
    (progn
      (sssetfirst nil ss1)
    )
);if
)
页: [1]
查看完整版本: 框选后选取指定图层的内容代码怎么写?