+发表新主题
sjy123 发布于2006-3-28 19:30 181 次浏览 10 位用户参与讨论
跳转到指定楼层
渐开线的公式是
x=r(cos(theta)+theta*sin(theta))
y=r(sin(theta)-theta*sin(theta))
r - 基圆半径
theta - 成形角,弧度值
在不同theta时算出x和y即可。
我用Autolisp做了个程序,希望对大家有用。欢迎大家讨论。这里用的极坐标。
;*************************************************************************************
;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: PLEASE 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)
)
回复

使用道具 举报

已有10人评论

zhh861105 发表于 2006-3-31 22:02:03
ding@
回复

使用道具 举报

a89 发表于 2006-4-4 21:22:26
应该是y=r(sin(theta)-theta*cos(theta)),请问基圆是不是齿轮的基圆(就是齿轮分度圆半径与cosα的乘积,α是齿轮压力角,标准为20度)?坐标原点在哪?
回复

使用道具 举报

sjy123 发表于 2006-4-5 18:51:56
你看的仔细。是写错了。
是齿轮的基圆。坐标原点自己点。
回复

使用道具 举报

lcd2008 发表于 2006-4-9 21:35:25
我要
回复

使用道具 举报

sucy333 发表于 2006-4-27 14:38:35
原帖由 zhiqiu 发表 应该是y=r(sin(theta)-theta*cos(theta)),请问基圆是不是齿轮的基圆(就是齿轮分度圆半径与cosα的乘积,α是齿轮压力角,标准为20度)?坐标原点在哪?


呵呵!看的仔细!强!虽然三年以前学过,也编过几个复杂的。但现在还是看不懂了。没精力去搞这个。感觉auto cad 在这方面不是很强。学习探讨一下倒是不错。在实际应用上还是建议使用专业的三维制图软件。
回复

使用道具 举报

a123456aaa 发表于 2006-4-27 16:29:50
各位老大,我想知道齿轮刀具与被切齿轮啮合时的包络曲线画法,特别是用于校验矩形花键滚刀的齿形设计,谢谢了!跪拜了!
hui:   xcy889900@163.com
回复

使用道具 举报

a123456aaa 发表于 2006-4-27 16:32:38
又问:楼主,是否能找到《工具技术》1998年05期刊“修缘插齿刀齿形技术方法”急用!谢谢
回复

使用道具 举报

龙世张 发表于 2006-4-27 16:51:55
原帖由 带鱼 发表 又问:楼主,是否能找到《工具技术》1998年05期刊“修缘插齿刀齿形技术方法”急用!谢谢


和你说的不是完全一样,但是《工具技术》1998年05期的文章也只有这篇了。
修缘插齿刀的计算机辅助设计.pdf

92.18 KB, 下载次数: 382, 下载积分: 威望 -10 点
回复

使用道具 举报

sjy123 发表于 2006-4-27 19:45:23
多谢梧桐站友
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ| Archiver|手机版|小黑屋| 碧波制图网 Stonespider

Copyright © 2021-2023 Kangli Wu   All Rights Reserved.

Powered by Discuz! X3.5( 苏ICP备18011607号-1 )

快速
回复
返回
列表
返回
顶部