马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
- ;;; zoome.lsp
- ;;;
- ;;; Zoom extents in all viewports
- ;;;
- ;;; By Jimmy Bergmark
- (defun c:zoome (/ oldcmdecho vplist curcvport nr vpss ms en x)
- (setq oldcmdecho (getvar "cmdecho"))
- (setvar "cmdecho" 0)
- (setq vplist (mapcar 'car (vports)))
- (setq curcvport (getvar "cvport"))
- (if (= (getvar "tilemode") 0)
- (progn
- (if (= (setq ms (getvar "cvport")) 1)
- (command "._mspace")
- )
- (setq vpss (ssget "_x"
- (list '(-4 . "<AND")
- '(0 . "VIEWPORT")
- (cons 410 (getvar "ctab"))
- '(-4 . "<NOT")
- '(69 . 1)
- '(-4 . "NOT>")
- '(-4 . "AND>")
- )
- )
- )
- (setq nr 0)
- (if vpss ; in case there are no viewports
- (repeat (sslength vpss)
- (setq en (entget (ssname vpss nr)))
- (if (and (= 0 (logand 1 (cdr (assoc 90 en))))
- ; not perspective
- (< 0 (cdr (assoc 68 en))) ; on and active
- (/= 16384 (logand 16384 (cdr (assoc 90 en))))
- ; not locked
- )
- (progn
- (setvar "cvport" (cdr (assoc 69 en)))
- (command "._zoom" "_e")
- )
- )
- (setq nr (+ 1 nr))
- )
- )
- (if (= ms 1) (command "._pspace"))
- )
- (foreach x vplist
- (setvar "cvport" x)
- (command "._zoom" "_e")
- )
- )
- (setvar "cvport" curcvport)
- (setvar "cmdecho" oldcmdecho)
- (princ)
- )
|