286168051 发表于 2011-4-29 19:01:27

隐藏显示实体

(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)
)

fengwenchao 发表于 2025-1-9 22:07:24

显示的命令太卡了点吧。。。能不能优化下。。

LYC688 发表于 2022-11-25 13:11:21

反显示可不可以?

oistre 发表于 2018-8-14 00:20:35

牛牛牛,大神!

669423907 发表于 2011-7-3 23:36:53

回复 286168051 的帖子

请问楼主是否方便改成隐藏未选择对象呢?很有用啊!

ZZXXQQ 发表于 2011-7-4 11:52:30


(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-4 21:06:32

本帖最后由 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)
)
)

楼主大人,能不能用你的这个原理帮我编一个同样的“在位块编辑只显示命令”呢!
即刷新也不会出现的在位块编辑命令!这东西对我和我的同事们意义非常的大!
我在这里至盼了!



669423907 发表于 2011-7-4 23:11:38

回复 ZZXXQQ 的帖子

好!很好!非常好!

明_明 发表于 2011-7-5 13:09:30

,请问怎么再显示回来呢?

Andyhon 发表于 2011-7-5 13:49:26

回复 明_明 的帖子

(setq ent (subst (cons 60 1) (assoc 60 ent) ent))
(entmod ent)
===>
(setq ent (subst (cons 60 0) (assoc 60 ent) ent))
(entmod ent)

明_明 发表于 2011-7-5 14:30:29

Andyhon 发表于 2011-7-5 13:49 static/image/common/back.gif
回复 明_明 的帖子

(setq ent (subst (cons 60 1) (assoc 60 ent) ent))


多谢指点

panliang9 发表于 2011-7-5 17:18:49

楼主,你好!

显示和隐藏命令都非常好啦,能不能用同样的方法做一个“在位块编辑只显示命令”呢。我原来用的那一个“在位块编辑也能用,但是刷新一下,周围的对象又出来了!

原来的那个程序实际上就是做了一个原位移动,然后获得了当前编辑块的选择集,不知道你的程序用这样的方法实现“在位块编辑只显示”行不行,应该是可以的吧!

这个东西对我们太重要了,我们图中的块很多,每天大量的时候都在编辑块,如果能做到“在位块编辑只显示”,而且刷新也不显示周围的对象,这对我们意义太大了!


希望楼主能在百忙之中弄一下这个命令,这是非常非常有价值的!

至盼了!

286168051 发表于 2011-7-12 21:28:05

可以的 最近比较忙 明天给你答复吧
页: [1] 2 3 4
查看完整版本: 隐藏显示实体