您可以使用以下vlisp代码:
功能:
MT:消失-隐藏选择集中的对象:
- (defun MT:Vanish (%ss% / n ent)
- ;; by Mehrdad Ahankhah (Mehre Taban)
- (if (and (= 'PICKSET (type %ss%)) (< 0 (setq n (sslength %ss%))))
- (progn
- (princ (strcat "\nGoing to vanish " (itoa n) " objects."))
- (while (> n 0)
- (setq n (1- n))
- (setq ent (entget (ssname %ss% n)))
- (if (assoc 60 ent)
- (setq ent (subst '(60 . 1) (assoc 60 ent) ent))
- (setq ent (append ent '((60 . 1))))
- )
- (entmod ent)
- )
- (princ "\n'Vanish' done successfully.")
- )
- (T (princ "Nothing to vanish."))
- )
- (princ)
- )
MT:Unvanish-取消隐藏选择集中的对象:
- (defun MT:Unvanish (%ss% / n ent)
- ;; by Mehrdad Ahankhah (Mehre Taban)
- (if (and (= 'PICKSET (type %ss%)) (< 0 (setq n (sslength %ss%))))
- (progn
- (princ (strcat "\nGoing to set visible " (itoa n) " objects."))
- (while (> n 0)
- (setq n (1- n))
- (setq ent (entget (ssname %ss% n)))
- (setq ent (subst '(60 . 0) (assoc 60 ent) ent))
- (entmod ent)
- )
- (princ "\n'Unvanish' done successfully.")
- )
- (progn (alert "Nothing to set visible."))
- )
- (princ)
- )
命令:
消失或关闭-隐藏所有对象
- (defun C:Vanish () (MT:Vanish (ssget)))
- (defun C:Off () (C:Vanish))
Vanish Selected或OffSelected-隐藏选择集中的对象并用给定名称保存选择集
- (defun C:VanishSelected (/ name ss)
- (setq name (getstring "\nEnter the name of the selection set: "))
- (setq ss (ssget))
- (set (read (strcat "MehreTaban-" name)) ss)
- (MT:Vanish ss)
- )
- (defun C:OffSelected () (C:VanishSelected))
Unvanish或On-取消隐藏所有对象
- (defun C:Unvanish () (MT:Unvanish (ssget "x" '((60 . 1)))))
- (defun C:On () (C:Unvanish))
UnvanishSelected或OnSelected-取消隐藏以前保存的选择集中的对象
- (defun C:UnvanishSelected ()
- (MT:Unvanish (eval (read (strcat "MehreTaban-" (getstring "\nEnter the name of selection set: ")))))
- )
- (defun C:OnSelected () (C:UnvanishSelected))
CADTutor的Shazam。LSP |