数控机床课程设计(插补计算)_第1页
数控机床课程设计(插补计算)_第2页
数控机床课程设计(插补计算)_第3页
数控机床课程设计(插补计算)_第4页
数控机床课程设计(插补计算)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 机床数控技术课程设计 说明书班级:学号:姓名:指导教师:时间说明书课设任务: DL2 ,DDA法插补第二象限直线 PA34,逐点比较法插补第3-4象限逆圆弧课设要求: 具有数据输入界面,如起点、终点、圆心、半径及插补步长等 具有插补过程的动态显示功能,如单步插补、连续插补 插补的步长可调编程语言: Visual Basic程序设计流程图: DDA法插补第二象限直线:J = J + F ; K = K + G初始化L=A,M=B,累加次数N=0-2I(J / (2 I) = E(K/(2 I) = EN-x向走一步+Y向走一步画直线NYYN=N+1N=2I吗?结束NY 逐点比较法插补第3-4象

2、限逆圆弧: 开始初始化Xp=X1;Yp=Y1;F1=0F1=0F1 = F1 - (2 * (Yp - Y0) + U 2;Yp = Yp - UF1 = F1 + (2 * (Xp X0) + U 2;Xp = Xp + UNY画直线Xp X0 And Xp =0NYF1 = F1 + (2 * (Xp - X0) + U 2: Xp = Xp + UF1 = F1 + (2 * (Yp - Y0) + U 2: Yp = Yp + UXp X2N画直线NYXp X2 Or Yp G Then H = F Else: H = GI = 1Do While (2 I) = E Then J =

3、 J - E * (2 I): L = L - EK = K + GQ = MIf (K / (2 I) = E Then K = K - E * (2 I): M = M + EPicture1.Line (P, Q)-(L, M), vbRedNext NEnd SubPrivate Sub Command2_Click() *圆弧单步逐点插补X1 = Text6.TextY1 = Text7.TextX2 = Text8.TextY2 = Text9.TextR = Text10.TextU = Text11.TextDim xe, ye As Singlexe = (X1 + X2)

4、/ 2ye = (Y1 + Y2) / 2S = Sqr(X2 - X1) 2 + (Y2 - Y1) 2) / 2T = (Y2 - Y1) / (X2 - X1)If Y1 = Y2 Then X0 = (X1 + X2) / 2 Y0 = Y1 + Sqr(R 2 - S 2) ElseIf Y1 Y2 Then X0 = xe + Sqr(R 2 - S 2) * T 2 / (1 + T 2) Y0 = (xe - X0) / T + yeEnd IfIf (X0 = Y2) Then X = 2 * 3.14 + Atn(Y1 - Y0) / (X1 - X0): Y = 2 *

5、3.14 + Atn(Y2 - Y0) / (X2 - X0)If (X0 = X1 And Y0 = Y2) Then X = (3 * 3.14 / 2): Y = 2 * 3.14 + Atn(Y2 - Y0) / (X2 - X0)If (X0 X1 And X0 = Y1 And Y0 = Y2) Then X = 3.14 + Atn(Y1 - Y0) / (X1 - X0): Y = 2 * 3.14 + Atn(Y2 - Y0) / (X2 - X0)If (X0 X2 And Y0 = Y1) Then X = 3.14 + Atn(Y1 - Y0) / (X1 - X0):

6、 Y = 3.14 + Atn(Y2 - Y0) / (X2 - X0)If (X0 = X2 And Y0 = Y1) Then X = 3.14 + Atn(Y1 - Y0) / (X1 - X0): Y = (3 * 3.14) / 2Picture1.Circle (X0, Y0), R, , X, YSelect Case (o1 = 0)Case 1F1 = 0Xp = X1Yp = Y1o1 = 1End SelectIf (Xp = X1 And Xp X0 And Xp = 0 Then F1 = F1 + (2 * (Xp - X0) + U 2: V = Xp: Xp =

7、 Xp + U Picture1.Line (V, Yp)-(Xp, Yp), vbBlue Else F1 = F1 - (2 * (Yp - Y0) + U 2: W = Yp: Yp = Yp - U Picture1.Line (Xp, W)-(Xp, Yp), vbBlue End IfElseIf (Xp = X0 And (Xp X2 Or Yp X2) Case 0 If F1 = 0 Then F1 = F1 + (2 * (Yp - Y0) + U 2: W = Yp: Yp = Yp + U Picture1.Line (Xp, W)-(Xp, Yp), vbBlue E

8、lse F1 = F1 + (2 * (Xp - X0) + U 2: V = Xp: Xp = Xp + U Picture1.Line (V, Yp)-(Xp, Yp), vbBlue End If End SelectEnd IfEnd SubPrivate Sub Command4_Click() *圆弧连续逐点插补X1 = Text6.TextY1 = Text7.Text 圆弧起点坐标(X1,Y1)X2 = Text8.Text Y2 = Text9.Text 圆弧终点坐标(X2,Y2)R = Text10.Text 圆弧半径U = Text11.Text 圆弧插补步长Dim xe

9、, ye As Singlexe = (X1 + X2) / 2ye = (Y1 + Y2) / 2 S = Sqr(X2 - X1) 2 + (Y2 - Y1) 2) / 2T = (Y2 - Y1) / (X2 - X1)If Y1 = Y2 Then X0 = (X1 + X2) / 2 Y0 = Y1 + Sqr(R 2 - S 2) ElseIf Y1 Y2 Then X0 = xe + Sqr(R 2 - S 2) * T 2 / (1 + T 2) Y0 = (xe - X0) / T + ye 圆弧圆心(X0,Y0)End IfIf (X0 = Y2) Then X = 2 *

10、 3.14 + Atn(Y1 - Y0) / (X1 - X0): Y = 2 * 3.14 + Atn(Y2 - Y0) / (X2 - X0)If (X0 = X1 And Y0 = Y2) Then X = (3 * 3.14 / 2): Y = 2 * 3.14 + Atn(Y2 - Y0) / (X2 - X0)If (X0 X1 And X0 = Y1 And Y0 = Y2) Then X = 3.14 + Atn(Y1 - Y0) / (X1 - X0): Y = 2 * 3.14 + Atn(Y2 - Y0) / (X2 - X0)If (X0 X2 And Y0 = Y1)

11、 Then X = 3.14 + Atn(Y1 - Y0) / (X1 - X0): Y = 3.14 + Atn(Y2 - Y0) / (X2 - X0)If (X0 = X2 And Y0 = Y1) Then X = 3.14 + Atn(Y1 - Y0) / (X1 - X0): Y = (3 * 3.14) / 2Picture1.Circle (X0, Y0), R, , X, YF1 = 0Xp = X1Yp = Y1Do While (Xp = X1 And Xp X0 And Xp = 0 Then F1 = F1 + (2 * (Xp - X0) + U 2: V = Xp

12、: Xp = Xp + U Picture1.Line (V, Yp)-(Xp, Yp), vbRed Else F1 = F1 - (2 * (Yp - Y0) + U 2: W = Yp: Yp = Yp - U Picture1.Line (Xp, W)-(Xp, Yp), vbRed End If LoopDo While (Xp = X0 And (Xp X2 Or Yp X2) Case 0 If F1 = 0 Then F1 = F1 + (2 * (Yp - Y0) + U 2: W = Yp: Yp = Yp + U Picture1.Line (Xp, W)-(Xp, Yp

13、), vbRed Else F1 = F1 + (2 * (Xp - X0) + U 2: V = Xp: Xp = Xp + U Picture1.Line (V, Yp)-(Xp, Yp), vbRed End If End Select LoopEnd SubPrivate Sub Command5_Click() *DDA单步直线插补A = Text1.TextB = Text2.TextC = Text3.TextD = Text4.TextE = Text5.TextF = (A - C)G = (D - B)Picture1.Line (A, B)-(C, D)If F G Th

14、en H = F Else: H = GI = 1Do While (2 I) = E Then K = K - E * (2 I): M = M + EK = K + GIf (J / (2 I) = E Then J = J - E * (2 I): L = L - EJ = J + FLoopPicture1.Line (P, Q)-(L, M), vbBlueEnd SelectEnd SubPrivate Sub Command3_Click() *直线清图Picture1.ClsPicture1.Scale (-21, 21)-(21, -21)Picture1.Line (-20

15、, 0)-(20, 0)Picture1.Line (0, -20)-(0, 20)Picture1.Line (20, 0)-(19.5, 0.3)Picture1.Line (20, 0)-(19.5, -0.3)Picture1.Line (0, 20)-(0.3, 19.5)Picture1.Line (0, 20)-(-0.3, 19.5)Dim X4!, Y4!X4 = -20Y4= -20Do While X4 19X4 = X4 + 1Picture1.Line (X4, 0)-(X4, 0.2)LoopDo While Y4 19Y4 = Y4 + 1Picture1.Lin

16、e (0, Y4)-(0.2, Y4)LoopL = AM = BJ = 0K = 0Picture1.CurrentX = 20Picture1.CurrentY = -1Picture1.Print XPicture1.CurrentX = 1Picture1.CurrentY = 20Picture1.Print yEnd SubPrivate Sub Command6_Click() *圆弧清图Picture1.ClsPicture1.Scale (-21, 21)-(21, -21)Picture1.Line (-20, 0)-(20, 0)Picture1.Line (0, -20

17、)-(0, 20)Picture1.Line (20, 0)-(19.5, 0.3)Picture1.Line (20, 0)-(19.5, -0.3)Picture1.Line (0, 20)-(0.3, 19.5)Picture1.Line (0, 20)-(-0.3, 19.5)Dim X4!, Y4!X4 = -20Y4 = -20Do While X4 19X4 = X4 + 1Picture1.Line (X4, 0)-(X4, 0.2)LoopDo While Y4 19Y4 = Y4 + 1Picture1.Line (0, Y4)-(0.2, Y4)Loopo1 = 0Pic

18、ture1.CurrentX = 20Picture1.CurrentY = -1Picture1.Print XPicture1.CurrentX = 1Picture1.CurrentY = 20Picture1.Print yEnd SubPrivate Sub Command7_Click() *清数据Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = Text7.Text = Text8.Text = Text9.Text = Text10.Text = Text11.Text=End SubPrivate Sub Form_Load()L = AM = BJ = 0K = 0O1=0End SubPrivate Sub Pi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论