乐筑天下

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

[编程交流] _隐藏对象

[复制链接]

24

主题

141

帖子

115

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-6 07:28:25 | 显示全部楼层 |阅读模式
你好
 
例如,我有5个单独的隐藏对象,分别使用命令HideObjects。
现在我需要3个物体。剩余4个隐藏对象,但将保持隐藏状态。
是否有一种方法可以使用命令“HideObjects unhide”隐藏单个选项集,而不使用命令“UnIsolateObjects unhide”隐藏所有隐藏的对象。
如果这样的事情真的很棒!
 
问候Martin
回复

使用道具 举报

91

主题

428

帖子

326

银币

后起之秀

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

铜币
474
发表于 2022-7-6 08:02:41 | 显示全部楼层
您可以使用以下vlisp代码:
 
功能:
 
MT:消失-隐藏选择集中的对象:
  1. (defun MT:Vanish (%ss% / n ent)
  2. ;; by Mehrdad Ahankhah (Mehre Taban)
  3. (if (and (= 'PICKSET (type %ss%)) (< 0 (setq n (sslength %ss%))))
  4. (progn
  5.   (princ (strcat "\nGoing to vanish " (itoa n) " objects."))
  6.   (while (> n 0)
  7.    (setq n (1- n))
  8.    (setq ent (entget (ssname %ss% n)))
  9.    (if (assoc 60 ent)
  10.     (setq ent (subst '(60 . 1) (assoc 60 ent) ent))
  11.     (setq ent (append ent '((60 . 1))))
  12.    )
  13.    (entmod ent)
  14.   )
  15.   (princ "\n'Vanish' done successfully.")
  16. )
  17. (T (princ "Nothing to vanish."))
  18. )
  19. (princ)
  20. )

 
MT:Unvanish-取消隐藏选择集中的对象:
  1. (defun MT:Unvanish (%ss% / n ent)
  2. ;; by Mehrdad Ahankhah (Mehre Taban)
  3. (if (and (= 'PICKSET (type %ss%)) (< 0 (setq n (sslength %ss%))))
  4. (progn
  5.   (princ (strcat "\nGoing to set visible " (itoa n) " objects."))
  6.   (while (> n 0)
  7.    (setq n (1- n))
  8.    (setq ent (entget (ssname %ss% n)))
  9.    (setq ent (subst '(60 . 0) (assoc 60 ent) ent))
  10.    (entmod ent)
  11.   )
  12.   (princ "\n'Unvanish' done successfully.")
  13. )
  14. (progn (alert "Nothing to set visible."))
  15. )
  16. (princ)
  17. )

 
命令:
 
消失或关闭-隐藏所有对象
  1. (defun C:Vanish () (MT:Vanish (ssget)))
  2. (defun C:Off () (C:Vanish))

 
Vanish Selected或OffSelected-隐藏选择集中的对象并用给定名称保存选择集
  1. (defun C:VanishSelected (/ name ss)
  2. (setq name (getstring "\nEnter the name of the selection set: "))
  3. (setq ss (ssget))
  4. (set (read (strcat "MehreTaban-" name)) ss)
  5. (MT:Vanish ss)
  6. )
  7. (defun C:OffSelected () (C:VanishSelected))

 
Unvanish或On-取消隐藏所有对象
  1. (defun C:Unvanish () (MT:Unvanish (ssget "x" '((60 . 1)))))
  2. (defun C:On () (C:Unvanish))

 
UnvanishSelected或OnSelected-取消隐藏以前保存的选择集中的对象
  1. (defun C:UnvanishSelected ()
  2. (MT:Unvanish (eval (read (strcat "MehreTaban-" (getstring "\nEnter the name of selection set: ")))))
  3. )
  4. (defun C:OnSelected () (C:UnvanishSelected))

CADTutor的Shazam。LSP
回复

使用道具 举报

24

主题

141

帖子

115

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-6 08:09:30 | 显示全部楼层
谢谢你的Lisp程序。看起来很有希望。我将进行同样的测试。
再次感谢你的好主意。
问候Martin
回复

使用道具 举报

91

主题

428

帖子

326

银币

后起之秀

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

铜币
474
发表于 2022-7-6 08:46:21 | 显示全部楼层
不客气。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 05:03 , Processed in 0.987395 second(s), 71 queries .

© 2020-2025 乐筑天下

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