(defun C:FIXVPORT (/ ss i en ed flags newflags result) (setq ss (ssget "X" (list (cons 0 "VIEWPORT")))) (if (null ss) (princ " [FIXVPORT] VP not found") (progn (princ (strcat " [FIXVPORT] found: " (itoa (sslength ss)))) (setq i 0) (while (< i (sslength ss)) (setq en (ssname ss i)) (setq ed (entget en)) (if (assoc 90 ed) (progn (setq flags (cdr (assoc 90 ed))) (princ (strcat " VP" (itoa i) " flag90=" (itoa flags))) (if (> flags 65535) (progn (setq newflags (logand flags 65535)) (princ (strcat " -> fix: " (itoa newflags))) (setq result (entmod (subst (cons 90 newflags) (assoc 90 ed) ed))) (if result (progn (entupd en) (princ " OK")) (princ " FAILED"))) (if (< flags 0) (progn (setq newflags (logand flags 65535)) (princ (strcat " -> fix(neg): " (itoa newflags))) (setq result (entmod (subst (cons 90 newflags) (assoc 90 ed) ed))) (if result (progn (entupd en) (princ " OK")) (princ " FAILED"))) (princ " skip")))) (princ (strcat " VP" (itoa i) " no flag90"))) (setq i (1+ i))))) (princ " [FIXVPORT] done - try select now") (princ) ) (princ " [FIXVPORT] loaded - ºäÆ÷Æ® ¼±Åà ¾ÈµÉ¶§ »ç¿ë_KDJ") (princ)