;; 레이어 자동 생성 목록 ================================================================================================
(vl-bb-set 'KiKO_ALM_Layer_List
       (list 
         ;;  |  명령어    |  레이어 이름  | 색상  | 레이어 라인타입 |출력 ON(1)| 메모            | 객체
         ;;  |            |               | 1~255 |                 |/OFF(0)   |                 | 색상
         (list "DIM*"        "Dimensions"    1      "Continuous"       1        "Dimension Layer")
         (list "*LEADER"     "Dimensions"    1      "Continuous"       1        "Dimension Layer")
         (list "*TEXT"       "Text"          2      "Continuous"       1        "Text Layer")
         (list "*HATCH"      "Hatch"         5      "Continuous"       1        "Hatch Layer")
         (list "*GRADIENT"   "Hatch"         5      "Continuous"       1        "Hatch Layer")
         (list "*POINT"      "Points"        250    "Continuous"       0        "Reference points")
         (list "*MEASURE"    "Points"        250    "Continuous"       0        "Reference points")
         (list "*XLINE"      "Defpoints"     250    "Continuous"       0        nil 251)
         (list "*MVIEW"      "Defpoints"     250    "Continuous"       0        nil)
         (list "*VPORT*"     "Defpoints"     250    "Continuous"       0        nil)
         (list "*BLOCK"      "Blocks"        1      "Continuous"       nil      nil)
         (list "*INSERT"     "Blocks"        1      "Continuous"       nil      nil)
         (list "*REVCLOUD" (strcat "Revisions-" (substr (rtos (getvar 'cdate) 2 0) 3)) 2 "Continuous" 1 "Revision - ")
       )
)
(if (= ALM_On_Off 0) (KiKO_Auto_Layer_Maker))
;; 레이어 자동 생성 목록 ================================================================================================

(defun C:CLC (/) (KiKO:Current_Layer_Change))  ;; 객체를 이용해 현재 레이어 변경

(defun C:CLA (/) (KiKO_Layer_Control_Change_Object nil))  ;; 선택 객체의 레이어로 선택 객체 이동

(defun C:TLAY (/ ss)  ;; Text와 Mtext만 선택 객체의 레이어로 선택 객체 이동
  (princ "\n레이어를 변경 할 문자 객체 선택 ... ")
  (if (setq ss (ssget '((0 . "TEXT,MTEXT"))))
    (KiKO_Layer_Control_Change_Object ss)
  )
  (princ)
) ;;Text와 Mtext만 선택

(defun C:DLAY (/ ss)  ;; 치수와 지시선만 선택 객체의 레이어로 선택 객체 이동
  (princ "\n레이어를 변경 할 치수 객체 선택 ... ")
  (if (setq ss (ssget '((0 . "DIMENSION,LEADER"))))
    (KiKO_Layer_Control_Change_Object ss)
  )
  (princ)
) ;;치수와 지시선만 선택

(defun C:BLAY (/ ss)  ;; Block만 선택 객체의 레이어로 선택 객체 이동
  (princ "\n레이어를 변경 할 블럭 객체 선택 ... ")
  (if (setq ss (ssget '((0 . "INSERT"))))
    (KiKO_Layer_Control_Change_Object ss)
  )
  (princ)
) ;;Block만 선택

(defun C:LO0 (/) (KiKO:Layer_And_Off))         ;; 선택 객체의 레이어 끄기
(defun C:LO1 (/) (KiKO:Layer_And_On))          ;; 꺼진 레어이를 모두 켜기
(defun C:LOO (/) (KiKO:Layer_On_And_Off))      ;; 레이어 켜기 / 끄기 상태 반전
(defun C:LL0 (/) (KiKO:Layer_Lock_On_Off))     ;; 선택 객체의 레이어 잠금 / 잠금 해제
(defun C:LL1 (/) (KiKO:Layer_Lock_On))         ;; 모든 레이어의 잠금 해제
(defun C:LLO (/) (KiKO:Layer_Lock_On_And_Off)) ;; 레이어 잠금 / 잠금해제 상태 반전
(defun C:LF0 (/) (KiKO:Layer_Freezer_Off))     ;; 선택 객체의 레이어 동결
(defun C:LP0 (/) (KiKO:Layer_Print_On_Off))    ;; 선택 객체의 레이어 출력 잠금 / 출력 잠금 해제
(defun C:LP1 (/) (KiKO:Layer_Print_On))        ;; 모든 레이어의 출력 잠금 해제
;;=== 레이어 =======================================================

;;=== 블럭 레이어 ==================================================
;(KiKO_Block_Layer_Change "G-code1" "G-code2" "G-code3" "G-code4" "G-code5")
; - "G-code1"  :  Object selection set < ex. (ssget) >  or nil
; - "G-code2"  :  Layer name - text    < ex. "Layer0" > or nil
; - "G-code3"  :  Color number - int 0 ~ 256  < ex. 3 > or nil
; - "G-code4"  :  Linetype - text  < ex. "HIDDEN" > or nil
; - "G-code5"  :  Linetype scale - int  < ex. 1 > or nil
(defun C:BLC (/) (KiKO_Block_Layer_Change nil nil nil nil nil))
;;=== 블럭 레이어 ==================================================

(defun C:CCC (/) (KiKO:Current_Color_Change))  ;; 객체를 이용해 현재 작업 색상 변경
(defun C:CTC (/) (KiKO:Current_Linetype_Change))  ;; 객체를 이용해 현재 작업 라인타입 변경
(princ)