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!

Involute Curve Autolisp Routine

Status
Not open for further replies.

PhilBW

Mechanical
Feb 17, 2004
112
US
In thread406-103836, which is a couple of years old now, diamondjim provided an Autolisp routine for drawing involute gears in Autocad. The routine works great. However, I wasn't able to follow all the equations in the routine to verify if this draws a true involute. It looks similar to involute equations I have seen, but isn't exactly like the ones I am familiar with. I will use this to creaste an internal spline and am concerned about how it will fit the mating external spline.

Can diamondjim or anyone else verify if the equations here will create a true involute curve.

Thanks.

Phil
 
Replies continue below

Recommended for you

Looks like Jim is out of town...
Before he returns, few words about his lisp program.
This program creates involute curves for an external tooth.
If you want to use it for an internal tooth, then you have to use the size of the TOOTH SPACE as the "tooth thickness" input.
Check the created geometry for the actual tooth thickness (space) created, I am not sure about that feature of the program and I do not use ACAD. As you obviously know, the tooth thickness/space is measured as a length of an arc on the pitch diameter.
gearguru
 
The curve diamondjim created is right. If you want it more accurate, just set the variant "pnts" bigger.
There are several involute equations, his is right.

Here below I attached a lisp file which creates involute curve only, it can also create "short" or "long" involute, that means: the curve is not generated from the point on generate line, but some point offset from the line. So the curve generated from inside of base circle, when you set "h" negetive. By this, gear root fillet can be exactly drawn.

;
(defun c:involute ()
(command "_undo" "be")
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq q 0)
(setq f 0)
(setq h (getreal "\nDistance Offset:"))
(setq r (getreal "\nRadius of Practical Circle:"))
(setq t (getreal "\nAngle to go:"))
(setq n (getreal "\nAccurancy:")) ;set it in a degital smaller the 1
(setq cent (getpoint "\nCenter of Curve:"))

(if (= h 0) (command "pline" (list (+ (/ r 1) (car cent)) (cadr cent))
(list (+ (/ r 2) (car cent)) (cadr cent)) ""
)
(command "pline" (setq trimpoint (list (+ h r (car cent)) ((if (> h 0) - +) (cadr cent) (/ r 1))))
(list (+ h r (car cent)) ((if (> h 0) - +) (cadr cent) (/ r 2))) ""
)
)

(while (< f (* t (/ pi 180)))
(setq a (atan (* r f) (+ r h)))
(setq ri (/ (+ r h) (cos a)))
(setq q (- f a))
(setq pt0 (polar cent q ri))
(command "pline" "" pt0 "")
(setq f (+ f n))
)
(command "pedit" (entlast) "j" "all" "" "f" "")
(command "circle" cent r)
(setq bs (entlast))
(command "line" cent (list (+ 1 r h (car cent)) (cadr cent)) "")
(setq lt (entlast))
(if (= h 0) (command "trim" bs "" cent "")
(command "trim" lt "" trimpoint "")
)
(command "erase" lt "")

(setvar "osmode" os)
(command "_undo" "e")
(princ)
)
 
Thanks for your responses. I appreciate the information. Diamondjim, your autolisp routine has been a huge help. Thanks.

Phil
 
PhilBW,

I am glad the program is of use to you.
I used it for many years to draw profiles
for gear templates etc.
It does have its limitations however near the
base diameter. I tried using more points in
the program but could not find full compatability
in that area so I ended up using I think 19
points as that number has some special significance
to me.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top