(defun c:coner ( )
(setq $oldosm (getvar “osmode”)) ;; osnap 보관
;; (setvar “osmode” 0) ;; osnap 해제
(if (= nil $coner_r1)
(setq $coner_r1 6) ;; 기초반지름은 여기서 수정
)
(setq $coner_r (getreal (strcat “n반지름 = ? < " (rtos $coner_r1 2 4) " > : “))
$p1 (getpoint “n1st 점을 선택하세요 : “)
$p3 (getcorner $p1 “n2nd 점을 선택하세요 : “)
)
(if (= nil $coner_r)
(setq $coner_r $coner_r1)
(setq $coner_r1 $coner_r)
)
(if (< (car $p2) (car $p1))
(setq $temp $p3
$p3 $p1
$p1 $temp
)
)
(setq $a (* $coner_r (sqrt 2))
$p2 (list (car $p3) (cadr $p1))
$p4 (list (car $p1) (cadr $p3))
)
(setvar “osmode” 0) ;; 위에 있는 osnap 해제를 이쪽으로 옮김
(command “pline”
(polar $p1 (angle $p1 $p4) $a) “a” “se” $p1 (polar $p1 (angle $p1 $p2) $a) “l”
(polar $p2 (angle $p2 $p1) $a) “a” “se” $p2 (polar $p2 (angle $p2 $p3) $a) “l”
(polar $p3 (angle $p3 $p2) $a) “a” “se” $p3 (polar $p3 (angle $p3 $p4) $a) “l”
(polar $p4 (angle $p4 $p3) $a) “a” “se” $p4 (polar $p4 (angle $p4 $p1) $a) “l” “cl”
)
(princ)
(setvar “osmode” $oldosm) ;; 이전 osnap으로 복귀
)
(defun c:coner1 (/ $coner_r $en1 $en2 $p110 $p111 $p210 $p211 $cr0 $p1 $p2 $p1A $p2A)
(setq $coner_r (getreal “n반지름 = ? : “)
$en1 (entsel “n1st LINE을 선택하세요 : “)
$en2 (entsel “n2nd LINE을 선택하세요 : “)
)
(setq $p110 (cdr (assoc 10 (ENTGET (CAR $en1))))
$p111 (cdr (assoc 11 (ENTGET (CAR $en1))))
$p210 (cdr (assoc 10 (ENTGET (CAR $en2))))
$p211 (cdr (assoc 11 (ENTGET (CAR $en2))))
$cr0 (inters $p110 $p111 $p210 $p211 nil)
)
(if (> (distance $cr0 $p110) (distance $cr0 $p111))
(setq $p1 $p110)
(setq $p1 $p111)
)
(if (> (distance $cr0 $p210) (distance $cr0 $p211))
(setq $p2 $p210)
(setq $p2 $p211)
)
(setq $p1A (polar $cr0 (angle $cr0 $p1) (* $coner_r (sqrt 2)))
$p2A (polar $cr0 (angle $cr0 $p2) (* $coner_r (sqrt 2)))
)
(setq $oldosm (getvar “osmode”)) ;; osnap 보관
(setvar “osmode” 0) ;; osnap 해제
(command “arc” $p1A $cr0 $p2a)
(entdel (car $en1))
(entdel (car $en2))
(command “line” $p1A $p1 “”)
(command “line” $p2A $p2 “”)
(princ)
(setvar “osmode” $oldosm) ;; 이전 osnap으로 복귀
)
ㅜㅜㅜㅜㅜㅜㅜㅜ
이리습을 사용하면 아래 그림처럼 지정된 파이값으로 4모서리에
형상이 생기는데요 현재는 사각형의 모서리와 원의 사분점이 1:1에요
이걸 위의 그림처럼 xy 방향으로 0.5밀리 정도 띄웠으면하는데요.
이 0.5라는 치수를 디폴트 형태로 설정할 수 있으면 더 좋고요 …