乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 83|回复: 19

[编程交流] 隐藏同名块,然后取消

[复制链接]

40

主题

177

帖子

100

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
248
发表于 2022-7-5 23:15:36 | 显示全部楼层 |阅读模式
谢谢大家。
我想用一个命令来隐藏同名块,并用一个命令来显示它。
谢谢你的帮助!
回复

使用道具 举报

40

主题

177

帖子

100

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
248
发表于 2022-7-5 23:22:05 | 显示全部楼层
 
:哭:回答,好吗
回复

使用道具 举报

10

主题

598

帖子

594

银币

初来乍到

Rank: 1

铜币
48
发表于 2022-7-5 23:23:34 | 显示全部楼层
你用命令隐藏是什么意思,我应该说你认为它是如何工作的,“hideobjects”命令可以让你选择一个或多个要隐藏的对象(取消隐藏会将它们全部隐藏回来),另一种方法是将对象放在它们自己的层上,并可能使用宏打开/关闭层。这完全取决于你在做什么。
回复

使用道具 举报

40

主题

177

帖子

100

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
248
发表于 2022-7-5 23:26:05 | 显示全部楼层
 
史蒂文,谢谢你的回复!
我知道的隐藏对象:
  1. ;;hideobjects
  2. (defun c:yc ()
  3. (if (ssget)
  4.    (progn
  5.      (vlax-for        obj
  6.                    (vla-get-activeselectionset
  7.                      (vla-get-activedocument (vlax-get-acad-object))
  8.                    )
  9.        (vla-put-Visible obj :vlax-false)
  10.      )
  11.    )
  12. )
  13. (princ)
  14. )
  15. ;;display objects
  16. (defun c:hfxs (/ ss)
  17. (if (setq ss (ssget "x" '((60 . 1))))
  18.    (vlax-for obj
  19.                  (vla-get-activeselectionset
  20.                    (vla-get-activedocument (vlax-get-acad-object))
  21.                  )
  22.      (vla-put-Visible obj :vlax-true)
  23.    )
  24. )
  25. (princ)
  26. )

 
但我想隐藏一个块,相同名称的块全部隐藏。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 23:30:28 | 显示全部楼层
要包含在该例程中的块的名称是什么?
它们是动态块还是正常块?
它们是否属于?
回复

使用道具 举报

10

主题

598

帖子

594

银币

初来乍到

Rank: 1

铜币
48
发表于 2022-7-5 23:34:42 | 显示全部楼层
也许是基于“selectsimilar”的东西
回复

使用道具 举报

40

主题

177

帖子

100

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
248
发表于 2022-7-5 23:35:59 | 显示全部楼层
 
嗨,塔尔瓦,很高兴见到你!为什么要更改个人资料图片?
 
1、块的名称不确定,必须用鼠标选择一个块。
2.两者
3.两者
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 23:39:04 | 显示全部楼层
 
也谢谢我
 
 
你不喜欢吗?如果是这样,我可以改变它。
 
试试下面的程序,让我知道结果。
 
  1. (defun c:test (/ s sel nm lst ss)
  2. ;;    Tharwat 26.Mar.2014        ;;
  3. ;; Hide Block name by Selection    ;;
  4. (or doc (setq doc (vla-get-activedocument (vlax-get-acad-object))))
  5. (princ "\n Select Blocks to hide all with the same name ...")
  6. (if (setq s (ssget "_:L" '((0 . "INSERT"))))
  7.    (progn (vlax-for x (setq sel (vla-get-activeselectionset doc))
  8.             (if (not (member (setq nm (vla-get-effectivename x)) lst))
  9.               (setq lst (cons nm lst))
  10.             )
  11.           )
  12.           (vla-delete sel)
  13.           (if (setq ss (ssget "_X"
  14.                               (list '(0 . "INSERT")
  15.                                     (cons 410 (getvar 'CTAB))
  16.                                     (cons 2 (strcat "`*U*," (apply 'strcat (mapcar '(lambda (u) (strcat u ",")) lst))))
  17.                               )
  18.                        )
  19.               )
  20.             (progn (vlax-for x (setq sel (vla-get-activeselectionset doc))
  21.                      (if (member (setq nm (vla-get-effectivename x)) lst)
  22.                        (vl-catch-all-apply 'vla-put-visible (list x :vlax-false))
  23.                      )
  24.                    )
  25.             )
  26.             (vla-delete sel)
  27.           )
  28.    )
  29. )
  30. (princ)
  31. )
  32. (vl-load-com)
回复

使用道具 举报

40

主题

177

帖子

100

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
248
发表于 2022-7-5 23:43:54 | 显示全部楼层
 
哈哈我喜欢上一个。
 
这个代码很好!完美的但是如何显示呢?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 23:46:19 | 显示全部楼层
 
很好,很高兴听到
 
呵呵?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 00:08 , Processed in 1.170325 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表