找回密码
 注册会员
查看: 13937|回复: 6

三维渐开线齿轮的画法详解

  [复制链接]
发表于 2006-12-1 20:30:31 |Error| 显示全部楼层 |阅读模式

我们不再是孤独的探索者;让我们的手紧紧相连,一起成长。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
三维渐开线齿轮的画法详解
渐开线齿轮是我们常见的齿轮,在很多CAD工程装配图中我们都需要这类型齿轮。
方法一是利用程序,方法二较复杂,但是程序无法实现。
这里只是我自己的见解,有不妥之处请大家指教。
方法一:利用LISP程序
我在网上查找了一下,这是其中的一个程序:
(defun grinfo ()
  (setq c (getpoint "\\n 齿轮中心: "))
  (setq pc (getpoint "\\n 节距圆: "))
  (setq teeth (getint "\\n 齿数: "))
  (while (< teeth 14)
    (setq teeth (getint "\\n 必须至少14个齿: "))
  )
  (while (> teeth 50)
    (setq teeth (getint "\\n 必须不超过50个齿: "))
  )
  ;; (while(< teeth 14)(setq teeth(getint "\\n 必须至少14个齿: ")))
  ;;(while(> teeth 50)(setq teeth(getint "\\n 必须不超过50个齿: ")))
)
(defun calgear ()
  (setq d (* 2 (distance c pc)))
  (setq pc (polar c 0 (/ d 2)))
  (setq ang3 2.79248)
  (setq ang5 (/ 360.000000 teeth))
  (setq wang -0.785385)
  (setq wang 20.785385)
  (setq dp (/ teeth d))
  (setq ht (/ 0.32 dp))
  (setq adm (/ 1.0 dp))
  (setq y (* (/ 2.257 dp) 1.0642))
)
(defun drawgear ()
  (command "PLINE"
    (setq p (polar pc 0 adm))
    "a"
    "ce"
    c
    "l"
    ht
    "l"
    (setq p (polar (getvar "lastpoint") ang3 y))
    "a"
    "ce"
    c
    "l"
    ht
    ""
  )
  (SETQ TOP (GETvar "LASTPOINT"))
  (command "MIRROR"
    "L"
    ""
    (setq p (polar pc 0 adm))
    c
    "n"
  )
  (command "ARRAY"
    "w"
    (POLAR TOP 4.712389 (* Y 1.5))
    (polar TOP 0 Y)
    ""
    "c"
    c
    ang5
    "-360"
    "Y"
  )
)
(defun C:GEAR ()
  (grinfo)
  (setq stdots (getvar "blipmode"))
  (setq stech (getvar "cmdecho"))
  (setvar "blipmode" 0)
  (setvar "cmdecho" 0)
  (calgear)
  (drawgear)
  (setvar "blipmode" stdots)
  (setvar "cmdecho" stech)
)
(prompt "\\n键入Gear换起命令: ")
说明:
1.在加载程序后,换起命令是:Gear。
2.我们需要设定“齿轮中心”、“节距圆”、“齿数”,有了这些参数我们就能很快捷的画出渐开线齿轮了。
3.我们所画的齿轮齿数是在14~50之间。

评分

参与人数 1蓝币 +5 收起 理由
xtp + 5 谢谢分享

查看全部评分

发表于 2006-12-1 22:14:39 |Error| 显示全部楼层

我也发个三维齿轮插件

这段程序是《VB.NET二次开发cad》教程中的,我把它转到VBA中了。
用法:加载swcl.dvb,执行宏swcl

[ 本帖最后由 lymx 于 2006-12-1 22:18 编辑 ]
未命名.JPG

swcl.rar

19.2 KB, 下载次数: 87

评分

参与人数 1蓝币 +5 收起 理由
xtp + 5 谢谢分享

查看全部评分

回复 顶 踩

使用道具 举报

发表于 2006-12-27 16:40:38 |Error| 显示全部楼层

楼上的大哥,能不能给出SWCL的密码?

lymx 超级版主:
我正在学习VBA 能不能把你的密码给我?谢谢哦.. QQ:41647600
回复 顶 踩

使用道具 举报

发表于 2006-12-27 17:05:25 |Error| 显示全部楼层

谢谢,感谢二楼大哥!

感谢二楼大哥!眼泪花花的...
回复 顶 踩

使用道具 举报

发表于 2007-5-20 10:27:54 |Error| 显示全部楼层

回复 #2 lymx 的帖子

不错了啊!我要学学啊!
回复 顶 踩

使用道具 举报

发表于 2007-5-22 10:16:25 |Error| 显示全部楼层
成功,谢谢。很方便的~
回复 顶 踩

使用道具 举报

发表于 2007-5-22 14:33:26 |Error| 显示全部楼层
谢谢!下载了急用啊!!
回复 顶 踩

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

闭关者|手机版|© 2005-2026|Cncad.Net ( 苏ICP备2026083443号 )|网站地图

GMT+8, 2026-11-4 06:26 , Processed in 0.309392 second(s), 36 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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