找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 775|回复: 14

[求助] 一键打开或者关闭多个已设置好的图层(不用框选)

[复制链接]
发表于 2019-6-7 01:43:50 | 显示全部楼层 |阅读模式

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

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

×
比如设定快捷键命令S1为,图面中只显示WP_G,WP_P,WP_Y,DN_G等图层(相当于孤立这些图层);S3为,图面中关闭WP_G,WP_P,WP_Y,DN_G等图层;S2为在图面中任何有其他图层的环境下,再打开WP_G,WP_P,WP_Y,DN_G等图层;

我目前一直用的函数如下,就是高版本CAD的时候这个函数会很卡,低版本CAD很高效,没有影响。有高人有其他函数表达方式么,可以更加高效的在高版本的话。
;;;孤立图层
(defun c:s1()
(setq oldlay (getvar "Clayer"))
(setvar "clayer" "WP_G" )
(command "layer" "off" "*" "" "")
(command "layer" "on" "WP_G" "")
(command "layer" "on" "WP_P" "")
(command "layer" "on" "WP_Y" "")
(command "layer" "on" "DN_G" "")
(setvar "Clayer" oldlay))

;; 可开图层
(defun c:s2()
(command "layer" "on" "WP_G" "")
(command "layer" "on" "WP_P" "")
(command "layer" "on" "WP_Y" "")
(command "layer" "on" "DN_G" ""))

;; 关图层
(defun c:s3()
(setq oldlay (getvar "Clayer"))
(setvar "clayer" "0" )
(command "layer" "off" "WP_G" "")
(command "layer" "off" "WP_P" "")
(command "layer" "off" "WP_Y" "")
(command "layer" "off" "DN_G" "")
(setvar "Clayer" oldlay)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 225个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 960个

财富等级: 财运亨通

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

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

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

使用道具 举报

 楼主| 发表于 2019-6-10 12:09:02 | 显示全部楼层
kqqt6236 发表于 2019-6-9 00:12
可以再进行优化。

怎么优化呢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

发表于 2019-7-2 14:54:24 | 显示全部楼层
建议使用 图层状态系列函数,直接操作这些图层状态。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 293个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

发表于 2021-1-20 15:35:19 | 显示全部楼层
楼主不考虑用一下layerstate这个cad命令么?感觉跟楼主想要达到的效果一样的,layerstate里建一个样式,可以记录图层状态,比如哪几个图层是关闭,哪几个要冻结,哪个不打印。如果有多个状态就可以建多个样式,我觉得这个更方便
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

发表于 2021-1-20 15:41:13 | 显示全部楼层
另外能求助一下楼主么?我想选中物体直接放置在某个固定的图层上,比如说“校对”图层,怎么样能实现,我知道chprop这个命令是用来修改对象特性的,然后la是图层,然后选“校对”,这个应该怎么写呢?能帮忙看一下么?   我知道用图层命令可以实现,就是每次去找好慢,这个应该怎么写= =

点评

;;;移入校对层命令TT5 (defun c:tt5 (/ ss oldlay) (setq ss (ssget)) (if (and ss (> (sslength ss) 0)) (progn (setq oldlay (getvar "clayer")) (command "layer" "m" "校对" "c" "4"  详情 回复 发表于 2021-1-21 15:20
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2021-1-21 15:20:35 | 显示全部楼层
yudore 发表于 2021-1-20 15:41
另外能求助一下楼主么?我想选中物体直接放置在某个固定的图层上,比如说“校对”图层,怎么样能实现,我知 ...

;;;移入校对层命令TT5
(defun c:tt5 (/ ss oldlay)
  (setq ss (ssget))
  (if (and ss (> (sslength ss) 0))
    (progn
      (setq oldlay (getvar "clayer"))
      (command "layer" "m" "校对" "c" "4" "" "")
      (command "change" ss "" "p" "la" "校对" "")
      (command "clayer" oldlay)
    )
  )
)
我只会简单的command可以试试
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

发表于 2021-1-21 15:40:33 | 显示全部楼层
非常感谢楼主,我试了试,图层名字我看lsp写的是“校对”,用到cad里,他会自动建一个图层,图层名字是乱码“骡*阁”不是校对这个图层,然后输入tt5后,选择想要移入的对象,确实可以移动到“骡*阁”这层了,并且图层状态从刚才的隐藏变成显示,是楼主用了clayer命令么?再次感谢楼主~ 就是不知道为什么图层名字是乱的

点评

这个有点搞不懂啦,我这边试了下没有乱码呢,还是显示的校对,clayer应该设置当前层的  详情 回复 发表于 2021-1-21 17:22
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-21 17:22:33 | 显示全部楼层
yudore 发表于 2021-1-21 15:40
非常感谢楼主,我试了试,图层名字我看lsp写的是“校对”,用到cad里,他会自动建一个图层,图层名字是乱码 ...

这个有点搞不懂啦,我这边试了下没有乱码呢,还是显示的校对,clayer应该设置当前层的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 14:31 , Processed in 0.278846 second(s), 56 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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