;(C) 2008 CAD Studio - www.cadstudio.cz
;select objects on a picked layer(s)

(defun C:SELLAY ( / e ss i)
 (setq i (ssget "_I"))
 (setq e (nentsel "Select entity on a layer: "))
 (if e (setq ss (ssget (if i "_I" "_X") (list(cons 8 (cdr (assoc 8 (entget (car e)))))))))
 (if (zerop (getvar "CMDACTIVE"))
  (progn (sssetfirst ss ss)(princ "Use 'P' for this selection set: ")(princ))
   ss
 )
)

(defun C:SELLAYS ( / e lay ss layl i)
 (setq i (ssget "_I"))
 (setq layl ""  ss (ssadd))
 (while (setq e (nentsel "\nSelect entity on a layer <exit>: "))
  (setq layl (strcat layl "," (cdr (assoc 8 (entget (car e))))))
  (princ (substr layl 2))
 );while
 (setq layl (substr layl 2))
 (if (> layl "") (setq ss (ssget (if i "_I" "_X") (list (cons 8 layl)))))
 (if (zerop (getvar "CMDACTIVE"))
  (progn (sssetfirst ss ss)(princ "Use 'P' for this selection set: ")(princ))
   ss
 )
)

(princ "\nXanadu SELLAY + SELLAYS commands loaded.")(princ)
