46 lines
1.5 KiB
Common Lisp
Executable File
46 lines
1.5 KiB
Common Lisp
Executable File
(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)
|