漸開線的公式是
l; i) Q5 }- Y Xx=r(cos(theta)+theta*sin(theta))
+ O* s/ @! C( x# k/ Z9 qy=r(sin(theta)-theta*sin(theta))
r - 基圓半徑
1 o; m0 k& K) c3 z: f2 j/ rtheta - 成形角,弧度值
' L9 L, w; B- Y) ?在不同theta時算出x和y即可。
我用Autolisp做了個程序,,希望對大家有用。歡迎大家討論,。這里用的極坐標。
6 D, ]6 X! q5 u+ H: T+ q;*************************************************************************************
;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.
5 ]& y: X2 Y( R: K) E! m% v; [
(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 發(fā)表' \+ E1 C. ~& P& y1 \$ s9 U 應(yīng)該是y=r(sin(theta)-theta*cos(theta)),,請問基圓是不是齒輪的基圓(就是齒輪分度圓半徑與cosα的乘積,α是齒輪壓力角,,標準為20度),?坐標原點在哪?
呵呵,!看的仔細,!強!雖然三年以前學(xué)過,,也編過幾個復(fù)雜的,。但現(xiàn)在還是看不懂了。沒精力去搞這個,。感覺auto cad 在這方面不是很強,。學(xué)習(xí)探討一下倒是不錯。在實際應(yīng)用上還是建議使用專業(yè)的三維制圖軟件,。
原帖由 帶魚 發(fā)表又問:樓主,,是否能找到《工具技術(shù)》1998年05期刊“修緣插齒刀齒形技術(shù)方法”急用!謝謝
和你說的不是完全一樣,,但是《工具技術(shù)》1998年05期的文章也只有這篇了,。
請問基圓以下是什么曲線,?
歡迎光臨 機械社區(qū) (http://giwivy.com.cn/) | Powered by Discuz! X3.4 |