pb.v@163.com 发表于 2011-6-22 09:08:16

求助图层开关:按一下关指定图层,再按一下开指定图层

求助图层开关:按一下关指定图层,再按一下开指定图层
我是做五金模具设计的,有一个料带层,经常要打开再关掉,所以想要一个命令LISP,输入一下这个命令,料带层关掉,再输入一下料带层就打开,如果反复,即如果料带层是关的,那输这个命令就开料带层;如果料带层是开的,那输这个命令就关料带层。这个功能是可以实现的,因为TsaiPress这个软件实现在这个功能,但是我没有用那个软件。求高手帮忙写一个吧

gf123 发表于 7 天前

这个控制图层不错

Andyhon 发表于 2011-6-22 09:21:26

菜单内添加

[隐藏料带配置]'-Layer off 料带层;;
[重现料带配置]'-Layer on ff t 料带层;;

zhynt 发表于 2011-6-22 12:08:15


(defun C:kg ()
(if (> (cdr (assoc 62 (entget (TBLOBJNAME "LAYER" "料带层"))))
       0
      )
    (if        (= (getvar "CLAYER") "料带层")
      (command "layer" "off" "料带层" "y" "")
      (command "layer" "off" "料带层" "")
    )
    (command "layer" "on" "料带层" "")
)
)

lincctw_ccl 发表于 2011-6-22 13:23:14

回复 zhynt 的帖子

(command "layer" "off" "料带层" "y" "")..
请教 改成 冻结 程序会无效
是否这程序不可用在冻结?
谢谢!!

zhynt 发表于 2011-6-22 14:45:23

当前图层是不能冻结的。
(defun C:dj ()
(if (= (cdr (assoc 70 (entget (TBLOBJNAME "LAYER" "料带层"))))
       0
      )
    (if        (= (getvar "CLAYER") "料带层")
      (progn
        (setvar "CLAYER" "0")
        (command "layer" "f" "料带层" "")
      )
      (command "layer" "f" "料带层" "")
    )
    (command "layer" "t" "料带层" "")
)
)

lincctw_ccl 发表于 2011-6-22 14:52:54

回复 zhynt 的帖子

谢谢!!!
又学到了一招关于 TBLOBJNAME的用法

pb.v@163.com 发表于 2011-6-23 13:55:54

zhynt 发表于 2011-6-22 12:08 static/image/common/back.gif


真的是太好用啦,真是好人啊,非常的感谢,,有劳大哥了

pb.v@163.com 发表于 2011-6-23 14:12:15

不知道为什么,这个程序用在CAD2009,料带层处于当前层时就用不了,一用就弹出个对话选择框,

zhynt 发表于 2011-6-23 14:16:13

回复 pb.v@163.com 的帖子

你说的是关闭还是冻结?我是在2012上做的,我想2009应该没问题才是

pb.v@163.com 发表于 2011-6-23 14:23:23

回复 zhynt 的帖子

关闭的那个,当前图层的情况下会出现一个选项条
页: [1] 2 3
查看完整版本: 求助图层开关:按一下关指定图层,再按一下开指定图层