stevenzhang 发表于 2008-1-30 21:58

AUTOCAD渐开线画法

分享一个AUTOCAD渐开线画法小程序:

Sub jkx()
    Rem 绘制渐开线,
    Dim d As Double   '节圆直径
    Dim r As Double   '节圆半径
    Dim A As Double   '总展开角度
    Dim Ai As Double'展开角度
    Dim Li As Double'展开弧长
    d = 100
    A = 360
    r = d / 2
    Dim Pnt1(2) As Double
    Dim Pnt2(2) As Double
    Dim PntLst() As Double, N As Integer
    ThisDrawing.ModelSpace.AddCircle Pnt1, r
    For Ai = 0 To A * Atn(1) / 45# Step Atn(1) / 45#
      Li = r * Ai
      Pnt1(0) = r * Sin(Ai)
      Pnt1(1) = r * Cos(Ai)
      Pnt2(0) = Pnt1(0) - Li * Cos(-Ai)
      Pnt2(1) = Pnt1(1) - Li * Sin(-Ai)
      ThisDrawing.ModelSpace.AddLine Pnt1, Pnt2
      N = N + 1
      ReDim Preserve PntLst(N * 2 - 1)
      PntLst(N * 2 - 2) = Pnt2(0)
      PntLst(N * 2 - 1) = Pnt2(1)
    Next
    If N > 1 Then
      ThisDrawing.ModelSpace.AddLightWeightPolyline PntLst
    End If
End Sub

1.进入菜单:工具>宏>visual Basic编辑器;
2.在编辑器中选菜单:插入>模块;
3.把这部分程序拷贝到(代码)窗口中;
4.选择菜单:运行>运行子过程用户窗体;
5.在AutoAcad绘图界面中可以看到结果.

rabin12 发表于 2008-2-4 12:30

我试了下 可是提示错误 说是类型错误 属性不对 可我认真检查了下我的程序 没有遗漏呀 请LZ帮忙详细讲解下 谢谢;饿 
祝大家新春快乐

8218812 发表于 2008-2-5 02:59

顶!!!!!!!!!!!

天之宇海之翔 发表于 2008-2-11 16:59

怎么搞不成啊,请问版主怎样搞啊

hhglg 发表于 2008-6-3 11:01

好极了

一个真正好的工具!

rsgg888 发表于 2008-6-6 09:35

搞不好:L :L

神舞六痴 发表于 2008-11-17 08:03

不懂。。俺太笨。能讲的明白些嘛。。。

ketian001 发表于 2010-7-21 15:51

这个程序不能画指定基圆的渐开线!!!!

ipqgymmmm 发表于 2010-8-24 14:44

还不明白什么是渐开线呢~~~~(>_<)~~~~
页: [1]
查看完整版本: AUTOCAD渐开线画法