明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1335|回复: 5

[源码] 求写个图层关闭代码????

[复制链接]
发表于 2013-11-13 15:02 | 显示全部楼层 |阅读模式
要求:可以选择多个对象图层保留显示,未被选择的其它图层进行关闭.............效果如下图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2013-11-13 16:35 | 显示全部楼层
本帖最后由 52CAD 于 2013-11-13 16:38 编辑

关闭其它层
  1. <blockquote>(defun c:layc(/ q)
  2.    (prompt "\n请选择要保留的图层,要显示所有图层请直接按右键:")
  3.   (setq ss (ssget))
  4.   (if (/= ss nil)
  5.     (progn
  6.       (setq num (sslength ss))
  7.       (setq n 0)
  8.       (command "layer" "off" "*" "y" "on" "" "")
  9.       (repeat num
  10.         (setq entlist (entget (ssname ss n)))
  11.         (setq lname (cdr (assoc 8 entlist)))
  12.         (command "layer" "on" lname "")
  13.         (setq n (+ n 1))
  14.       )
  15.       (prompt (itoa num))
  16.     )
  17.     (command "layer" "on" "*" "")
  18.   )(princ)
  19. )
发表于 2013-11-13 19:27 | 显示全部楼层
阿甘的图层工具,试试,基本的都有了。
http://bbs.mjtd.com/thread-94056-1-1.html
发表于 2013-11-13 20:04 | 显示全部楼层
;AD ***** 只显示选定的图层
(defun c:AD(/ x)
        (setvar "cmdecho" 0)
        (setq x (entsel "\n 选择只显示一个层:"))
        (command "layer" "set" (cdr(assoc 8 (entget(car x)))) "")
        (command "layer" "unlock" (cdr(assoc 8 (entget(car x)))) "")
        (command "layer" "off" "*" "" "")
        (setvar "cmdecho" 1)
)
;---------------------------------------------
(defun c:fa();;显示全部图层

        (command "layer" "t" "*" "on" "*" "u" "*" "")
        (command "layer" "off" "0paperf" ""))
;;QW *****显示选定的多个图层
(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)
)
发表于 2015-6-2 21:43 | 显示全部楼层
格式/图层里,都有这些操作,把他们设置成快捷键,也蛮方便的
发表于 2015-6-3 18:12 | 显示全部楼层
隔离不就可以了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-7 06:45 , Processed in 0.198907 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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