机床数控技术课程设计
姓名:王毅辉
学号:050610525
指导老师:王宏涛
.15
目录:
一:课程设计要求………………………………………………3
二:DDA直线插补……………………………………………4
DDA法直线插补流程图…………………………………4
DDA法直线插补源程序…………………………………5
实现的情况……………………………………………… 9
三:逐点比较法圆弧插补………………………… …………10
逐点比较法圆弧插补流程图……………………………10
逐点比较法圆弧插补源程序……………………………11
实现情况…………………………………………………20
四:总计与体会………………………………… ……………20
一:课程设计的要求:
-1象限顺圆弧。
,如起点、终点、圆心、半径及插补步长等
,如单步插补、连续插补
,直线的起点、圆弧圆心在坐标系中位置可调。
6建议用C语言编程 ,也可以使用VB、VC等语言编程。
二、DDA法直线插补
1、流程图
求num的值
起始并初始化
yi<=0
yi>0
ry有溢出
-y走一步
rx有溢出
N
Y
+x走一步
Y
num=num-1
num=0?
Y
ry有溢出
+y走一步
rx有溢出
N
Y
-x走一步
Y
num=num-1
num=0?
结束
Y
N
yi<=0
N
Y
N
2、源程序:
Private Sub Command1_Click()
On Error GoTo BUG
Dim xs As Double, ys As Double, xe As Double, ye As Double, step As Double, x0 As Double, y0 As Double
Dim xi As Double, yi As Double,
Dim vx As Double, vy As Double, rx As Double, ry As Double, num As Double
vx = 0
vy = 0
rx = 0
ry = 0
num = 0
xs =
ys =
xe =
ye = Text4.Text
step =
x0 = xs
y0 = ys
xi = x0
yi = y0
num = Abs(xe - xs) / step + Abs(ye - ys) / step
vx = Abs(xe - xs)
vy = Abs(ye - ys)
= x0
= y0
If (xe > xs) And (ye > ys) Then
Do While (num > 0)
rx = rx + Abs(vx)
ry = ry + Abs(vy)
If (rx > 256) Then
xi = xi + step
rx = rx Mod 256
num = num - 1
waittime ()
End If
If (ry > 256) Then
yi = yi + step
ry = ry Mod 256
num = num - 1
waittime ()
End If
-(xi, yi)
Loop
End If
If (xe <= xs) And (ye > ys) Then
Do While (num > 0)
rx = rx + Abs(vx)
ry = ry + Abs(vy)
If (rx > 256) Then
xi = xi - step
rx = rx Mod 256
num = num - 1
waittime ()
End If
If (ry > 256) Then
yi = yi + step
ry = ry Mod 256
num = num - 1
waittime (0.01)
End If
picture1
王毅辉数控课设报告 来自淘豆网m.daumloan.com转载请标明出处.