(defun c:insul(/ os bl cl opt1 pt1 pt2 pt3 pt4 thi angX angY n di
b1 b2 b3 b4 p1 p2 p3 p4 p5 p6 p7 p8 f1 f2)
(setvar “cmdecho” 0)
(setq os (getvar “osmode”))
(setq bl (getvar “blipmode”))
(setq cl (getvar “clayer”))
(setvar “blipmode” 1) (setvar “osmode” 33)
(setq pt1 (getpoint “n단열재 시작점 -> end
(setq opt1 pt1)
(setvar “osmode” 128)
(setq pt2 (getpoint pt1 “n단열재 두께 및 방향 -> per of “))
(setvar “osmode” 129)
(setq pt3 (getpoint pt1 “n단열재 끝점 -> end
(setq pt4 pt1)
(setvar “blipmode” 0)(setvar “osmode” 0)
(if (= th nil) (setq th 50.0))
(setq thi (distance pt1 pt2))
(if (= thi nil) (setq thi th))
(setq sc (/ thi 50.0))
(setq angX (angle pt1 pt3))
(setq angY (angle pt1 pt2))
(setq di (distance pt1 pt3))
(setq n (/ di (* sc 25.0)) )
(setq b1 (polar pt1 angY (* sc 4.32))
b2 (polar pt1 angY (* sc 13.55))
b3 (polar pt1 angY (* sc 36.45))
b4 (polar pt1 angY (* sc 50.00)))
(setq p1 (polar b1 angX (* sc 8.23))
p2 (polar b2 angX (* sc 9.35))
p3 (polar b3 angX (* sc 3.15))
p4 (polar b4 angX (* sc 12.50))
p5 (polar b3 angX (* sc 21.85))
p6 (polar b2 angX (* sc 15.65))
p7 (polar b1 angX (* sc 16.77))
p8 (polar pt1 angX (* sc 25.00)))
(command “pline” pt1 “a” “s” p1 p2 “l” p3 “a” “s” p4
p5 “l” p6 “a” “s” p7 p8 “”)
(while (>= n 1)
(setq pt1 p8)
(setq p8 (polar pt1 angX (* sc 25.00)))
(if (>= di (distance opt1 p8))
(command “copy” “l” “” pt1 p8)
)
(setq n (- n 1))
);while end
(setq f1 (polar pt4 angY sc))
(setq f2 (polar pt3 angY sc))
(command “pedit” “l” “j” “f” f1 f2 “” “” “”)
(setq th thi nm nmm)
(setvar “clayer” cl) (setvar “blipmode” bl)
(setvar “osmode” os)
(prin1)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
맨손이님이 올려주신 리습인데..
화면상에 시작점과 끝점이 화면상에 같이 보이지 않을때
에러가 생기는군요..
고수님 계시면 수정 부탁 드립니당..