;Ä«¿îÅͺ¸¾î Ä¡¼ö ³Ö±â
(defun dtr(a)(* pi (/ a 180.0)))
(defun c:AC(/ or os ts dsc tad p1 ss ed p2 rad ins dic  d1 tex t1 def_tex)
;->*error* start ; ¿¡·¯Çڵ鷯 ¿©±â¼­ºÎÅÍ
 (defun *error* (msg)(princ "error: ")(princ msg)
  (setvar "osmode" os) (setvar "dimtad" tad) (setvar "orthomode" or)
 (princ))
;-<*error* end ; ¿¡·¯Çڵ鷯 ¿©±â¼­±îÁö
(GRAPHSCR)(terpri)
(SETVAR "CMDECHO" 0)
   (setq or (getvar "orthomode")
         os (getvar "osmode")
         ts (getvar "dimtxt")
         dsc (getvar "dimscale")
         tad (getvar "dimtad"))
  (setvar "osmode" 512)
  (setq p1 (getpoint "n¢º C'bore Circle select:")) ; Ä«¿îÅÍ º¸¾î ¿ø ¼±ÅÃ
  (setvar "osmode" os)
  (setq ss (ssget p1 (list (cons 0 "circle"))))
  (setq ed (entget (ssname ss 0)))
  (setvar "orthomode" 0)
  (setq p2 (getpoint p1 "n¢º Second point:")) ; ¸®´õ¼± ³¡ ¹× ¹®ÀÚ°¡ ¾²¿©Áú À§Ä¡ ¼±ÅÃ
  (setvar "orthomode" or)
  (setq rad (cdr (assoc 40 ed))
        ins (cdr (assoc 10 ed))
        dic (rtos (* rad 2))) 
  (setq d1 (* dsc ts 2.1)) 
  (setq tex (getint "n¢º ¼ö·® [1ea = Enter]:?")) ; Ä«¿îÅͺ¸¾î ¼ö·® ÀÔ·Â
  
  (if (or (= tex 1)(= tex nil) (= tex 0))  ; ¼ö·®¿¡¼­ 1¶Ç´Â 0 ÀÔ·Â, ¶Ç´Â ¿£ÅÍÀ϶§... 
   (cond ((= rad 3) ; M3
        (setq nt1 (strcat  "%%C3.4 DR THRU") nt2 (strcat "%%C" dic " CB DP3.5")))
        ((= rad 4.0) ; M4
        (setq nt1 (strcat  "%%C4.5 DR THRU") nt2 (strcat "%%C" dic " CB DP4.5")))
        ((= rad 4.75) ; M5
        (setq nt1 (strcat  "%%C5.5 DR THRU") nt2 (strcat "%%C" dic " CB DP5.5")))
        ((= rad 5.5) ; M6
        (setq nt1 (strcat  "%%C6.6 DR THRU") nt2 (strcat "%%C" dic " CB DP6.5")))
        ((= rad 7.0) ; M8
        (setq nt1 (strcat  "%%C9.0 DR THRU") nt2 (strcat "%%C" dic " CB DP9.0")))
        ((= rad 8.75) ; M10
        (setq nt1 (strcat  "%%C11.0 DR THRU") nt2 (strcat "%%C" dic " CB DP11.0")))
        ((= rad 10.0) ; M12
        (setq nt1 (strcat  "%%C14.0 DR THRU") nt2 (strcat "%%C" dic " CB DP13.0")))
        ((= rad 11.5) ; M14
        (setq nt1 (strcat  "%%C16.0 DR THRU") nt2 (strcat "%%C" dic " CB DP15.0")))
        ((= rad 13.0) ; M16
        (setq nt1 (strcat  "%%C18.0 DR THRU") nt2 (strcat "%%C" dic " CB DP17.0")))
        ((= rad 14.5) ; M18
        (setq nt1 (strcat  "%%C20.0 DR THRU") nt2 (strcat "%%C" dic " CB DP19.0")))
        ((= rad 16.0) ; M20
        (setq nt1 (strcat  "%%C22.0 DR THRU") nt2 (strcat "%%C" dic " CB DP21.0")))
        ((= rad 17.5) ; M22
        (setq nt1 (strcat  "%%C24.0 DR THRU") nt2 (strcat "%%C" dic " CB DP23.5")))
        ((= rad 19.5) ; M24
        (setq nt1 (strcat  "%%C26.0 DR THRU") nt2 (strcat "%%C" dic " CB DP25.5")))
        ((= rad 21.5) ; M27
        (setq nt1 (strcat  "%%C30.0 DR THRU") nt2 (strcat "%%C" dic " CB DP29")))
        ((= rad 24) ; M30
        (setq nt1 (strcat  "%%C33.0 DR THRU") nt2 (strcat "%%C" dic " CB DP32")))
   );cond   
    (progn
     (setq t1 (strcat (itoa tex)"-")) ; ¼ö·®¿¡¼­ 1¶Ç´Â 0 ÀÔ·Â, ¶Ç´Â ¿£ÅÍ°¡ ¾Æ´Ò¶§...
     (cond ((= rad 3) ; M3
        (setq nt1 (strcat t1 "%%C3.4 DR THRU") nt2 (strcat "%%C" dic " CB DP3.5")))
        ((= rad 4.0) ; M4
        (setq nt1 (strcat t1 "%%C4.5 DR THRU") nt2 (strcat "%%C" dic " CB DP4.5")))
        ((= rad 4.75) ; M5
        (setq nt1 (strcat t1 "%%C5.5 DR THRU") nt2 (strcat "%%C" dic " CB DP5.5")))
        ((= rad 5.5) ; M6
        (setq nt1 (strcat t1 "%%C6.6 DR THRU") nt2 (strcat "%%C" dic " CB DP6.5")))
        ((= rad 7.0) ; M8
        (setq nt1 (strcat t1 "%%C9.0 DR THRU") nt2 (strcat "%%C" dic " CB DP9.0")))
        ((= rad 8.75) ; M10
        (setq nt1 (strcat t1 "%%C11.0 DR THRU") nt2 (strcat "%%C" dic " CB DP11.0")))
        ((= rad 10.0) ; M12
        (setq nt1 (strcat t1 "%%C14.0 DR THRU") nt2 (strcat "%%C" dic " CB DP13.0")))
        ((= rad 11.5) ; M14
        (setq nt1 (strcat t1 "%%C16.0 DR THRU") nt2 (strcat "%%C" dic " CB DP15.0")))
        ((= rad 13.0) ; M16
        (setq nt1 (strcat t1 "%%C18.0 DR THRU") nt2 (strcat "%%C" dic " CB DP17.0")))
        ((= rad 14.5) ; M18
        (setq nt1 (strcat t1 "%%C20.0 DR THRU") nt2 (strcat "%%C" dic " CB DP19.0")))
        ((= rad 16.0) ; M20
        (setq nt1 (strcat t1 "%%C22.0 DR THRU") nt2 (strcat "%%C" dic " CB DP21.0")))
        ((= rad 17.5) ; M22
        (setq nt1 (strcat t1 "%%C24.0 DR THRU") nt2 (strcat "%%C" dic " CB DP23.5")))
        ((= rad 19.5) ; M24
        (setq nt1 (strcat t1 "%%C26.0 DR THRU") nt2 (strcat "%%C" dic " CB DP25.5")))
        ((= rad 21.5) ; M27
        (setq nt1 (strcat t1 "%%C30.0 DR THRU") nt2 (strcat "%%C" dic " CB DP29")))
        ((= rad 24) ; M30
        (setq nt1 (strcat t1 "%%C33.0 DR THRU") nt2 (strcat "%%C" dic " CB DP32")))
        );cond
       );progn
   );if   
  (setvar "osmode" 0)
  (setvar "dimtad" 1) 
  (command "leader" p1 p2 "" nt1 nt2 "")
  (command "stretch" "c" (polar p2 (dtr 215) 0.1)
                        (polar p2 (dtr 0) 0.1)  "" "0,0" (list 0 (* d1 0.8825)) )
  (setvar "dimtad" tad)    
  (setvar "osmode" os)
(princ)
);defun