明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3421|回复: 18

求一个控制特定几个图层的程序!

[复制链接]
发表于 2013-4-29 17:37 | 显示全部楼层 |阅读模式
20明经币
出于更换底图以及分类查看图纸的需要,可不可以编写这样的程序,用来控制特定图层的开关?
图层名称可以方便的自行添加,可以使用通配符,比如带前缀a、前缀b的一系列图层
使用时输入快捷键1,则关闭特定图层,输入快捷键2,则关闭特定图层以外的图层

最佳答案

查看完整内容

来个简单的, (defun cay2 ();;关闭特定层外的 (setvar 'cmdecho 0) (command "layer" "off" "*" "n" "") (command ".layer" "off" (getvar "clayer") "y" "") (command "layer" "on" "图层1,图层2,图层3," "");;这里图层可以自己加 (setvar 'cmdecho 1) (princ) ) (defun cay1 ();;关闭特定层 (setvar 'cmdecho 0) (setvar "Expert" 1) (command "layer" "off" "图层1,图层2,图层 ...

点评

看您自己新帖http://bbs.mjtd.com/thread-101167-1-1.html  发表于 2013-5-3 01:09
发表于 2013-4-29 17:37 | 显示全部楼层
来个简单的,
(defun c:Lay2 ();;关闭特定层外的
  (setvar 'cmdecho 0)
  (command "layer" "off" "*" "n" "")
  (command ".layer" "off" (getvar "clayer") "y" "")
  (command
    "layer"
    "on"
    "图层1,图层2,图层3," "");;这里图层可以自己加
  (setvar 'cmdecho 1)
  (princ)
)
(defun c:Lay1 ();;关闭特定层
  (setvar 'cmdecho 0)
(setvar "Expert" 1)
  (command "layer" "off" "图层1,图层2,图层3," "");;这里图层可以自己加
(setvar "Expert" 0)
  (setvar 'cmdecho 1)
  (princ)
)
回复

使用道具 举报

发表于 2013-4-29 21:48 | 显示全部楼层
找个关闭选择图层的程序改下就可以啦!
回复

使用道具 举报

 楼主| 发表于 2013-4-29 22:18 | 显示全部楼层
wowan1314 发表于 2013-4-29 21:48
找个关闭选择图层的程序改下就可以啦!

朋友,小弟不会啊~~
回复

使用道具 举报

发表于 2013-4-29 22:20 | 显示全部楼层
继续帮顶,楼主几个帖子我也感兴趣!!
回复

使用道具 举报

发表于 2013-4-30 00:23 | 显示全部楼层
本帖最后由 xsso 于 2013-4-30 10:48 编辑

复制代码
  1. ;;输入1后,如果想只显示a为前缀的图层,输入a*,如果图层为a-,可以输入a*、也可以a-*,模糊越大范围越大
  2. (defun c:1(/ lay)
  3.   (setq lay (GETSTRING "\n输入想独显图层的前缀: "))
  4.   (lay_iso_* lay)
  5.   )

  6. ;;这是隐藏指定前缀的图层
  7. (defun c:2(/ lay)
  8.   (setq lay (GETSTRING "\n输入想独显图层的前缀: "))
  9.   (lay_off_* lay)
  10.   )
  11. ;;全开图层
  12. (defun c:3(/ lay)
  13.   (lay_iso_* "*")
  14.   )
  15. ;;下面为扩展用,如果不止一种前缀应用以下两个,填入想操作的图层即可
  16. (defun c:5(/ lay)
  17.   (lay_iso_* (list "a*" "b*"))
  18.   )

  19. (defun c:6(/ lay)
  20.   (lay_off_* (list "a*" "b*"))
  21.   )

加载下面两个文件即可,希望楼主不是白菜

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2013-4-30 00:43 | 显示全部楼层
你的另一个关联图层的那个都可以通过 5、6来完成,至于图层关联就要你自己来编写
回复

使用道具 举报

 楼主| 发表于 2013-4-30 07:57 | 显示全部楼层
xsso 发表于 2013-4-30 00:43
你的另一个关联图层的那个都可以通过 5、6来完成,至于图层关联就要你自己来编写

谢谢你的帮助!测试了下,5,6有点问题:后面添加的图层信息不管用,只认第一个
很感动你还关注了我那个关联图层的帖子,如果关联图层想通过程序5、6来实现,图层分组信息如何添加?
回复

使用道具 举报

发表于 2013-4-30 11:19 | 显示全部楼层
因为昨晚太晚了,所以没有测试清楚,现在已经重新上传 图层控制.fas,覆盖原来的就可以
用5、6来分组,如果想将a1、a2、a3、b1篇成一个组就将它们写到5或6中,因为它不一定要模糊填写图层名,你可以将你想要的图层名完整填入
回复

使用道具 举报

 楼主| 发表于 2013-4-30 23:45 | 显示全部楼层
xsso 发表于 2013-4-30 00:23
加载下面两个文件即可,希望楼主不是白菜

刚又测试了下,程序6对于关闭当前图层来说会出现一个选择菜单,感觉不太好,如果能处理当前图层问题那就锦上添花了,希望大侠再费点心,这个东西出来之后想必会很受欢迎的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 00:54 , Processed in 0.312983 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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