找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3414|回复: 27

[求助]:怎样用CAD画三通管的展开图?

[复制链接]
发表于 2004-3-24 19:15:30 | 显示全部楼层 |阅读模式

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

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

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

使用道具 举报

 楼主| 发表于 2004-3-24 21:21:54 | 显示全部楼层
谢谢斑竹!不过这个链接的展开是一个圆锥体,并不是三通.在CAD中画变径三通的展开图看来不用VBA,或LISP好像很难啊!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-3-24 22:32:05 | 显示全部楼层

Re: [求助]:怎样用CAD画三通管的展开图?

最初由 SLMin 发布
[B]*-*1 *-*1 *-*1
在AutoCAD中如何画一个三通的展开图?请大家指教! [/B]

你的三通是不是这样的?如不是,请传个图上来。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-3-25 20:00:52 | 显示全部楼层
是啊!这种是等经的,还有直径不同的.3D效果图可以画出来!就是展开图不知如何画?请指教啊!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-3-25 21:50:31 | 显示全部楼层
这种的吧,会有人来画的.主管和分支管应分别展开.

                               
登录/注册后可看大图
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-3-26 21:00:12 | 显示全部楼层
!  其实这种扳金的展开图,在三维设计软年里面是非常容易就出来的。我式着用Inventor8做了一个,
!  Inventor是Autodesk公司专门针对机械设计而开发的三维软件,与Autocad完全兼容。画好后,可以转到CAD里面的。

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2004-3-26 22:58:13 | 显示全部楼层
我后来还是写了VBA程序.

  1. Sub st_zg()
  2. '画主管展开图
  3. Dim R1, R2, L1 As Double
  4. Dim pL, mipL, pL1, pL2 As AcadLWPolyline
  5. Dim pt As Variant
  6. Dim po(361) As Double
  7. pi = 3.1415926535

  8. pt = ThisDrawing.Utility.GetPoint(, "请输入变径管主管展开图的中心点:")
  9. R1 = ThisDrawing.Utility.GetDistance(pt, "请输入变径管主管的半径:")
  10. R2 = ThisDrawing.Utility.GetDistance(pt, "请输入变径管分支管的半径:")
  11. L1 = ThisDrawing.Utility.GetDistance(pt, "请输入变径管主管的半长:")

  12. If R2 > R1 Or R2 > L1 Then
  13. MsgBox ("变径管分支管的半径不能大于主管的半径和半长!")
  14. Exit Sub
  15. End If
  16. For a = 0 To 361 Step 2
  17. po(a) = pt(0) - R2 + 2 * R2 * a / 360
  18. x = Sin(a * pi / 360) * R2 / R1
  19. po(a + 1) = pt(1) + R1 * (pi - Atn(x / Sqr(-x * x + 1)))
  20. Next

  21. Set pL = ThisDrawing.ModelSpace.AddLightWeightPolyline(po)
  22. pt1 = ThisDrawing.Utility.PolarPoint(pt, 0, 10)
  23. Set mipL = pL.Mirror(pt, pt1)

  24. Dim ppt(7) As Double
  25. ppt(0) = pt(0) + R2
  26. ppt(1) = pt(1) + pi * R1
  27. ppt(2) = pt(0) + L1
  28. ppt(3) = ppt(1)
  29. ppt(4) = ppt(2)
  30. ppt(5) = pt(1) - pi * R1
  31. ppt(6) = ppt(0)
  32. ppt(7) = ppt(5)
  33. Set pL1 = ThisDrawing.ModelSpace.AddLightWeightPolyline(ppt)

  34. pt2 = ThisDrawing.Utility.PolarPoint(pt, 0.5 * pi, 10)
  35. Set pL2 = pL1.Mirror(pt, pt2)

  36. End Sub

  37. Sub st_fzg()
  38. '画分支管展开图
  39. Dim R1, R2, L1 As Double
  40. Dim pL, pL1 As AcadLWPolyline
  41. Dim pt As Variant
  42. Dim po(361) As Double
  43. pi = 3.1415926535

  44. pt = ThisDrawing.Utility.GetPoint(, "请输入三通分支管展开图的右下点:")
  45. R1 = ThisDrawing.Utility.GetDistance(pt, "请输入三通主管的半径:")
  46. R2 = ThisDrawing.Utility.GetDistance(pt, "请输入三通分支管的半径:")
  47. L1 = ThisDrawing.Utility.GetDistance(pt, "请输入三通分支管的长度:")

  48. If R2 > R1 Then
  49. MsgBox ("变径管分支管的半径不能大于主管的半径!")
  50. Exit Sub
  51. End If
  52. For a = 0 To 361 Step 2
  53. po(a) = pt(0) + Sqr(R1 * R1 - (R2 * Sin(pi * (a + 90) / 180)) ^ 2) _
  54. - L1 - R1
  55. po(a + 1) = pt(1) + 2 * pi * R2 * a / 360
  56. Next
  57. Set pL = ThisDrawing.ModelSpace.AddLightWeightPolyline(po)

  58. Dim ppt(7) As Double
  59. ppt(0) = pt(0) - R1 + Sqr(R1 * R1 - R2 * R2) - L1
  60. ppt(1) = pt(1)
  61. ppt(2) = pt(0)
  62. ppt(3) = pt(1)
  63. ppt(4) = ppt(2)
  64. ppt(5) = pt(1) + 2 * pi * R2
  65. ppt(6) = ppt(0)
  66. ppt(7) = ppt(5)
  67. Set pL1 = ThisDrawing.ModelSpace.AddLightWeightPolyline(ppt)

  68. End Sub

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

使用道具 举报

发表于 2004-3-26 23:23:34 | 显示全部楼层
这样运行.
我把程序分成了两段,如觉得这样不好,也可合二为一.
下载地址:http://www.xdcad.net/bbstech/acad/ahlzl/三通展开.swf

<embed src=http://www.xdcad.net/bbstech/acad/ahlzl/三通展开.swf  quality=high width=800 height=600 loop=true type="application/x-shockwave-flash">
</embed>
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-29 23:30 , Processed in 0.481910 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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