隐藏显示实体
(defun c:yc ()(setvar "cmdecho" 0)
(setq ss (ssget))
(setq i 0)
(repeat (sslength ss)
(setq sn (ssname ss i))
(setq ent (entget sn))
(setq lx (cdr (assoc 60 ent)))
(if (= lx nil)
(progn
(setq a (list (cons 60 1)))
(setq ent (append ent a))
(entmod ent)
)
)
(if (/= lx nil)
(progn
(setq ent (subst (cons 60 1) (assoc 60 ent) ent))
(entmod ent)
)
)
(setq i (1+ i))
)
(princ)
)
(defun c:xs ()
(setvar "cmdecho" 0)
(setq ss (ssget "x"))
(setq i 0)
(repeat (sslength ss)
(setq sn (ssname ss i))
(setq ent (entget sn))
(setq ent (subst (cons 60 0) (assoc 60 ent) ent))
(entmod ent)
(setq i (1+ i))
)
(princ)
)
显示的命令太卡了点吧。。。能不能优化下。。 反显示可不可以? 牛牛牛,大神! 回复 286168051 的帖子
请问楼主是否方便改成隐藏未选择对象呢?很有用啊!
(defun c:ycqt ()
(setvar "cmdecho" 0)
(setq ss (ssget))
(command "SELECT" "ALL" "R" ss "")
(setq ss (ssget "P"))
(setq i 0)
(repeat (sslength ss)
(setq sn (ssname ss i))
(setq ent (entget sn))
(setq lx (cdr (assoc 60 ent)))
(if (= lx nil) (progn
(setq a (list (cons 60 1)))
(setq ent (append ent a))
(entmod ent)
))
(if (/= lx nil) (progn
(setq ent (subst (cons 60 1) (assoc 60 ent) ent))
(entmod ent)
))
(setq i (1+ i))
)
(princ)
)
本帖最后由 panliang9 于 2011-7-5 17:19 编辑
好东西啊!
楼主!这两个命令的好处就在于不但可以隐藏,而且刷新后也看不见,我一直以为这是无法实现了,想不到真存在这样的东西。
这是我在另一个贴子时贴的在位块编辑只显示命令,但这个一刷新,周围的对象都出现了:
在位块编辑只显示命令L
(defun C:a()
(command "move" "all" "" "0,0" "0,0")
(COMMAND "SELECT" "ALL" "R" "P" "")
(SETQ SS (SSGET "P"))
(SETQ I -1)
(REPEAT (SSLENGTH SS)
(REDRAW (SSNAME SS (SETQ I (1+ I))) 2)
)
)
楼主大人,能不能用你的这个原理帮我编一个同样的“在位块编辑只显示命令”呢!
即刷新也不会出现的在位块编辑命令!这东西对我和我的同事们意义非常的大!
我在这里至盼了!
回复 ZZXXQQ 的帖子
好!很好!非常好! ,请问怎么再显示回来呢? 回复 明_明 的帖子
(setq ent (subst (cons 60 1) (assoc 60 ent) ent))
(entmod ent)
===>
(setq ent (subst (cons 60 0) (assoc 60 ent) ent))
(entmod ent)
Andyhon 发表于 2011-7-5 13:49 static/image/common/back.gif
回复 明_明 的帖子
(setq ent (subst (cons 60 1) (assoc 60 ent) ent))
多谢指点
楼主,你好!
显示和隐藏命令都非常好啦,能不能用同样的方法做一个“在位块编辑只显示命令”呢。我原来用的那一个“在位块编辑也能用,但是刷新一下,周围的对象又出来了!
原来的那个程序实际上就是做了一个原位移动,然后获得了当前编辑块的选择集,不知道你的程序用这样的方法实现“在位块编辑只显示”行不行,应该是可以的吧!
这个东西对我们太重要了,我们图中的块很多,每天大量的时候都在编辑块,如果能做到“在位块编辑只显示”,而且刷新也不显示周围的对象,这对我们意义太大了!
希望楼主能在百忙之中弄一下这个命令,这是非常非常有价值的!
至盼了! 可以的 最近比较忙 明天给你答复吧