找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4516|回复: 33

[求助]:如何画渐开线?

[复制链接]
发表于 2003-6-30 10:49:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
如何画渐开线?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-6-30 11:42:38 | 显示全部楼层
你是不是要画数学中圆的渐开线,有什么具体要求,说仔细一点,用程序方法来画。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-6-30 12:44:10 | 显示全部楼层
就是这个!请教斑主如果画的呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-30 16:24:48 | 显示全部楼层
我写了个VBA小程序,代码如下:

  1. Sub blx()

  2. Dim jkxObj As AcadLWPolyline

  3. Dim points() As Double
  4. Dim a, n As Integer
  5. Dim R As Double
  6. Dim p As Variant
  7. Const PI = 3.1415926535

  8. p = ThisDrawing.Utility.GetPoint(, "请输入渐开线基圆圆心:")
  9. R = ThisDrawing.Utility.GetDistance(p, "请渐开线基圆半径:")
  10. n = ThisDrawing.Utility.GetReal("请输入渐开线周波数:")

  11. ReDim points(0 To 2 * 360 * n + 1) As Double
  12. For a = 0 To 2 * 360 * n Step 2
  13. points(a) = p(0) + R * (Cos(a * PI / 360) + (a * PI / 360) * Sin(a * PI / 360))
  14. points(a + 1) = p(1) + R * (Sin(a * PI / 360) - (a * PI / 360) * Cos(a * PI / 360))
  15. Next

  16. Set jkxObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
  17. ZoomExtents
  18. End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-30 16:29:10 | 显示全部楼层
这个程序很可能不适合你,请告诉我你的要求(仔细点),我再修改。下面是程序的使用方法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-7-1 08:48:57 | 显示全部楼层
佩服!佩服!
可是,斑竹,我用的是CAD2000,而且是D版的,根本就没装上VBA,所以用不了:(
想画的渐开线是没什么要求的,任何圆大小。因为我从来没画成功过,所以想请教啦。
如果不是用VBA,那该怎么画呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-1 09:11:33 | 显示全部楼层
D版的CAD2000也有VBA啊,注意要完全安装!(你可能是典型安装)
如果不用VBA或LISP的话,可用EXCEL来帮忙,可参考:
http://www.xdcad.net/forum/showthread.php?threadid=50866
http://www.xdcad.net/forum/showthread.php?threadid=50077
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-1 11:21:05 | 显示全部楼层
很好用,感谢斑竹提供。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-7 16:14:49 | 显示全部楼层
请教了 螺旋线和渐开线有何区别啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-1 13:44:58 | 显示全部楼层
螺旋线和渐开线有何区别??
两个不同的概念嘛,找一本数学书来看看
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-1 14:30:14 | 显示全部楼层
vba 如何编?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-1 16:18:13 | 显示全部楼层
就用数学上的笨办法画啊,先画个正方形,然后从一个顶点开始画4分之一圆相接啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-1 21:00:18 | 显示全部楼层
我这用Lisp编了一个画渐开线的程序!!!!


(defun C:jkx ()
  (setq pi1 (/ pi 180))
  (setq po0 (getpoint " \n 请输入中心点:"))
  (if (= po0 nil)
    (setq po0 (list 0 0 0))
  )
  (SETQ d (GETREAL "\n 请输入分度圆直径:"))
  (if (= d nil)
    (setq d 100)
  )
  (setq step (getreal "\n 渐开线精细度(0<精细度<=10):"))
  (if (= step nil)
    (setq step 1)
  )
  (setq rd (/ d 2))
  (setq os (getver "osmode"))
  (setvar "osmode" 0)
  (command "UCS" "OR" po0)
  (command "CIRCLE" "0,0" rd)
  (SETQ R (* rd (COS (* PI1 20))))  ;标准齿轮分度圆的压力角为20度
  (SETQ ST 0)
  (SETQ STR (* PI1 ST))
  (SETQ X (* R (+ (COS STR) (* STR (SIN STR)))))
  (SETQ Y (* R (- (SIN STR) (* STR (COS STR)))))
  (SETQ XY (LIST X Y))
  (COMMAND "PLINE" XY)
  (SETQ ST (+ st step))
  (WHILE (<= ST 80)                        ;齿轮上的渐开线压力角不会超过80度
    (SETQ STR (* PI1 ST))
    (SETQ X (* R (+ (COS STR) (* STR (SIN STR)))))
    (SETQ Y (* R (- (SIN STR) (* STR (COS STR)))))
    (SETQ XY (LIST X Y))
    (COMMAND XY)
    (SETQ ST (+ st step))
  )
  (command "")
  (setvar "osmode" os)
  (command "UCS" "P")
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-2 09:54:59 | 显示全部楼层
4楼滴C侠提供的东东很好用啊!支持一下!继续努力啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-23 20:55:11 | 显示全部楼层
这些就看的不明百,不懂~~~~~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-11-15 12:54 , Processed in 0.289491 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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