;=¹®ÀÚ¸¸ ¼±ÅÃ=TS==================================================
(defun c:TS(/ ss)
  (prompt "nÅؽºÆ®¸¸ ¼±ÅÃ..")
  (setq ss (ssget (list (cons 0 "text,mtext"))))
  (sssetfirst nil ss)
(princ)
);defun
 
;=Ä¡¼ö¸¸ ¼±ÅÃ=DS==================================================
(defun c:DS(/ ss)
  (prompt "nÄ¡¼ö¸¸ ¼±ÅÃ..")
  (setq ss (ssget (list (cons 0 "dimension"))))
  (sssetfirst nil ss)
(princ)
);defun
 
;=¶óÀΟÀÔº°·Î ¼±ÅÃ=LTS======================================
(defun c:LTS(/ k ss num en1 la1 cn1 newss en la2 cn2 cno)
   (prompt " ¶óÀΟÀÔº°·Î ¼±ÅÃÇϱâ...")
   (setq k 0)
   (setq ss (ssget))
   (setq num (sslength ss))
   (setq en1 (car (entsel "n¶óÀΟÀÔ ¼±ÅÃ->")));entity name
   (setq la1 (cdr (@endb 8 en1)))
   (setq cn1 (cdr (@endb 6 en1)))
   (if cn1  (setq cno cn1) (setq cno (cdr (assoc 6 (tblsearch "layer" la1)))) )
   (setq newss (ssadd))
   (repeat num
      (setq en (ssname ss k))
      (setq la2 (cdr (@endb 8 en)))
      (setq cn2 (cdr (@endb 6 en)))
      (if (= cn2 nil) (setq cn2 (cdr (assoc 6 (tblsearch "layer" la2))))  )
      (if (= cn2 cno) (ssadd en newss) )
      (setq k (+ k 1))
   )
   (vl-cmdf "select" newss "")
   (prin1)
)
;subroutine ename¿¡¼­ dxf list ±¸Çϱâ
(defun @endb(@dnum @en) (assoc @dnum (entget @en)) )
 
;=»ö»óº° ¼±Åà ÈÄ On Off=======================================
;|
COF : ¼±Åà »ö»óÀ» off
CON : Àüü¸¦ on
COO : ¼±Åà »ö»óÀ» ³²±â°í ³ª¸ÓÁö off
|;
(defun c:COF (/ ss ss1 k co index ent old62)
  (prompt "n>>»ö»óº° OFF Çϱâ...")
  (setq ss (ssget "x"))
  (setq k 0)
  (if ss
    (progn
    (setq ss1 (ssget))
    (repeat (sslength ss1)
      (prompt "n OFFµÉ »ö»ó¼±Åà : ")
      (setq ss2 (ssname ss1 k))
      (setq co (getcolor (entget ss2)))
      (if co
        (progn
          (setq index 0)
          (vl-load-com)
          (repeat (sslength ss)
            (setq ent (ssname ss index))
            (setq old62 (getcolor (entget ent)))
            (if (= co old62)
              (vla-put-visible (vlax-ename->vla-object ent) 0)
            )
            (setq index (1+ index))
          )
        )
      )
     (setq k (1+ k))
     );repeat
    );progn
  );if
  (princ)
);defun
;---------
(defun c:COO (/ ss co index ent old62)  
  (prompt "n>>»ö»ó¼±Åà ¹ÝÀü OFF Çϱâ...") 
  (setq ss (ssget "x"))  
  (if ss  
    (progn  
      (setq ss2 nil) 
      (while (= ss2 nil) 
          (princ "n ³²±æ »ö»ó ¼±Åà : ")
          (setq ss2 (ssget))  
         (if (= ss2 nil) (prompt "n´Ù½Ã¼±ÅÃÇØÁÖ¼¼¿ä : ")) 
      )  
      (if ss2  
  (progn 
   (setq co (list (getcolor (entget (ssname ss2 0)))))
   (setq i 1)  
   (repeat (- (sslength ss2) 1)  
     (setq coss2 (getcolor (entget (ssname ss2 i))))
     (setq co (append co (list coss2)))
     (setq i (1+ i))  
   )
      (if co  
        (progn  
          (setq index 0)  
          (vl-load-com)  
          (repeat (sslength ss)  
            (setq ent (ssname ss index))  
            (setq old62 (getcolor (entget ent)))
             (if (not (member old62 co))  
              (vla-put-visible (vlax-ename->vla-object ent) 0)  
            ) 
            (setq index (1+ index))  
          )  
        )  
      )   ;end (if co
    )  
  )   ;end (if ss2
  )   
  )  ;end 
  (princ)  
)
;----------------
(defun c:CON (/ entall)
  (vl-load-com)
  (setq entall (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))
  (vlax-map-collection entall '(lambda(x) (vla-put-visible x -1)))
  (princ)
)
(defun getcolor (ent / temp l_color lay)
  (if (assoc 62 ent)
    (setq l_color (cdr (assoc 62 ent)))
    (progn
      (setq lay (cdr (assoc 8 ent)))
      (setq l_color (cdr (assoc 62 (tblsearch "layer" lay))))
    )
  )
  l_color
)