 - ;隐藏或显示部分图形
- ;作者wujimmy 来自:http://www.wujimmy.com
- ;修改自XIAXIANG 明经通道
- (setq wjm_hide_lst nil)
- (defun c:ee( / es es1 es2 bz)
- (setq index_num (getint "图形组编号:"))
- (princ "\n选择要显示或隐藏的图形:")
- (initget "Z F ")
- (setq bz (getkword "\n正向选择-Z/反向选择-F<Z>:"))
- (cond
- ((= bz "F")
- (setq es (ssget ))
- )
-
- (T
- (setq es1 (ssget))
- (setq es2 (ssget "_x"))
- (command "_.select" ES1 "a" ES2 "r" ES1 "")
- (setq es (ssget "P"))
- )
- );end cond
- (if es
- (progn
- (if (assoc index_num wjm_hide_lst)
- (progn
- (if (null(caddr(assoc index_num wjm_hide_lst))) (wjm_show_hide index_num) );_如果原来图层是关着的,就打开显示.
- (setq wjm_hide_lst (subst (list index_num es t)(assoc index_num wjm_hide_lst) wjm_hide_lst )))
- (setq wjm_hide_lst (append wjm_hide_lst (list (list index_num es t))))
- )
- (eval (read (strcat"(defun c:" (rtos index_num 2 0)"() (wjm_show_hide "(rtos index_num 2 0) "))")))
- )
- )
- )
- (defun wjm_show_hide(index_num / i% es index_num mid isShow )
- ;(setq index_num 1)
- (setq mid (assoc index_num wjm_hide_lst))
- (setq es (cadr mid))
- (setq isShow (null (caddr mid)))
- (setq wjm_hide_lst (subst (list index_num es isShow)(assoc index_num wjm_hide_lst) wjm_hide_lst ))
- (setq i% 0)
- (repeat (sslength es)
- (if isShow
- (redraw (ssname es i%) 1)
- (redraw (ssname es i%) 2)
- )
- (setq i% (1+ i%))
- )
- (if isShow
- (princ "\n已经全部显示!")
- (princ "\n已经全部隐藏!")
- )
- (princ)
- )
- (princ "\n ******* 显示隐藏编号程序已加载。命令: EE ************\n")
- (princ)
|