分享好友 文章首页 频道列表

逐点比较法圆弧插补VB程序

    普通会员

    小黑创作者

    1年前-来自四川省 TA的动态

逐点比较法第一象限逆圆插补VB源程序(仅供参考):

Sub 偏差计算()

    偏差 = Sqr((x动点 - x圆心)  2 + (z动点 - z圆心)  2) - R

End Sub

Sub 插补()

    x动点 = x起点: z动点 = z起点:

    动点象限判别

xx: Select Case 象限标志

        Case 1: 单步连续判断

            If 顺逆标志 = "顺" Then    '第一象限插补

                Do Until (x动点 - x终点) = 0 And (z动点 - z终点) = 0

                If 偏差 >= 0 Then

                   x动点 = x动点 - 1:

                   Line -Step(0, -x步长), vbRed

                Else

                   z动点 = z动点 + 1:

                   Line -Step(z步长, 0), vbRed

                End If

                   偏差计算

                   动点象限判别

                   If 象限标志 <> 1 Then

                      GoTo xx

                   End If

                   单步连续判断

                Loop

            ElseIf 顺逆标志 = "逆" Then

                Do Until (x动点 - x终点) = 0 And (z动点 - z终点) = 0

                If 偏差 >= 0 Then

                   z动点 = z动点 - 1:

                   Line -Step(-z步长, 0), vbRed

                Else

                   x动点 = x动点 + 1:

                   Line -Step(0, x步长), vbRed

                End If

                   DoEvents

                   偏差计算

                   动点象限判别

                   If 象限标志 <> 1 Then

                      GoTo xx

                   End If

                Loop

            End If

        Case 2: 单步连续判断

            If 顺逆标志 = "顺" Then    '第二象限插补

                Do Until (x动点 - x终点) = 0 And (z动点 - z终点) = 0

                If 偏差 >= 0 Then

                   z动点 = z动点 - 1:

                   Line -Step(-z步长, 0), vbRed

                Else

                   x动点 = x动点 - 1:

                   Line -Step(0, -x步长), vbRed

                End If

                   偏差计算

                   动点象限判别

                   If 象限标志 <> 2 Then

                      GoTo xx

                   End If

                Loop

            ElseIf 顺逆标志 = "逆" Then

                Do Until (x动点 - x终点) = 0 And (z动点 - z终点) = 0

                If 偏差 >= 0 Then

                   x动点 = x动点 + 1:

                   Line -Step(0, x步长), vbRed

                Else

                   z动点 = z动点 + 1:

                   Line -Step(z步长, 0), vbRed

                End If

                   偏差计算

                   动点象限判别

                   If 象限标志 <> 2 Then

                      GoTo xx

                   End If

                Loop

            End If

         Case 3: 单步连续判断

            If 顺逆标志 = "顺" Then    '第三象限插补

                Do Until (x动点 - x终点) = 0 And (z动点 - z终点) = 0

                If 偏差 >= 0 Then

                   x动点 = x动点 + 1:

                   Line -Step(0, x步长), vbRed

                Else

                   z动点 = z动点 - 1:

                   Line -Step(-z步长, 0), vbRed

                End If

                   DoEvents

                   偏差计算

                   动点象限判别

                   If 象限标志 <> 3 Then

                      GoTo xx

                   End If

                Loop

            ElseIf 顺逆标志 = "逆" Then

                Do Until (x动点 - x终点) = 0 And (z动点 - z终点) = 0

                If 偏差 >= 0 Then

                   z动点 = z动点 + 1:

                   Line -Step(z步长, 0), vbRed

                Else

                   x动点 = x动点 - 1:

                   Line -Step(0, -x步长), vbRed

                End If

                   偏差计算

                   动点象限判别

                   If 象限标志 <> 3 Then

                      GoTo xx

                   End If

                Loop

            End If

         Case 4: 单步连续判断

            If 顺逆标志 = "顺" Then    '第三象限插补

                Do Until (x动点 - x终点) = 0 And (z动点 - z终点) = 0

                If 偏差 >= 0 Then

                   z动点 = z动点 + 1:

                   Line -Step(z步长, 0), vbRed

                Else

                   x动点 = x动点 + 1:

                   Line -Step(0, x步长), vbRed

                End If

                   偏差计算

                   动点象限判别

                   If 象限标志 <> 4 Then

                      GoTo xx

                   End If

                Loop

            ElseIf 顺逆标志 = "逆" Then

                Do Until (x动点 - x终点) = 0 And (z动点 - z终点) = 0

                If 偏差 >= 0 Then

                   x动点 = x动点 - 1:

                   Line -Step(0, -x步长), vbRed

                Else

                   z动点 = z动点 - 1:

                   Line -Step(-z步长, 0), vbRed

                End If

                   偏差计算

                   动点象限判别

                   If 象限标志 <> 4 Then

                      GoTo xx

                   End If

                Loop

            End If

    End Select

End Sub


举报

版权声明:本站部分内容文章及图片来自互联网或自媒体,版权归属于原作者。如内容、图片有任何版权侵权问题,请联系我们处理,我们将在第一时间删除内容。

免责声明:数控信息网发布此文目的在于促进信息交流,不存在盈利性目的,此文观点与本站立场无关,不承担任何责任。未经证实的信息仅供参考,据此操作风险自担。如遇虚假诈骗信息,请立即举报

反对 0
收藏 0
打赏 0
评论 0