(defun c:acelayer ( / flag ed x rec laynam layer_mapping layer_restore) ; PURPOSE: adjust default layer color assignments for switch to light background. ; For example, change yellow-color layers to a color that displays better on a ; white or light background. Also restore WIRENO and WIREFIXED layers and color ; assignments if these two layers appear to have been purged from the drawing. ; (setq layer_mapping (list ; format is (list layernam newcolor) (list "WIRENO" 72) ; light green (70) --> shade darker (list "WIREFIXED" 7) ; light blue (130) --> black/white (list "WIREREF" 52) ; light green (61) --> darker olive green (list "WIREREF_DEST" 52) ; light green (61) --> darker olive green (list "MISC" 7) ; yellow --> black/white (list "PMISC" 7) ; yellow --> black/white (list "PTAG" 150) ; light yellow (51) --> medium blue (list "TAGS" 150) ; light yellow (51) --> medium blue (list "TERMS" 123) ; cyan --> gray/blue ) ) (setq layer_restore (list ; format is (list layername color linetype) (list "WIRENO" 72 "Continuous") (list "WIREFIXED" 7 "Continuous") ) ) (setvar "CMDECHO" 0) (setq flag T) ; flag to rewind to beginning of LAYER table (while (/= (setq ed (tblnext "LAYER" flag)) nil) (setq flag nil) ; clear the rewind flag (setq laynam (strcase (cdr (assoc 2 ed)))) ; forced to upper case ; Look for layer name match in "layer_mapping" (foreach rec layer_mapping (if (AND (= (car rec) laynam) ; found match on name (/= (cadr rec) (cdr (assoc 62 ed)))) ; mismatch on color assignment (progn ; flip color assignment for this layer (command "_.LAYER" "_C") (command (itoa (cadr rec))) (command (car rec)) (command "") (princ "\nLayer ") (princ (car rec)) (princ " ") (princ (cdr (assoc 62 ed))) (princ " --> ") (princ (cadr rec)) ) ) ) ) ; restore any missing layers (foreach rec layer_restore (setq laynam (car rec)) (if (not (tblsearch "LAYER" laynam)) (progn ; layer not found, create it now (command "_.LAYER" "_N" laynam "_C" (itoa (cadr rec)) laynam "_Ltype" (caddr rec) laynam "") (princ "\nRestored layer ") (princ laynam) (princ " color=") (princ (cadr rec)) (princ " ltype=") (princ (caddr rec)) ) ) ) (princ) )