안녕하세요 리습 질문좀 부탁드리겠습니다.
아래 리습은 1mm 선을 파단하는 리습인데요
+이런식으로 교차 되어 있는 선을 한번에 -ㅣ- 이런 간격으로 끊어주는 리습입니다.
근데 굵은글씨 부분을 1로 설정하면 1mm가 끊겨야하는데 계속 1.5mm씩 끊기는데
어디서부터 잘못된건지 못찾겠습니다..
그리고 이 리습 사용시 오스냅이 자꾸 꺼지는데.. 해결방법좀 부탁드리겠습니다..
Kor_Storm 님께서 오스냅 고정리습 올려주신것도 해봐도 자꾸꺼지네요..
아래는 1mm파단 리습입니다. 사용방법은
자를선을 선택하고 교차점을 두번 선택시 교차점 기준으로 양쪽으로 절단됩니다
(defun dtr (a)
(* pi (/ a 180.0))
)
(defun rtd (a)
(* 180.0 (/ a pi))
)
(defun asin (a)
(atan (/ a (sqrt (+ (* (* -1 a) a) 1))))
)
(defun tan (a)
(/ (sin a) (cos a))
)
(defun point (a b c)
(setq ptx (+ (car a) b) pty (+ (cadr a) c))
(list ptx pty)
)
(setq a45 (* pi 0.25)
a90 (* pi 0.5)
a135 (* pi 0.75)
a180 pi
a225 (* pi 1.25)
a270 (* pi 1.5)
a315 (* pi 1.75)
a360 (* pi 2)
a0 0
)
(defun c:bv (/ ds s1 ss pt1 pt2 ag dt pt3 pt4 ag1 ag2 ag3)
(setvar “cmdecho” 0)
(setvar “osmode” 37)
;; (setq ds (getvar “dimscale”))
(setq ds 1) ;;
(setq ss (ssget))
(setq pt1 (getpoint “n>> First Point : “))
(setq pt2 (getpoint pt1 “n>> Second Point : “))
(setq ag1 (cdr (assoc 10 (entget (ssname ss 0)))))
(setq ag2 (cdr (assoc 11 (entget (ssname ss 0)))))
(setq ag (angle ag1 ag2))
(if (= nil pt2)(setq pt2 pt1))
(setq ag3 (angle pt1 pt2))
(setq dt (distance pt1 pt2))
(IF (/= 0 dt) (setq pt3 (polar pt1 ag3 (* 6 ds)))
(setq pt3 (polar pt1 ag (* 1.5 ds))))
(IF (= 0 dt) (setq pt4 (polar pt1 (+ ag (dtr 180)) (* 1.5 ds)))
(setq pt4 (polar pt1 (+ ag3 (dtr 180)) (* 1.5 ds))))
(setvar “osmode” 0)
(command “break” ss pt4 pt3)
(setvar “osmode” 37)
);end defun
(polar pt ang dist)로 이루어집니다.
함수중 pt 는 지점 ang는 각도 dist는 거리 입니다.
dist에 해당되는 부분을 수정하시면 됩니다.
위 리습중 4곳입니다.
예) (* 1.5 ds) 이부분이 dist에 해당되며 1.5 x 1 과 같습니다.
오 감사합니다!! 바로 수정됐네요~!
이리습을 반대로 선길이가 얼마든간에 클릭만 하면 10mm만 남기고 삭제하는 리습 있을까요?