제가 사용하는 필렛값은 100인데..
어떤도면에서는 잘 적용이 되고, 어떤 도면에서는 필렛 100이 적용이 안되요
너무작게 표현이 되는 도면이 있는데, 이유가 무엇일까요?
어떤도면에서든지 실행시키면 무조건 필렛 100이 적용되도록 수정 부탁드립니다. ^^
————————————————————————————————————————————-
;———————————————————————————————-
; VV – ㄱ자 자동배선
;———————————————————————————————-
(defun c:VV (/ radd L:1 L:22 L1 L2 L3 dist dist11 dist22 dist1)
(setq old_osmode (getvar “osmode”)) ; 에러처리 루틴
(setq old_layer (getvar “clayer”)) ; 에러처리 루틴
(setq temp_osnap (getvar “osmode”))
(setq la (getvar “clayer”))
(setvar “cmdecho” 0)
(setvar “blipmode” 0)
(command “color” “bylayer”)
(prompt “n *** ㄱ자 ㄴ자 자동배선…↗(┌)↖(┐)↘(└)↙(┘)… “)
(setq radd (getvar “filletrad”))
(setq radd (fix radd))
(if (= han_round_size nil) (setq han_round_size 1000))
(setq L:1 han_round_size)
(setq old_osnap (getvar “osmode”))
(command “osnap” “QUA,MID”)
(setq L1 (getpoint “n Pick First line point : “))
(setq L2 (getcorner L1 “n Pick Second point : “))
(setvar “osmode” old_osnap)
(setq L3 (list (car L1) (cadr L2)))
(setq dist11 (distance L3 L1))
(setq dist22 (distance L2 L3))
(if (< dist11 dist22)
(setq dist dist11)
(setq dist dist22)
)
(if (< dist L:1)
(setq L:1 (* 3 (/ dist 4)))
)
(if (or (= (car L1) (car L2)) (= (cadr L1) (cadr L2)))
(command “line” L1 L2 “”)
(progn
(command “pline” L1 “w” “0” “” L3 L2 “”)
(command “fillet” “r” L:1)
(command “fillet” “p” “L”)
(setvar “filletrad” radd)
)
)
(setvar “blipmode” 0)
(command “layer” “s” la “”)
(setvar “osmode” temp_osnap)
(setvar “osmode” old_osmode) ; 에러처리 루틴
)
;———————————————————————————————-
; BB – ㄷ자 자동배선
;———————————————————————————————-
(defun c:BB (/ dist1)
(setq old_osmode (getvar “osmode”)) ; 에러처리 루틴
(setq old_layer (getvar “clayer”)) ; 에러처리 루틴
(setq temp_osnap (getvar “osmode”))
(setq la (getvar “clayer”))
(setvar “cmdecho” 0)
(setvar “blipmode” 0)
(command “color” “bylayer”)
(prompt “n *** ㄷ자 자동 배선… “)
(setq radd (getvar “filletrad”))
(setq radd (fix radd))
(if (= han_round_size nil) (setq han_round_size 1000))
(setq L:1 han_round_size)
(setq old_osnap (getvar “osmode”))
(command “osnap” “QUA,MID”)
(setq L1 (getpoint “n Pick First line point : “))
(command “osnap” “none”)
(setq L2 (getpoint L1 “n Distance line point : “))
(command “osnap” “QUA,MID”)
(setq L4 (getpoint “n Pick Last point : “))
(setvar “osmode” old_osnap)
(setvar “blipmode” 0)
(if (/= (cadr L1) (cadr L2))
(setq L3 (list (car L4) (cadr L2)))
(setq L3 (list (car L2) (cadr L4)))
)
(setq dist1 (distance L1 L2))
(setq dist2 (distance L3 L4))
(if (< dist1 dist2)
(setq kk dist1)
(setq kk dist2)
)
(if (< kk L:1)
(setq L:1 (* 3 (/ kk 4)))
)
(command “pline” L1 “w” “0” “” L2 L3 L4 “”)
(command “fillet” “r” L:1)
(command “fillet” “p” “L”)
(setvar “filletrad” radd)
(prin1)
(command “layer” “s” la “”)
(setvar “osmode” temp_osnap)
(setvar “osmode” old_osmode) ; 에러처리 루틴
)