Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

drawing spur gears 1

Status
Not open for further replies.

mattador

Mechanical
Sep 21, 2004
1
I need to draw a spur gear for prototyping a new product design. Any help would be appreciated.

Gear would be:

6DP 18 tooth, 20 degree PA.
 
Replies continue below

Recommended for you

To manufacture gear you do not to actually draw it the gear manufacturer has hobs or grinding tool that will cut the gear to any accuracy you require. I assume you do not have any knowledge about gearing. I susgest you should invest some time to study the matter. After all I said you still can manufacture a gear from a drawing using CNC machining or EDM wire cut if you give the manufacturer a DXF file of gear. However, you will have problem defining and guarantying the gear accuracy if you know it.

There is a DOS program GEARGN.ZIP which you can find in
 
Mattador,
What does the 18 tooth pinion
mesh with? If the the pinion
is hobbed and meshes with an
external gear or rack, no problem
with involute interference.
If with an internal gear,
information is needed.
You should know the SAP Diameter
of the parts in mesh.
Attached in a Lisp file to draw
gears in acad. Hope this helps.

;GEAR.LSP - This program generates involute curve profile.

;USER INPUTS ARE:
; Number of Teeth Diametral Pitch
; Pressure Angle Arc Tooth Thickness (TT x DP)
; Addendum Dedendum
; Fillet Radius
(defun c:gear ()
(setq numt (getint "Number of Teeth:<24> "))
(if (= numt nil)
(setq numt 24))
(setq diap (getreal "Diametral Pitch:<1.00> "))
(if (= diap nil)
(setq diap 1.000))
(setq prsa (getreal "Pressure Angle:<20.0> "))
(if (= prsa nil)
(setq prsa 20.0))
(setq adum (getreal "Addendum:<1.0000> "))
(if (= adum nil)
(setq adum 1.0000))
(setq ddum (getreal "Dedendum:<1.1571> "))
(if (= ddum nil)
(setq ddum 1.1571))
(setq tt (getreal "Arc Tooth Thickness :<1.5708> "))
(if (= tt nil)
(setq tt 1.5708))
(setq filr (getreal "Fillet Radius:<0.235> "))
(if (= filr nil)
(setq filr 0.235))
(setvar "orthomode" 0)
(setvar "coords" 1)
;START CALCULATIONS
;
(setq pnts 19) ;determines involute curve accuracy
(setq prsa (/ (* prsa pi) 180.0)) ;pressure angle to radians
(setq pitr (/ numt (* diap 2.0))) ;calc pitch radius
(setq irad (- pitr ddum)) ;calc inside radius
(setq orad (+ pitr adum)) ;calc outer radius
(setq basr (* pitr (cos prsa))) ;calc base radius of gear
(setq z (- (expt orad 2.0) (expt basr 2.0))) ;three lines of
(setq x (sqrt z)) ;code to make
(setq paodd (atan (/ x basr))) ;an arccosine
(setq incr (/ paodd pnts))
(setq p 0.0)
(setq tt (* diap (/ tt numt)))
(GRAPHSCR)
(setq p2 '(0 0)) ;Center of Gear
(setq x2 (CADR p2))
(setq y2 (CAR p2))
(setq y5 (+ y2 basr))
(setq y6 (+ y2 irad))
(setq p6 (list x2 y6))
(setq p5 (list x2 y5))
(setq pz1 (polar p2 1.95 (* basr 0.9)))
(setq pz2 (polar p2 1.35 (* orad 1.5)))
(COMMAND "CIRCLE" P2 pitr) ;place pitch circle
(COMMAND "CIRCLE" P2 basr) ;place base circle
(COMMAND "CIRCLE" P2 irad) ;place inside circle
(COMMAND "ZOOM" "w" pz1 pz2) ;Window for drawing curve
(setq s (ssadd))
(setq le (entlast))
;
;begin a loop for placement of coordinate pairs
;the command pline will be used to generate a polyline whose
;vertices will be computed by a standard involute curve formula
;drawn from base diameter to the od of the part
(setq test 0)
(COMMAND "PLINE" p5)
(setq p (+ incr p))
(while (> pnts 0)
(setq e1 (sin p))
(setq e2 (cos p))
(setq e (/ e1 e2))
(setq j (- e p))
(setq x1 (* (/ (sin j) (cos p)) basr))
(setq y1 (* (/ (cos j) (cos p)) basr))
(setq x3 (+ x2 x1))
(setq y3 (+ y2 y1))
(setq p3 (list x3 y3))
(COMMAND p3)
(setq p (+ incr p))
(setq pnts (- pnts 1))
(if (/= test 1)
(PROGN
(setq hyp (sqrt (+ (expt x1 2) (expt y1 2))))
(if (> hyp irad)
(progn
(setq pint p3)
(setq test 1)))))
)
(COMMAND "")
(initget "Y y N n")
(setq ans Y)
(if (/= ans "N")
(PROGN
(setq pz3 (polar p2 (* pi 1.25) (* orad 1.6)))
(setq pz4 (polar p2 (* pi 0.25) (* orad 1.6)))
(setq ang13 (/ (sin prsa) (cos prsa)))
(setq ang11 (- ang13 prsa))
(setq x11 (* (sin ang11) pitr))
(setq y11 (* (cos ang11) pitr))
(setq p11 (list x11 y11))
(setq ang (angle p2 p11))
(setq angi (- ang tt))
(setq p12 (polar p2 angi (/ ORAD 0.8)))
(setq beta (angle p2 p3))
(setq ang2 (- (* angi 2.0) beta))
(setq p15 (polar p2 ang2 orad))
(setq adj1 (- ang2 j))
(setq adj2 (+ adj1 (/ (* pi 2.0) numt)))
(setq adj3 (+ adj2 0.3))
(setq p22 (polar p2 adj3 basr))
(setq p17 (polar p2 adj2 irad))
(setq p18 (polar p2 adj2 basr))
(setq angr (* (+ ang11 tt) (/ 180.0 pi)))
(setq p21 (polar p2 ang2 (/ orad 0.8)))
(setq angm (+ angi (/ pi numt)))
(setq p19 (polar p2 angm irad))
(setq p20 (polar p2 angm (+ irad filr)))
(COMMAND "ARC" p15 "c" p2 p3)
(COMMAND "MIRROR" "W" p22 p21 "" p2 p12 "")
(COMMAND "ROTATE" "w" pz3 pz4 "" p2 angr)
(while (setq le (entnext le))
(ssadd le s)
)
(COMMAND "ARRAY" s "" "p" p2 numt "" "")
) )
(Prompt "\nDone! ")
(princ)
)

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor