;ETC-LYRS.LSP ;Some Basic Layer Manipulation Routines (DEFUN C:LC0 (/ X) ;Layer Copy To 0 (Zero) (SETQ X (SSGET)) (COMMAND ".COPY" X "" "0,0,0" "0,0,0") (COMMAND ".CHANGE" X "" "P" "LA" "0" "") (PROMPT (STRCAT "\n\t<" (ITOA (SSLENGTH X)) "> Entities Copied To Layer <0> ")) (PRINC) ) (DEFUN C:LCC (/ X) ;Layer Copy To Current Layer (SETQ X (SSGET)) (COMMAND ".COPY" X "" "0,0,0" "0,0,0") (COMMAND ".CHANGE" X "" "P" "LA" (GETVAR "CLAYER") "") (PROMPT (STRCAT "\n\t<" (ITOA (SSLENGTH X)) "> Entities Copied To Layer <" (GETVAR "CLAYER") ">" )) (PRINC) ) (DEFUN C:LCX (/ X Y) ;Layer Copy To Layer X (SETQ X (SSGET)) (SETQ Y (GETSTRING "\nEnter Target Layer Name: ")) (COMMAND ".COPY" X "" "0,0,0" "0,0,0") (COMMAND ".CHANGE" X "" "P" "LA" Y "") (PROMPT (STRCAT "\n\t<" (ITOA (SSLENGTH X)) "> Entities Copied To Layer <" Y ">" )) (PRINC) ) (defun C:LFA () ;Layer Freeze All (COMMAND ".LAYER" "F" "*" "") (PRINC) ) (DEFUN C:LFE (/ CECHO CLAY LA COUNT NUM ENT SSL XX) ;Layer Freeze Entity (setq clay (getvar "CLAYER")) (command "LAYER" "S" "0") (prompt "\nPick objects on layers to freeze: ") (setq LA (ssget)) (setq COUNT 0) (setq NUM (sslength la)) (while (< COUNT NUM) (setq ENT (SSNAME LA COUNT)) (setq SSL (CDR (CONS 8 (CDR (ASSOC 8 (ENTGET ENT)))))) (if (= SSL CLAY) (progn (prompt (strcat "\nLayer " SSL " is the current LAYER!")) (initget "Yes No") (setq XX (getkword "\nFreeze Layer? : ")) (cond ((EQ XX "Yes") (setq clay 0)) ((EQ XX "No") (setq SSL nil)) ) ) ) (setq COUNT (1+ COUNT)) (COMMAND "F" SSL) ) (command "S" CLAY "") (princ) ) (DEFUN C:LFX (/ X) ;Layer Freeze X (SETQ X (GETSTRING "\nEnter Layer To Freeze: ")) (COMMAND ".LAYER" "F" X "") (PRINC) ) (defun C:LLS (/ EN) ;Does a Simple List without a FLIPSCREEN (setq EN (entget (car (entsel "\nSelect Object to List: ")))) (cond ((= (cdr (assoc 0 EN)) "ARC") (prompt (strcat "ARC: ON LAYER <" (cdr (assoc 8 EN)) ">"))) ((= (cdr (assoc 0 EN)) "ATTDEF") (prompt (strcat "ATTRIBUTE: ON LAYER <" (cdr (assoc 8 EN)) ">" ))) ((= (cdr (assoc 0 EN)) "CIRCLE") (prompt (strcat "CIRCLE: ON LAYER <" (cdr (assoc 8 EN)) ">" ))) ((= (cdr (assoc 0 EN)) "DIMENSION") (prompt (strcat "DIMENSION: ON LAYER <" (cdr (assoc 8 EN)) ">" ))) ((= (cdr (assoc 0 EN)) "INSERT") (prompt (strcat "BLOCK INSERT: ON LAYER <" (cdr (assoc 8 EN)) ">" ))) ((= (cdr (assoc 0 EN)) "LINE") (prompt (strcat "LINE: ON LAYER <" (cdr (assoc 8 EN)) ">" ))) ((= (cdr (assoc 0 EN)) "POINT") (prompt (strcat "POINT: ON LAYER <" (cdr (assoc 8 EN)) ">" ))) ((= (cdr (assoc 0 EN)) "POLYLINE") (prompt (strcat "POLYLINE: ON LAYER <" (cdr (assoc 8 EN)) ">" ))) ((= (cdr (assoc 0 EN)) "SOLID") (prompt (strcat "SOLID: ON LAYER <" (cdr (assoc 8 EN)) ">" ))) ((= (cdr (assoc 0 EN)) "TEXT") (prompt (strcat "TEXT: ON LAYER <" (cdr (assoc 8 EN)) ">" ))) ) (PRINC) ) (DEFUN C:LM0 (/ X) ;Layer Move To 0 (Zero) (SETQ X (SSGET)) (COMMAND ".CHANGE" X "" "P" "LA" "0" "") (PROMPT (STRCAT "\n\t<" (ITOA (SSLENGTH X)) "> Entities Moved To Layer <0> ")) (PRINC) ) (DEFUN C:LMC (/ X) ;Layer Move To Current Layer (SETQ X (SSGET)) (COMMAND ".CHANGE" X "" "P" "LA" (GETVAR "CLAYER") "") (PROMPT (STRCAT "\n\t<" (ITOA (SSLENGTH X)) "> Entities Moved To Layer <" (GETVAR "CLAYER") ">" )) (PRINT) ) (DEFUN C:LMX (/ X Y) ;Layer Move To Layer X (SETQ X (SSGET)) (SETQ Y (GETSTRING "\nEnter Target Layer Name: ")) (COMMAND ".CHANGE" X "" "P" "LA" Y "") (PROMPT (STRCAT "\n\t<" (ITOA (SSLENGTH X)) "> Entities Moved To Layer <" Y ">" )) (PRINC) ) (defun C:LOF (/ X Y) ;Layer Off (setq X (cdr (assoc 8 (entget (car (entsel "\nSelect Entity To Turn Layer Off: ")))))) (if (/= X (getvar "CLAYER")) (progn (command ".layer" "off" X "") (eval X)) (progn (setq Y (strcase (getstring (strcat "\nReally want layer <" X "> The CURRENT layer off? ")))) (if (= (ascii Y) 89) (command "layer" "off" X "Y" "")))) (PRINC) ) (defun C:LON (/ X) (SETQ X (GETSTRING "\nEnter Layer To Turn On: ")) (COMMAND ".LAYER" "ON" X "") (PRINC) ) (DEFUN C:LS0 () ;Layer Set 0 (Zero) (COMMAND ".LAYER" "S" 0 "") (PRINC) ) (DEFUN C:LSC (/ X) ;Layer Set Current (SETQ X (CDR (ASSOC 8 (ENTGET (CAR (ENTSEL "\nSelect Object To Set Layer Current: ")))))) (COMMAND ".LAYER" "S" X "") (PRINC) ) (DEFUN C:LSX (/ X) ;Layer Set X (SETQ X (GETSTRING "\nEnter Layer To Set Current: ")) (COMMAND ".LAYER" "S" X "") (PRINC) ) (DEFUN C:LTA () ;Layer Thaw All (COMMAND ".LAYER" "T" "*" "") (PRINC) ) (DEFUN C:LTX (/ X) ;Layer Thaw X (SETQ X (GETSTRING "\nEnter Layer To Thaw: ")) (COMMAND ".LAYER" "T" X "") (PRINC) ) (prompt "ETC-LYRS.LSP is now Loaded....") (PRINC)