Sub 插补X()
标志X = 0
If 余数X >= Q Then
余数X = 余数X Mod Q
x动点 = x动点 + 1: 标志X = 1
End If
End Sub
Sub 插补Y()
标志Y = 0
If 余数Y >= Q Then
余数Y = 余数Y Mod Q
y动点 = y动点 + 1: 标志Y = 1
End If
End Sub
Sub 插补Z()
标志Z = 0
If 余数Z >= Q Then
余数Z = 余数Z Mod Q
z动点 = z动点 + 1: 标志Z = 1
End If
End Sub
Sub 插补公共()
余数X = 余数X + x终点
余数Y = 余数Y + y终点
余数Z = 余数Z + z终点
插补X
插补Y
插补Z
插补记录 = 插补记录 + 1
End Sub
Sub 插补()
Dim c As Integer
插补记录 = 0: 余数X = 0: 余数Y = 0: 余数Z = 0: 划轮廓线
PSet (z原点, x原点), vbRed
Select Case 象限标志
Case 1: '第一象限插补
Do Until 插补记录 = Q
插补公共
Line -Step(z步长 × 标志Z, x步长 × 标志X), vbRed
Loop
Case 2: '第二象限插补
c = x终点: x终点 = z终点: z终点 = -c
c = x步长: x步长 = z步长: z步长 = -c
Do Until 插补记录 = Q
插补公共
Line -Step(x步长 × 标志X, z步长 × 标志Z), vbRed
Loop
Case 3: '第三象限插补
x终点 = -x终点: z终点 = -z终点
x步长 = -x步长: z步长 = -z步长
Do Until 插补记录 = Q
插补公共
Line -Step(z步长 × 标志Z, x步长 × 标志X), vbRed
Loop
Case 4: '第四象限插补
c = x终点: x终点 = -z终点: z终点 = c
c = x步长: x步长 = -z步长: z步长 = c
Do Until 插补记录 = Q
插补公共
Line -Step(x步长 × 标志X, z步长 × 标志Z), vbRed
Loop
End Select
End Sub