Spur Gear ±×¸®´Â ¸®½ÀÀÔ´Ï´Ù.
°£È¤ Ä¡ÇüÀÌ ÀÖ´Â ±â¾î¸¦ ±×¸®´Âµ¥ ¾î·Á¿òÀ» È£¼Ò ÇϽô ºÐÀÌ ÀÖ¾î¼ ¿Ã·Áµå¸³´Ï´Ù. ¾à½Ä±×¸®±â¿Í Ä¡Çü ¸ðµÎ±×¸®±â ¿É¼ÇÀÌ ÀÖ½À´Ï´Ù. ¸í·É¾î´Â SGEAR ÀÔ´Ï´Ù. ·¹ÀÌ¾î ¼³Á¤ ±â´ÉÀº ¸ðµÎ OFF »óÅÂÀÔ´Ï´Ù. ·¹À̾ »ç¿ë ÇϽǷÁ¸é ¸®½À Çϴܺο¡¼ ; (command "layer" "s" "·¹À̾îÀ̸§" "") 4°÷À» ãÀ¸¼Å¼ ¸Ç ¾Õ ; ºÎÈ£¸¦ »èÁ¦ÇØ ÁÖ½Ã°í ·¹À̾î À̸§À» ³ÖÀ¸½Ã¸é µË´Ï´Ù. ;SPURE GEAR DRAWING..... AutoLisp
; Jeong,YS ; 1998.2.14 (defun pgr1(a b) (sqrt (+ (expt a 2) (expt b 2)))) (defun pgr2(a b) (sqrt (- (expt a 2) (expt b 2)))) (defun expt2 (a) (expt a 2)) (defun dtr (a) (* pi (/ a 180.0))) (defun rtd (a) (/ (* a 180.0) pi)) (defun sin1 (a) (sin (dtr a))) (defun cos1 (a) (cos (dtr a))) (defun tan (a) (/ (sin a) (cos a))) (defun tan1 (a) (/ (sin1 a) (cos1 a))) (defun cot (a) (/ (cos a) (sin a))) (defun cot1 (a) (/ (cos1 a) (sin1 a))) (defun a-tan (a) (/ (* (atan a) 180.0) pi)) ;------------------------------------------------------------------------------- (defun c:sgear() (graphscr) (defun *error* (msg) (princ "error: ")(princ msg) (setvar "osmode" os) ; OS¸ðµå µÇµ¹¸² (princ) );;defun *error* (setq os(getvar "osmode")) (setvar "cmdecho" 0) (setvar "osmode" 32) (setq bas (getpoint "nPick base point :")) (setq m (getreal "nEnter Module ?:")) (setq zz (getint "nEnter tooth of No.?:")) (setq z (float zz)) (setq deg1 (getreal "nEnter pressure angle (14.5 or 20)?:")) (initget 1 "S O") (setq type (getkword "Enter drawing type (Simple=S , Original=O)?:")) ;------------------------------------------------------------------------ (setq d (* m z)) (setq d1 (+ d (* 2 m))) (setq d2 (- d (* 2.5 m))) (setq p (/ (* pi d) z)) (setq dp (/ z d)) (setq r1 (/ d 8)) (setq deg2(/ 180 z)) (setq deg3(/ 90 z)) (setq dd1 (/ d 2)) (setq dd2 (* (cos1 deg1) (/ d 2))) (setq dd3 (/ (- (+ (expt2 dd1) (expt2 dd2)) (expt2 r1)) (* (* 2 dd1) dd2))) (setq dd4 (- (expt2 (/ 1 dd3)) 1)) (setq deg4(a-tan (sqrt dd4))) (setq deg5(- deg4 deg3)) (setq dd5 (/ d1 2)) (setq dd6 (/ (- (+ (expt2 dd5) (expt2 dd2)) (expt2 r1)) (* (* 2 dd5) dd2))) (setq dd7 (- (expt2 (/ 1 dd6)) 1)) (setq deg6(a-tan (sqrt dd7))) (setq deg7(- deg4 deg6)) (setq deg8(+ deg2 (* 2 deg7))) (setq deg9(- deg3 deg7)) (setq w (* (* pi d1) (/ deg8 360))) (setq r2 (/ w 7)) ;------------------------------------------------------------------------ (setq pt1 (polar bas (dtr (+ 90 (+ deg3 deg1))) (* (cos1 deg1) (/ d 2)))) (setq pt2 (polar bas (dtr (+ 90 deg3)) (/ d 2))) (setq pt3 (polar bas (dtr 90) (/ d1 2))) (setq pt4 (polar bas (dtr 90) (/ d2 2))) (setq pt5 (polar bas (dtr (+ 90 deg2)) (/ d2 2))) (setq pt6 (polar bas (dtr (- 90 deg5)) (* (cos1 deg1) (/ d 2)))) (setq pt7 (polar bas (dtr (+ 90 deg9)) dd5)) (setq pt8 (polar bas (dtr 0) (* dd5 1.1))) (setq pt9 (polar bas (dtr 90) (* dd5 1.1))) (setq pt10(polar bas (dtr 180) (* dd5 1.1))) (setq pt11(polar bas (dtr 270) (* dd5 1.1))) ;------------------------------------------------------------------------ (setvar "osmode" 0) ; (command "layer" "s" "22" "") ;Á߽ɼ± (command "line" pt8 pt10 "") (command "line" pt9 pt11 "") (command "circle" bas "d" d) (if (= type "O") (progn ; (command "layer" "s" "11" "") ;¿ÜÇü¼± (command "arc" pt3 "c" bas pt7) (setq ent1 (entlast)) (command "arc" pt4 "c" bas pt5) (setq ent2 (entlast)) (command "arc" pt7 "c" pt6 "a" 100) (setq ent3 (entlast)) (command "fillet" "r" r2) (command "fillet" (list ent2 pt5) (list ent3 pt2)) (setq ent4 (entlast)) (command "mirror" ent1 ent2 ent3 ent4 "" bas pt9 "") (setq ent5 (entnext ent4)) (setq ent6 (entnext ent5)) (setq ent7 (entnext ent6)) (setq ent8 (entnext ent7)) (command "pedit" ent1 "y" "j" ent2 ent3 ent4 ent5 ent6 ent7 ent8 "" "") (setq ent9 (entlast)) (command "array" ent9 "" "p" bas zz 360 "") ) ;e progn (progn ; (command "layer" "s" "11" "") ;¿ÜÇü¼± (command "circle" bas "d" d1) ; (command "layer" "s" "88" "") ; °¡»ó¼± (command "circle" bas "d" d2) ) ;e progn ) ;e if (setvar "osmode" os) (princ) ) |