漸開線的公式是
x=r(cos(theta)+theta*sin(theta))
y=r(sin(theta)-theta*sin(theta))
r - 基圓半徑
theta - 成形角,弧度值
7 U$ n; Y$ H1 j+ E+ C& B) O1 R: ~! b: q6 Q在不同theta時算出x和y即可。
4 p8 B+ V. c; x3 W4 X我用Autolisp做了個程序,希望對大家有用。歡迎大家討論。這里用的極坐標。
2 q. }0 j* _3 j2 d4 k5 ~;*************************************************************************************
;This program is to draw a involute in AutoCAD, anyone can use it freely without permission.
;Take the risk youself, suggest you to open a new drawing and run this program first, then
;copy it to your drawing.
;Chen Xiangsong
;
;Distance Offset: means when you draw a curve rather than a standard involute.
; it starts to draw the curve not from the base circle.
; it is curtate or prolate involute. it is useful as you draw gear root.
; standard involute, enter 0
;
;Radius of Base Circle: You have to know the meaning, or the program is useless to you
;
;Angle to go: means the length of involute you want. in degrees. it is not pressure
; angle, it is the pressure angle add involute Phi.
;
;Accurancy: the density of points you want on the curve, the smaller the more accurate.
; but will slow down your pc's speed. I normally enter 0.01
;
;Center of Curve: LEASE PICK A POINT ON THE SCREEN RANDOMLY, IT IS VERY IMPORTANT.
; DON'T PICK A SPECIAL POINT. That's the disadvantage of my program.
(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 Base Circle:"))
(setq t (getreal "\nAngle to go:"))
(setq n (getreal "\nAccurancy:"))
(setq cent (getpoint "\nCenter of Curve:"))
(if (= h 0) (command "pline" (list (+ 0 (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)
)
原帖由 zhiqiu 發表應該是y=r(sin(theta)-theta*cos(theta)),請問基圓是不是齒輪的基圓(就是齒輪分度圓半徑與cosα的乘積,α是齒輪壓力角,標準為20度)?坐標原點在哪?
呵呵!看的仔細!強!雖然三年以前學過,也編過幾個復雜的。但現在還是看不懂了。沒精力去搞這個。感覺auto cad 在這方面不是很強。學習探討一下倒是不錯。在實際應用上還是建議使用專業的三維制圖軟件。
原帖由 帶魚 發表又問:樓主,是否能找到《工具技術》1998年05期刊“修緣插齒刀齒形技術方法”急用!謝謝
和你說的不是完全一樣,但是《工具技術》1998年05期的文章也只有這篇了。
請問基圓以下是什么曲線?
歡迎光臨 機械社區 (http://www.ytsybjq.com/) | Powered by Discuz! X3.5 |