《vb编写的一个凸轮NC代码生成软件.docx》由会员分享,可在线阅读,更多相关《vb编写的一个凸轮NC代码生成软件.docx(21页珍藏版)》请在金锄头文库上搜索。
1、Option Explicit Const pi = 3.141592653Private Sub btnRun_Click() lbldraw.Visible = True lbldraw.Caption = . Picture1.Cls Picture1.ScaleMode = 6 Picture1.Scale (-500, 300)-(500, -300) Picture1.Line (-500, 0)-(500, 0) Picture1.Line (0, 300)-(0, -300) Picture1.CurrentX = 0: Picture1.CurrentY = 0: Pictu
2、re1.Print 0 Picture1.CurrentX = 480: Picture1.CurrentY = 40: Picture1.Print X Picture1.CurrentX = 10: Picture1.CurrentY = 300: Picture1.Print Y Dim n As Single, d As Single, r As Single, X As Single, Y As Single, S As Single Dim b As Single, q As Single, k As Single r = Text2(2).Text n = Text2(0).Te
3、xt S = Text2(1).Text b = Text2(3).Text q = Text2(4).Text k = 360 - n - b - q Dim F As Single Picture1.CurrentX = r: Picture1.CurrentY = 0Rem If mnudengsu.Checked Then For d = 0 To n Step 0.01 X = (r + S * d / n) * Cos(pi / 180 * d) Y = (r + S * d / n) * Sin(pi / 180 * d) Picture1.PSet (X, Y), vbRed
4、Next For d = 0 To b Step 0.01 Y = (r + S) * Sin(pi / 180 * (n + d) X = (r + S) * Cos(pi / 180 * (n + d) Picture1.PSet (X, Y), vbRed Next For d = 0 To q Step 0.01 Y = (r + S - S * d / q) * Sin(pi / 180 * (n + b + d) X = (r + S - S * d / q) * Cos(pi / 180 * (n + b + d) Picture1.PSet (X, Y), vbRed Next
5、 For d = 0 To k Step 0.01 Y = r * Sin(pi / 180 * (n + b + q + d) X = r * Cos(pi / 180 * (n + b + q + d) Picture1.PSet (X, Y), vbRed Next lbldraw.Caption = Rem ElseIf mnudengjiajian.Checked Then For d = 0 To n / 2 Step 0.01 X = (r + 2 * S * d 2 / n 2) * Cos(pi / 180 * d) Y = (r + 2 * S * d 2 / n 2) *
6、 Sin(pi / 180 * d) Picture1.PSet (X, Y), vbRed Next For d = n / 2 To n Step 0.01 X = (r + S - 2 * S * (n - d) 2 / n 2) * Cos(pi / 180 * d) Y = (r + S - 2 * S * (n - d) 2 / n 2) * Sin(pi / 180 * d) Picture1.PSet (X, Y), vbRed Next For d = 0 To b Step 0.01 Y = (r + S) * Sin(pi / 180 * (n + d) X = (r +
7、 S) * Cos(pi / 180 * (n + d) Picture1.PSet (X, Y), vbRed Next F = n + b For d = q To q / 2 Step -0.01 F = F + 0.01 X = (r + S - 2 * S * (q - d) 2 / q 2) * Cos(pi / 180 * F) Y = (r + S - 2 * S * (q - d) 2 / q 2) * Sin(pi / 180 * F) Picture1.PSet (X, Y), vbRed Next For d = q / 2 To 0 Step -0.01 F = F
8、+ 0.01 X = (r + 2 * S * d 2 / q 2) * Cos(pi / 180 * F) Y = (r + 2 * S * d 2 / q 2) * Sin(pi / 180 * F) Picture1.PSet (X, Y), vbRed Next For d = 0 To k Step 0.01 Y = r * Sin(pi / 180 * (n + b + q + d) X = r * Cos(pi / 180 * (n + b + q + d) Picture1.PSet (X, Y), vbRed Next lbldraw.Caption = Rem ElseIf
9、 mnubaixian.Checked Then For d = 0 To n Step 0.01 X = (r + S * (10 * (d / n) 3 - 15 * (d / n) 4 + 6 * (d / n) 5) * Cos(pi / 180 * d) Y = (r + S * (10 * (d / n) 3 - 15 * (d / n) 4 + 6 * (d / n) 5) * Sin(pi / 180 * d) Picture1.PSet (X, Y), vbRed Next For d = 0 To b Step 0.01 Y = (r + S) * Sin(pi / 180
10、 * (n + d) X = (r + S) * Cos(pi / 180 * (n + d) Picture1.PSet (X, Y), vbRed Next F = n + b For d = q To 0 Step -0.01 F = F + 0.01 X = (r + S * (10 * (d / q) 3 - 15 * (d / q) 4 + 6 * (d / q) 5) * Cos(pi / 180 * F) Y = (r + S * (10 * (d / q) 3 - 15 * (d / q) 4 + 6 * (d / q) 5) * Sin(pi / 180 * F) Pict
11、ure1.PSet (X, Y), vbRed Next For d = 0 To k Step 0.01 Y = r * Sin(pi / 180 * (n + b + q + d) X = r * Cos(pi / 180 * (n + b + q + d) Picture1.PSet (X, Y), vbRed Next lbldraw.Caption = ElseIf mnuSin.Checked Then For d = 0 To n Step 0.01 X = (r + S * (d / n - Sin(2 * pi * d / n) / (2 * pi) * Cos(pi / 1
12、80 * d) Y = (r + S * (d / n - Sin(2 * pi * d / n) / (2 * pi) * Sin(pi / 180 * d) Picture1.PSet (X, Y), vbRed Next For d = 0 To b Step 0.01 Y = (r + S) * Sin(pi / 180 * (n + d) X = (r + S) * Cos(pi / 180 * (n + d) Picture1.PSet (X, Y), vbRed Next F = n + b For d = q To 0 Step -0.01 F = F + 0.01 X = (
13、r + S * (d / q - Sin(2 * pi * d / q) / (2 * pi) * Cos(pi / 180 * F) Y = (r + S * (d / q - Sin(2 * pi * d / q) / (2 * pi) * Sin(pi / 180 * F) Picture1.PSet (X, Y), vbRed Picture1.PSet (X, Y), vbRed Next For d = 0 To k Step 0.01 Y = r * Sin(pi / 180 * (n + b + q + d) X = r * Cos(pi / 180 * (n + b + q +