盛年 发表于 2014-3-10 23:02:27

如何只显示方框内所涉及的图层 其他图层关闭

如何只显示方框内所涉及的图层 其他图层关闭

ZZXXQQ 发表于 2014-3-11 08:36:30

编程思路:
1、取得当前图中所有图层名;
2、选择方框;
3、取得方框对角点;
4、用窗选或窗交选择方框内的物体;
5、遍历所选实体,取得层名;
6、关闭非选择到的层名。

香田里浪人 发表于 2014-3-12 06:36:01

;QW ***** turn off another layer显示选定的多个图层
(defun C:qw( / oce a1 a2 a3 i a4 a5)

(graphscr)
(setq oce (getvar "cmdecho"))
(setvar "cmdecho" 0)


(prompt "\n选择不需要对象(层):")
(setq a1(ssget))
(if a1
    (progn
      (setq a4 (ssname a1 0))
      (setq a5 (cdr (assoc 8 (entget a4))))
      (command "LAYER" "S" a5 "")
      (command "LAYER" "OFF" "*" "" "")
      (setq i 0)
      (repeat (sslength a1)
      (setq a3 (ssname a1 i))
      (setq a2 (cdr (assoc 8 (entget a3))))

      (command "LAYER" "ON" a2"")
      (setq i (1+ i))
      )
      ;(princ a2)
    )
    (princ " Nothing selected.")
);end if a1
(setvar "cmdecho" oce)
(princ)
)
页: [1]
查看完整版本: 如何只显示方框内所涉及的图层 其他图层关闭