明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1688|回复: 4

[求助]我需要个隐藏或显示属性块属性的LISP,哪位能帮我一下?

[复制链接]
发表于 2002-11-19 11:47 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2002-11-20 07:57 | 显示全部楼层

Try this example

本帖最后由 作者 于 2002-11-20 7:57:15 编辑

(defun C:HIDEATTS (/               SHOW_HIDE   TOGGLE_ID   BLOCK_SSET
                   N               BSS_LEN           AQ               VLA_ATT2FIX
                  )
  (command "_.undo" "group")
  (initget "S H")
  (setq SHOW_HIDE (getkword "\nShow(S) or Hide all attributes?<H>: "))
  (if (= SHOW_HIDE "S")
    (setq SHOW_HIDE 1
          TOGGLE_ID "Showed"
          BLOCK_SSET
           (ssget ; "X"
             (list (cons 0 "INSERT")
                   (cons 66 1)
                   (cons 410 (getvar "ctab"))
             )
           )
    )
    (setq SHOW_HIDE 0
          TOGGLE_ID "Hid"
          BLOCK_SSET
           (ssget ; "X"
             (list (cons 0 "INSERT")
                   (cons 66 1)
                   (cons 410 (getvar "ctab"))
             )
           )
    )
  )
  (setq        N        0
        AQ        0
        BSS_LEN        (sslength BLOCK_SSET)
  )
  (repeat BSS_LEN
    (setq VLA-ATT2FIX (ssname BLOCK_SSET N))
    (while (and        (setq VLA-ATT2FIX (entnext VLA-ATT2FIX))
                (= "ATTRIB" (cdr (assoc 0 (entget VLA-ATT2FIX))))
           )
      (setq AQ (1+ AQ))
      (vlax-put-property
        (vlax-ename->vla-object VLA-ATT2FIX)
        'VISIBLE
        SHOW_HIDE
      )
    )

    ;|
    (setq VLA-ATT2FIX (vlax-ename->vla-object (ssname BLOCK_SSET N)))
    (mapcar
      '(lambda (NN)
         (setq AQ (1+ AQ))
         (vlax-put-property NN 'VISIBLE SHOW_HIDE)
       )
      (vlax-safearray->list
        (vlax-variant-value
          (vla-getattributes
            VLA-ATT2FIX
          )
        )
      )
    )|;

    (setq N (1+ N))
  )
  (prompt (strcat TOGGLE_ID
                  " "
                  (rtos AQ)
                  " attributes in "
                  (rtos BSS_LEN)
                  " blocks..."
          )
  )
  (command "_.undo" "end")
  (princ)
)
 楼主| 发表于 2002-11-19 20:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2002-11-20 13:12 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2005-10-14 21:19 | 显示全部楼层

龙龙仔版主 :

能不能把上面的程序改一下,使他能在R2005,06下使用啊!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-20 09:37 , Processed in 0.222027 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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