카운터 보어 자동치수 리습입니다. 치수가 2줄로 되어 있는데 지시선이 2줄의 가운데로 생성이 됩니다. 이걸 윗줄 가운데로 나오게 할 수 있나요???
(defun dtr (a) (* pi (/ a 180.0))) ;degree to radian
(defun c:CB(/ ort os gap df ts dsc tad cla dic m ins dic p1 p2 #b ts1 gap1 d1 t1 nt1 nt2)
(defun *error* (msg)
(princ “error: “)(princ msg) (setvar “osmode” os) (setvar “dimtad” tad)
(setvar “orthomode” ort)(setvar “clayer” cla)(princ))
(setq ort (getvar “orthomode”) os (getvar “osmode”) gap (getvar “dimgap”) df (getvar “dimlfac” )
ts (getvar “dimtxt”) dsc (getvar “dimscale”) tad (getvar “dimtad”) cla (getvar “clayer”))
(setvar “osmode” 512)
(setq p1 (getpoint “n카운터보어 바깥원 선택:”))
(setvar “osmode” os)
(setvar “orthomode” 0)
(setq p2 (getpoint p1 “n리더선 끝점 선택:”))
(setvar “orthomode” 1)
(setq #b (osnap p1 “cen”))
(setq ts1 (* ts dsc) gap1 (* gap dsc))
(setq d1 (+ (/ (+ (* ts1 1.5) ts1) 2) gap1))
(setq tex (getreal “n갯수 입력 [1 = 엔터]: “))
(if (>= tex 2)
(setq t1 (strcat (rtos tex 2 0) “-“))
(progn (setq t1 tex) (setq t1 “”))
)
(setq m (itoa(fix(atof(rtos(* (*(distance p1 #b )2.0) df)2 0)))))
(if (= m “48”) ;;;m30
(progn (setq d1 “33”) (setq d2 “48”) (setq d3 “32”) ))
(if (= m “43”) ;;;m27
(progn (setq d1 “30”) (setq d2 “43”) (setq d3 “29”) ))
(if (= m “39”) ;;;m24
(progn (setq d1 “26”) (setq d2 “39”) (setq d3 “25.5”) ))
(if (= m “35”) ;;;m22
(progn (setq d1 “24”) (setq d2 “35”) (setq d3 “23.5”) ))
(if (= m “32”) ;;;m20
(progn (setq d1 “22”) (setq d2 “32”) (setq d3 “21.5”) ))
(if (= m “29”) ;;;m18
(progn (setq d1 “20”) (setq d2 “29”) (setq d3 “19.5”) ))
(if (= m “26”) ;;;m16
(progn (setq d1 “18”) (setq d2 “26”) (setq d3 “17.5”) ))
(if (= m “23”) ;;;m14
(progn (setq d1 “16”) (setq d2 “23”) (setq d3 “15.2”) ))
(if (= m “20”) ;;;m12
(progn (setq d1 “14”) (setq d2 “20”) (setq d3 “13”) ))
(if (or (= m “18”) (= m “17”)) ;;;m10
(progn (setq d1 “11”) (setq d2 “17.5”) (setq d3 “11”) ))
(if (= m “14”) ;;;m8
(progn (setq d1 “9”) (setq d2 “14”) (setq d3 “9”) ))
(if (= m “11”) ;;;m6
(progn (setq d1 “6.5”) (setq d2 “11”) (setq d3 “6.5”) ))
(if (or (= m “10”) (= m “9”)) ;;;m5
(progn (setq d1 “5.5”) (setq d2 “9.5”) (setq d3 “5.5”) ))
(if (= m “8”) ;;;m4
(progn (setq d1 “4.5”) (setq d2 “8”) (setq d3 “4.4”) ))
(if (= m “6”) ;;;m3
(progn (setq d1 “3.4”) (setq d2 “6”) (setq d3 “3.3”) ))
(setq nt1 (strcat t1 “%%c” d1 ” DR 관통”))
(setq nt2 (strcat “%%c” d2 ” C.B DP” d3 ))
(setvar “osmode” 0)
(setvar “dimtad” 0)
(command “layer” “s” “0” “”) ; 여기 레이어이름 44(치수레이어) 바꾸세요
(command “leader” p1 p2 “” nt1 nt2 “”)
;(command “stretch” “c” (polar p2 (dtr 215) 0.1) (polar p2 (dtr 45) 0.1) “” (list 0 0 0) (list 0 d1)) ; 현재 미사용
(setvar “osmode” os)
(setvar “dimtad” tad)
(setvar “clayer” cla)
(setvar “orthomode” ort)
(princ)
);defun