Zorg
19th May 2009, 12:29 pm
Heres a neat little code that will zoome extents on all your viewports. Enjoy :D
(defun c:ze (/ 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)
)
Z
(defun c:ze (/ 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)
)
Z