¿£Áö´Ï¾î ±â¼úºí·Î±×
Count bore ÀÛµµ¸®½À
÷ºÎ ÆÄÀÏ CounterBore.DCL °ú ¾Æ·¡¸®½ÀÀ» °°ÀÌ »ç¿ë
¸í·É¾î CB
¸®½À ÁÖ¼®¹® Áß ¡Ú Ç¥ ºÎºÐ  »ç¿ëÀÚ ·¹À̾î À̸§ º¯°æ ÇÊ¿ä
 

;;;  Counter Bore ÀÛµµ ÇÁ·Î±×·¥"
(defun dcl_cb ()
   (setq dcl_id (load_dialog "CounterBore.dcl"))
   (if (not (new_dialog "cb" dcl_id))
      (exit)
   )
   (set_tile "d_size" "1")
   (cond
      ( (= fp 1) (set_tile "d_jm" "1") )
      ( (= fp 2) (set_tile "d_pm" "1") )
   )
   (set_mlist)
   (action_tile "d_pm" "(do_pm)")
   (action_tile "d_jm" "(do_jm)")
   (action_tile "KCancel" "(DoneDialog_Exit)")
   (action_tile "accept"
      (strcat
         "(progn (setq dm (atoi (get_tile "d_msize")))"
         "(setq dsize (atoi (get_tile "d_size")))"
         "(setq DrawCLine (get_tile "DrawCenterLineKey"))"
         "(done_dialog))"
      )
   )
   (start_dialog)
   (unload_dialog dcl_id)
)
(defun DoneDialog_Exit ()
   (done_dialog)
   (exit)
)
;;; POP_UP ListdÀÇ LIST Á¤ÀÇ
(defun set_mlist()
 (if (= dm nil)(setq dm 3))
 (if (= d_msize nil)(setq d_msize dm))
(setq mlist (list "M2" "M2.5" "M3" "M4" "M5" "M6" "M8" "M10" "M12" "M16" "M20" "M24" "M30" "M36" "M42" "M48"))
 (start_list "d_msize")
 (mapcar 'add_list mlist)
 (end_list)
 (set_tile "d_msize" (itoa d_msize))
)
;;; Unselected Define
(defun do_pm()
 (setq fp 2)
 (mode_tile "d_drw" 1)
)
(defun do_jm()
 (setq fp 1)
 (mode_tile "d_drw" 0)
)
(defun c:cb()
   (setvar "CMDECHO" 1)
   ;(if (not (tblsearch "LAYER" "TEMP"))
   ;   (command "_.-LAYER" "M" "TEMP" "")
  ;)
   (setvar "cmdecho" 0)
   (setq ds (getvar "dimscale"))
   (setq oosm (getvar "osmode"))
   (setq ol (getvar "clayer"))
   (setq sch1 (/ (* (getvar "dimtxt") (getvar "dimscale")) 3))
   (dcl_cb)
   (cond
      ((= dm 0)(setq  m 2 d 4.2  h 2.3  sd 2.5))
      ((= dm 1)(setq  m 2.5 d 5.  h 2.8  sd 3.))
      ((= dm 2)(setq  m 3 d 6.5  h 3.3  sd 3.4))
      ((= dm 3)(setq  m 4 d 8.   h 4.4   sd 4.5))
      ((= dm 4)(setq  m 5 d 9.5  h 5.4   sd 5.5))
      ((= dm 5)(setq  m 6 d 11   h 6.5   sd 6.6))
      ((= dm 6)(setq  m 8 d 14   h 8.6   sd 9.))
      ((= dm 7)(setq  m 10 d 17.5 h 10.8  sd 11.))
      ((= dm 8)(setq  m 12 d 20.  h 13.   sd 14.))
      ((= dm 9)(setq  m 16 d 26  h 17.5  sd 18.))
      ((= dm 10)(setq m 20 d 32  h 21.5  sd 22.))
      ((= dm 11)(setq m 24 d 39  h 25.5  sd 26.))
  ((= dm 12)(setq m 30 d 48  h 32  sd 33))
   ((= dm 13)(setq m 36 d 58  h 38  sd 39))
  ((= dm 14)(setq m 42 d 67  h 44  sd 45))
  ((= dm 15)(setq m 48 d 76  h 50  sd 52))
   )
   (if (= dsize 1)(setq y-n "y")(setq y-n "n"))
   (while (or (= y-n "y")(= y-n "Y"))
      (setvar "OSMODE" 37) ;;; int, cen, end
      (setq sp (getpoint "nEnter insertpoint :"))
      (setvar "OSMODE" 0)
      (if (= fp 2)
         (progn
            (command "layer" "s" "0" "")
            (command "circle" sp (/ sd 2.) "circle" sp (/ d 2.))
            (setq temp (strcat "M" (itoa m)))
            (if (= "1" DrawCLine)
               (progn
                  (setq CLPoint1 (polar sp pi (+ (* ds 1.135) (/ d 2.0))))
                  (setq CLPoint2 (polar sp 0.0 (+ (* ds 1.135) (/ d 2.0))))
                  (setq CLPoint3 (polar sp (/ pi 2.0) (+ (* ds 1.135) (/ d 2.0))))
                  (setq CLPoint4 (polar sp (* pi 1.5) (+ (* ds 1.135) (/ d 2.0))))
                 ; (command "CECOLOR" "1")
                 ; (if (not (tblsearch "LTYPE" "CENTER"))
                  ;   (command "-LINETYPE" "L" "CENTER" "" "")
                 ; )
                 ; (command "CELTYPE" "CENTER")
     (command "layer" "s" "22" "") ;; ¡Ú Á߽ɼ± ·¹À̾î À̸§ 22 »ç¿ëÀÚ ·¹À̾î·Î º¯°æ
                  (command "_.LINE" CLPoint1 CLPoint2 "" "_.LINE" CLPoint3 CLPoint4 "")
                 ; (command "CECOLOR" "BYLAYER")
                 ; (command "CELTYPE" "BYLAYER")
               )
            )
         )
      )
      (if (= fp 1)
         (progn
            (command "osnap" "perp")
            (setq ta (getpoint sp "nSelect Point with Direction and Material Thickness :"))
            (command "osnap" "none")
            (setq t (distance sp ta))
            (setq angd (angle sp ta)) (setq ang (+ angd (* pi 0.5)))
            (setq n (/ pi 2)) (setq w pi) (setq s (/ (* pi 3.) 2.))
            (setq c1 (polar sp (+ s ang) h)
                  c2 (polar sp (+ s ang) t)
                  p1 (polar sp  ang (/ d 2.))
                  p2 (polar sp (+ w ang) (/ d 2.))
                  p3 (polar c1  ang (/ d 2.))
                  p4 (polar c1 (+ w ang) (/ d 2.))
                  p7 (polar c1  ang (/ sd 2.))
                  p8 (polar c1 (+ w ang) (/ sd 2.))
                  p5 (polar c2  ang (/ sd 2.))
                  p6 (polar c2 (+ w ang) (/ sd 2.))
            )
            (command "layer" "s" "0" "") ;; ¡Ú¿ÜÇü¼± ·¹À̾î À̸§ 0 »ç¿ëÀÚ ·¹À̾î·Î º¯°æ
            (command "line" p1 p3 p4 p2  "" "line" p7 p5  "" "line" p8 p6 "")
           ; (setq temp (strcat "%%c" (rtos d 2 1) "*" (rtos h 2 1) " C'BORE"))
     (setq temp (strcat "M" (itoa m)))
            (if (= "1" DrawCLine)
               (progn
                  (setq CLPoint1 (polar sp (+ (angle sp ta) pi) (* ds 1.135)))
                  (setq CLPoint2 (polar ta (angle sp ta) (* ds 1.135)))
                 ; (if (not (tblsearch "LTYPE" "CENTER"))
                  ;   (command "-LINETYPE" "L" "CENTER" "" "")
                  ;)
    ;  (command "CELTYPE" "CENTER")
                   
                 ; (command "CECOLOR" "1")
       (command "layer" "s" "22" "") ;; ¡Ú Á߽ɼ± ·¹À̾î À̸§ 22 »ç¿ëÀÚ ·¹À̾î·Î º¯°æ
                  (command "_.LINE" CLPoint1 CLPoint2 "")
                 ; (command "CECOLOR" "BYLAYER")
                 ; (command "CELTYPE" "BYLAYER")
               )
            )
         )
      )
      (princ)
      (if (or (= y-n "y")(= y-n "Y"))
         (progn
     (command "layer" "s" "ghost" "") ;; ¡Ú ±Ô°ÝÀÔ·Â¿ë ·¹À̾î À̸§ ghost »ç¿ëÀÚ ·¹À̾î·Î º¯°æ
           ; (command "layer" "s" "temp" "" )
            (command "text" "m" sp sch1 "0" temp)
         )
      )
      (prompt "n±Ô°Ý ")(princ temp)(prompt "¸¦(À») »ç¿ëÇß½À´Ï´Ù.")
      (prompt "nÀÔ·ÂÀ» ´õ ÇϽðÚÀ¾´Ï±î?(Yes or No) <Y>: ")
      (setq y-n (getstring))
      (if (= y-n "") (setq y-n "Y"))
   )
   (setvar "CMDECHO" 1)
   (setvar "OSMODE" oosm)
   (setvar "clayer" ol)
   (princ)
)