您现在的位置: |
逐点比较法直线插补VB程序直线程序 |
根据该插补软件框图(参见http://www.busnc.com/ly/zhudian/yuanli.htm),: Sub 偏差计算() 偏差 = Abs(x终点) × z动点 - x动点 × Abs(z终点) End Sub Sub 插补() Dim c As Integer Select Case 象限标志 Case 1: '第一象限插补 Do Until x动点 + z动点 >= 总步数 If 偏差 >= 0 Then x动点 = x动点 + 1: Line -Step(0, x步长), vbRed Else z动点 = z动点 + 1: Line -Step(z步长, 0), vbRed End If 偏差计算 Loop Case 2: '第二象限插补 c = x终点: x终点= z终点: z终点= -c c = x步长: x步长 = z步长: z步长 = -c Do Until x动点 + z动点 >= 总步数 If 偏差 >= 0 Then x动点 = x动点 + 1: Line -Step(x步长, 0), vbRed Else z动点 = z动点 + 1: Line -Step(0, z步长), vbRed End If 偏差计算 Loop Case 3: '第三象限插补 x步长 = -x步长: z步长 = -z步长 Do Until x动点 + z动点 >= 总步数 If 偏差 >= 0 Then x动点 = x动点 + 1: Line -Step(0, x步长), vbRed Else z动点 = z动点 + 1: Line -Step(z步长, 0), vbRed End If 偏差计算 Loop Case 4: '第四象限插补 c = x终点: x终点= -z终点: z终点 = c c = x步长: x步长 = -z步长: z步长 = c Do Until x动点 + z动点 >= 总步数 If 偏差 >= 0 Then x动点 = x动点 + 1: Line -Step(x步长, 0), vbRed Else z动点 = z动点 + 1: Line -Step(0, z步长), vbRed End If 偏差计算 Loop End Select End Sub |