找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1036|回复: 13

[求助]:谁能帮我写个快速只关闭谋层、只保留某层、显示所有层的小工具?!

[复制链接]
发表于 2005-4-13 14:12:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
请问晓东工具箱里的关闭图层的命令名是什么?
显示所有层 是 XDTB_LayerOn
只保留某层   是 slayres
只关闭某层  就看不出是什么名字了
请哪位大哥告知我!!谢谢!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2005-4-13 15:37:28 | 显示全部楼层

[求助]:谁能帮我写个快速只关闭谋层、只保留某层、显示所有层的小工具?!

谁能帮我写个快速只关闭谋层、只保留某层、显示所有层的小工具?!最好输入命令后直接点所需操作的图层就行,不要选择图层之后还要回车确认。这样比较麻烦,晓东工具箱里的这些功能就是要回车确认,比较浪费时间,建议晓东对其进行修改!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-13 16:08:14 | 显示全部楼层

[建议]:在下给晓东的一个提议!

晓东工具箱里有三个很好用的命令:只关闭谋层、只保留某层、显示所有层。最好输入命令后直接点所需操作的图层就行,不要选择图层之后还要回车确认。这样比较麻烦,不方便,建议晓东对其进行修改!谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-4-13 18:25:41 | 显示全部楼层
层是可以多选的,当然要回车
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-14 09:05:42 | 显示全部楼层
最初由 eachy 发布
[B]层是可以多选的,当然要回车 [/B]



我知道是可以多选,就 比如快速关闭某层这个命令吧,输入命令回车后,就进入选择状态,这是,我选一个图层,得回车一下它才关闭,再选下一个图层,又得回车才关闭,当然了,也可以一起选好所有我认为要关闭的层再回车关闭,这就意味着要一下看准所有要关闭的层。可想想看,要是点哪个图层哪个图层就立马关闭该多好呀!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-15 16:07:04 | 显示全部楼层
;****************************************************只显示被选对象所在层
(DEFUN C:lc (/ ES EN EL A)
(princ "请选择对象,未被选中的对象所在的层将被关闭")
(setq ES (ssget) A 0 EN "" EL nil FL nil)
(while (/= EN nil)
(setq EN (ssname ES A) EL (cons EN EL) A (1+ A)))
(setq EL (cdr EL) FL (cdr (assoc ' 8 (entget (car EL)))) EL (cdr EL))
(repeat (- A 2)
(setq EN (cdr (assoc ' 8 (entget (car EL))))
  FL (strcat EN "," FL) EL (cdr EL)) )
(command "LAYER" "off" "*" "y" "on" (eval FL) "")
(princ))
;****************************************************快速改对象的层
(DEFUN C:LQ()
(princ "请选择要改变层的对象\n")
(setq ss (ssget))
(if (and ss (> (sslength ss) 0))
(progn
(setq ent (entsel "\n请选择目标层上的对象:"))
(if ent (setq la (cdr(assoc 8 (entget (car ent)))))
(setq la (getvar "clayer"))
)
(command ".chprop" ss "" "layer" la "")
)
)
(princ)
)
;****************************************************解锁图层
(defun C:LKk(/ ES EN EL A)
       (princ "请选择要解锁的图层上的对象")
       (setq ES (ssget) A 0 EN "" EL nil FL nil)
       (while (/= EN nil)
       (setq EN (ssname ES A) EL (cons EN EL) A (1+ A)))
       (setq EL (cdr EL) FL (cdr (assoc ' 8 (entget (car EL)))) EL (cdr EL))
       (repeat (- A 2)
       (setq EN (cdr (assoc ' 8 (entget (car EL))))
       FL (strcat EN "," FL) EL (cdr EL)) )
       (command "LAYER" "U" (eval FL) "")
(princ))
;****************************************************关闭所选物体所在的层
(DEFUN  C:OL ()
  (setvar "cmdecho" 0)
  (prompt"\n请选择要关闭的图层上的对象")
  (setq ss (ssget))
  (if (and ss (sslength ss) 0)
    (progn
     (setq ct 0 len (sslength ss) cl (getvar "clayer"))
     (command ".layer")
     (while (< ct len)
         (setq la (cdr (assoc 8 (entget (ssname ss ct)))))
         (if (/= cl la)(command "off" la)
                       (progn (prompt "\n你选择的层:")
                              (prompt la)
                              (prompt " 是当前层,不能关闭")
                       )  ;end of progn
         )                ;end of if
         (if (= old nil)(setq OLD la)(setq OLD (strcat OLD "," la)))
         (setq ct (1+ ct))
       )                  ;end of while
       (command"")
     )                  ;end of progn
)                      ;end of if
(princ)
(setvar "cmdecho" 0) (prin1)
)
;****************************************************冻结所选物体所在的层
(defun C:FFL (/ ES EN EL A)
(princ "请选择要冻结的图层上的对象.")
(setq ES (ssget) A 0 EN "" EL nil FL nil)
(while (/= EN nil)
(setq EN (ssname ES A) EL (cons EN EL) A (1+ A)))
(setq EL (cdr EL) FL (cdr (assoc ' 8 (entget (car EL)))) EL (cdr EL))
(repeat (- A 2)
(setq EN (cdr (assoc ' 8 (entget (car EL))))
  FL (strcat EN "," FL) EL (cdr EL)) )
(command "LAYER" "F" (eval FL) "")
(princ))
;****************************************************锁定所选物体所在的层
(defun C:KLl (/ ES EN EL A)
(princ "请选择要加锁的图层上的对象.")
(setq ES (ssget) A 0 EN "" EL nil FL nil)
(while (/= EN nil)
(setq EN (ssname ES A) EL (cons EN EL) A (1+ A)))
(setq EL (cdr EL) FL (cdr (assoc ' 8 (entget (car EL)))) EL (cdr EL))
(repeat (- A 2)
(setq EN (cdr (assoc ' 8 (entget (car EL))))
  FL (strcat EN "," FL) EL (cdr EL)) )
(command "LAYER" "LO" (eval FL) "")
(princ))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-16 05:44:12 | 显示全部楼层
好像FULL安装就有吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-16 19:29:16 | 显示全部楼层
ET工具就行了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-19 17:06:39 | 显示全部楼层
谢谢大家,可能否让我不用回车?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-19 22:37:01 | 显示全部楼层
谢谢6楼这位朋友
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-27 16:01:43 | 显示全部楼层
我这还有一个,大家看看是不是更简单啊!!
(defun c:111 ()          ;关闭所有图层
     (command"-layer" "off" "*" "y" "")
)
(defun c:222 ()          ;重新打开所有图层
     (command"-layer" "on" "*" "y" "")
)
(defun C:333 (/ ES EN EL A)
  (princ "请选择对象,未被选中的对象所在的层将被关闭")
  (setq        ES (ssget)
        A  0
        EN ""
        EL nil
        FL nil
  )
  (while (/= EN nil)
    (setq EN (ssname ES A)
          EL (cons EN EL)
          A  (1+ A)
    )
  )
  (setq        EL (cdr EL)
        FL (cdr (assoc '8 (entget (car EL))))
        EL (cdr EL)
  )
  (repeat (- A 2)
    (setq EN (cdr (assoc '8 (entget (car EL))))
          FL (strcat EN "," FL)
          EL (cdr EL)
    )
  )
  (command "LAYER" "off" "*" "y" "on" (eval FL) "")
  (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-27 23:01:15 | 显示全部楼层
狂顶11楼。
重新打开所有图层对应的代码应该为:(command "-layer" "on" "*" "")  (cad2004)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-30 16:36:43 | 显示全部楼层
11楼的好用一点
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-5 13:52:58 | 显示全部楼层
到什么时候我才能下载呀?一步步的引?开始是要满三天,现在又要爱心币!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-22 07:40 , Processed in 0.290351 second(s), 58 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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