明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 冒个烟圈

[已解答] “反向隐藏”达不到‘反向’的效果

[复制链接]
 楼主| 发表于 2015-10-13 19:20 | 显示全部楼层
ZZXXQQ 发表于 2015-10-13 08:47

谢谢。。终于可以了。。
发表于 2015-10-13 21:01 | 显示全部楼层
(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)
)
发表于 2015-10-14 12:25 | 显示全部楼层
ymcui 发表于 2015-10-13 11:40
;[恢复隐藏]
(defun c:xs (/ AcadObject AcadDocument LayersObj ss n i ent ob lay vlay lay-tn)
(set ...

谢谢!刚开始没注意看
发表于 2015-10-14 14:18 | 显示全部楼层
  1. ;[隐藏物体]
  2. (defun c:yc ( / AcadObject AcadDocument LayersObj ss n n-yc i ent ob lay vlay )   ;lay-tn
  3. (setq AcadObject (vlax-get-acad-object)
  4.               AcadDocument (vla-get-ActiveDocument AcadObject)
  5.               LayersObj (vla-get-layers AcadDocument)
  6. );end setq
  7. (princ "\n请选择需要隐藏的物体" )
  8. (if (setq ss (ssget))
  9.                (progn
  10.                       (setq n (sslength ss)
  11.                                                         n-yc 0 )
  12.                       (setq i (- n 1))
  13.                       (repeat n
  14.                              (setq ent (ssname ss i)
  15.                                     ob (vlax-ename->vla-object ent)
  16.                                     lay (vla-get-layer ob)
  17.                                     vlay (vla-item LayersObj lay)
  18.                             );end setq
  19.                                                        
  20.                                                        
  21.                              ; (if (= (setq lay-tn (vla-get-lock vlay)) :vlax-true);如果图层锁定
  22.                                     ; (vla-put-lock vlay :vlax-false);先解锁图层
  23.                             ; );end if
  24.                              ; (vla-put-visible ob :vlax-false)
  25.                              ; (if (= lay-tn :vlax-true)
  26.                                     ; (vla-put-lock vlay :vlax-true);再锁定图层,恢复图层状态
  27.                             ; );end if
  28.                                                         ;当图层未锁定时,执行隐藏操作
  29.                                                      (if (= (vla-get-lock vlay) :vlax-false)
  30.                                                                 (progn
  31.                                                                 (vla-put-visible ob :vlax-false)
  32.                                                                 (setq n-yc (+ n-yc 1))
  33.                                                                 )
  34.                                                          )                                                       
  35.                              (setq i (1- i))
  36.                      );end repeat
  37.                       (princ (strcat "\n已隐藏"  (itoa n-yc)   "物体" ))
  38. ));end if
  39. (princ)
  40. );end defun
发表于 2018-8-30 18:51 | 显示全部楼层
谢谢大神,牛牛牛牛!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 20:49 , Processed in 0.142441 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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