(defun insert_bolt(bolts len bolt_d bolt_h bs / p1 p2 p3 pon1 pon2 pon3
pon4 pon5 pon6 pon7 pon8 pon9 pon10 pon11 pon12 pon13 oldos)
(setq oldos(getvar "osmode"))
(setvar "osmode" 33)
(setq p1(getpoint"\n\"첫번째점 지정\""));insert point
(setq p2(getpoint"\n\"두번째점 지정\""));방향과 각도를 얻는다.
(setvar "osmode" 0);그리기위해서 오스넵을 꺼둔다.
(setq p3(angle p1 p2))
(setq pon1(polar p1 (+ p3 (/ pi 2)) (/ bolts 2)))
(setq pon2(polar pon1 p3 bs))
(setq pon3(polar pon2 p3 len))
(setq pon4(polar pon3 (- p3 (/ pi 2)) bolts))
(setq pon5(polar pon4 (+ p3 pi) len))
(setq pon6(polar pon5 (+ p3 pi) bs))
(setq pon7(polar p1 p3 (+ bs len)))
(setq pon8(polar pon7 (+ p3 (/ pi 2))(/ bolt_d 2)))
(setq pon9(polar pon8 p3 bolt_h))
(setq pon10(polar pon9 (- p3 (/ pi 2)) bolt_d))
(setq pon11(polar pon10 (+ p3 pi) bolt_h))
(setq pon12(polar pon7 p3 (+ bolt_h bolt_h)))
(setq pon13(polar p1 (+ p3 pi) bolt_h))
(command "color" "3" "" );볼트는 녹색
(command "pline" pon1 pon2 pon5 pon6 pon1 "")
(command "pline" pon2 pon3 pon4 pon5 pon2 "")
(command "pline" pon8 pon9 pon10 pon11 pon8 "")
(command "color" "1" "");중심선은 빨강색
(command "line" pon13 pon12 "");center line
(setvar "osmode" oldos)
(command "color" "bylayer" "")
);end
(defun c:ib();insert bolt(t.s bolt 규격참조)
(initget 1 "16 20 22 24")
(setq bolt_size (getkword"\n\"bolt size를 선택해주세요.(16 20 22 24)\""))
(setq len(getint"\n\"길이를 입력해주세요.\""))
(cond
((= bolt_size "16")(insert_bolt 16.0 len 27.0 10.0 15.0));볼트사이즈,길이,d(머리지름),h(머리두께),s(덜어져 나갈부분)
((= bolt_size "20")(insert_bolt 20.0 len 34.0 13.0 18.0))
((= bolt_size "22")(insert_bolt 22.0 len 39.0 14.0 19.0))
((= bolt_size "24")(insert_bolt 24.0 len 43.0 15.0 20.0))
)
(princ)
)
규격화된 볼트를 그린다.
딴건 없고 서브 함수에 매게변수를 건네주는 것을 본격적으로 활용한것에 의의
상수와 변수 모두 잘 건네주었다.
지역변수 지정도 정상작동 돼었다.
딴건 없고 서브 함수에 매게변수를 건네주는 것을 본격적으로 활용한것에 의의
상수와 변수 모두 잘 건네주었다.
지역변수 지정도 정상작동 돼었다.
댓글 없음 :
댓글 쓰기