아래와 같이 특정 색상을 선택하여 삭제하는 리습을 구했습니다.
삭제 말고 선택한 상태를 유지하고 싶은데.. 선택 후 레이어 변경 등 하려고요..
어떻게 바꾸면 될까요? command "erase" 부분을 "select" 로 바꾸긴 했는데
선택된 상태를 유지하지는 않습니다..ㅠㅠ

(defun c:ec(/ ss OS en ent obj col color layobj sss smemeber color2 ssno num sslen sss )

(defun *error* (msg)(princ "error: ")(princ msg)
(setvar "osmode" os) (command "clayer" "0") (princ) )
(setq os (getvar "osmode"))


;(vl-load-com) 
        (sssetfirst)
        (setq sss nil sss (ssadd))
 (setq en (car (entsel "\컬러필터링 삭제 - 기준컬러 객체를 선택")))
       
        (WHILE ( = EN NIL)
            (setq en (car (entsel "\n 컬러필터링 삭제 - 기준컬러 객체를 선택")))
 )  ;WHILE END 
 
 (setq ent (entget en) color (cdr (assoc 62 ent)) layer (cdr (assoc 8 ent)))

(if (= nil color)

(progn  ;;;;;;; bylayer 인 경우의 처리
 (setq obj(vlax-ename->vla-object en))
 (setq col (vla-get-TrueColor obj))
 (setq color(vlax-get col 'Colorindex))

   (if (= color 256)
    (progn
       (setq layobj (vlax-ename->vla-object (tblobjname "LAYER" (vlax-get obj 'LAYER))))
       (setq layobj (vla-get-TrueColor layobj))
       (setq color (vla-get-ColorIndex layobj))
       (PRINC "\n ColorIndex = ")
       (PRINC COLOR)
    )
   );if end

);progn end

 
  ;;-------------------------

(progn   ;;;;;;; bylayer가 아닌경우의 처리
  (PRINC "\n ColorIndex = ")
  (PRINC COLOR)
);progn end

 ); if end 
 
 
;;;;;;;;;;;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;;;;;;;;;;;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;;;;;;;;;;;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(prompt "\n객체범위를 선택")
(while (/= (setq ss (ssget)) nil)
(progn
  (if ( = ss nil)
    (exit)
  )
    (setq sslen (sslength ss)
   ssno 0
          num 0)
   
(while (/= sslen ssno) ;while bbb
(progn
(setq smember (ssname ss ssno))
(setq ssno (+ ssno 1))
(setq color2 (cdr (assoc 62 (entget smember))))
 
(if (= nil color2)

(progn  ;;;;;;; bylayer 인 경우의 처리
 (setq obj (vlax-ename->vla-object smember))
 (setq col (vla-get-TrueColor obj))
 (setq color2 (vlax-get col 'Colorindex))
 
   (if (= color2 256)
     (progn
       (setq layobj (vlax-ename->vla-object (tblobjname "LAYER" (vlax-get obj 'LAYER))))
       (setq layobj (vla-get-TrueColor layobj))
       (setq color2 (vla-get-ColorIndex layobj))
     
     );progn end
    );if end
) ;progn end
) ; if end

 
  (if (= color color2)
     ;(command "erase" smember "" )
     (ssadd smember sss)
  )   ; if end

);progn end 
);while-bbb end 

       (command "erase" sss "")
 );progn end
 );while end

) ;defun end