冒个烟圈 发表于 2015-10-13 19:20:07

ZZXXQQ 发表于 2015-10-13 08:47 static/image/common/back.gif


谢谢。。终于可以了。。

香田里浪人 发表于 2015-10-13 21:01:59

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

qmqyqj 发表于 2015-10-14 12:25:44

ymcui 发表于 2015-10-13 11:40 static/image/common/back.gif
;[恢复隐藏]
(defun c:xs (/ AcadObject AcadDocument LayersObj ss n i ent ob lay vlay lay-tn)
(set ...

谢谢!刚开始没注意看

林霄云 发表于 2015-10-14 14:18:01

;[隐藏物体]
(defun c:yc ( / AcadObject AcadDocument LayersObj ss n n-yc i ent ob lay vlay )   ;lay-tn
(setq AcadObject (vlax-get-acad-object)
            AcadDocument (vla-get-ActiveDocument AcadObject)
            LayersObj (vla-get-layers AcadDocument)
);end setq
(princ "\n请选择需要隐藏的物体" )
(if (setq ss (ssget))
               (progn
                      (setq n (sslength ss)
                                                        n-yc 0 )
                      (setq i (- n 1))
                      (repeat n
                           (setq ent (ssname ss i)
                                    ob (vlax-ename->vla-object ent)
                                    lay (vla-get-layer ob)
                                    vlay (vla-item LayersObj lay)
                            );end setq
                                                       
                                                       
                           ; (if (= (setq lay-tn (vla-get-lock vlay)) :vlax-true);如果图层锁定
                                    ; (vla-put-lock vlay :vlax-false);先解锁图层
                            ; );end if
                           ; (vla-put-visible ob :vlax-false)
                           ; (if (= lay-tn :vlax-true)
                                    ; (vla-put-lock vlay :vlax-true);再锁定图层,恢复图层状态
                            ; );end if
                                                        ;当图层未锁定时,执行隐藏操作
                                                     (if (= (vla-get-lock vlay) :vlax-false)
                                                                (progn
                                                                (vla-put-visible ob :vlax-false)
                                                                (setq n-yc (+ n-yc 1))
                                                                )
                                                       )                                                       
                           (setq i (1- i))
                     );end repeat
                      (princ (strcat "\n已隐藏"(itoa n-yc)   "物体" ))
));end if
(princ)
);end defun

oistre 发表于 2018-8-30 18:51:19

谢谢大神,牛牛牛牛!!!
页: 1 [2]
查看完整版本: “反向隐藏”达不到‘反向’的效果