- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                《机床数控技术》课程设计
说明书
班级:
学号:
姓名
指导教师:
时间:2018年1月
一、课设任务
DL2:用DDA法插补第二象限直线。
PA32:用逐点比较法插补第三到第二象限顺圆弧。
二、课设要求
1、具有数据输入界面,有起点、终点、半径及插补步长等;
2、具有单步插补过程的动态显示功能;
3、插补的步长可调;
三、编程语言
VisualBasic6.0
四、功能说明
本程序用DDA法插补第二象限的直线,用逐点比较法插补第三到第二象限顺圆弧,可进行连续插补或单步插补。
1、直线插补:用DDA法实现第二象限任意直线的插补,需要输入起点、终点坐标、步长及寄存器位数。
2、圆弧插补:用逐点比较法实现第三二象限的顺圆弧段的插补,需要输入起点、终点坐标、半径和步长。
3、插补步长可调。
4、可以单步执行所有插补动作,单击一次按钮执行一次插补。
五、程序界面及运行结果
5.1DDA法插补第二象限直线
1)DDA法插补第二象限直线运行界面
2)DDA插补第二象限直线运行结果
5.2逐点比较法插补二三象限顺圆弧
1)逐点比较法插补二三象限顺圆弧运行界面
2)逐点比较法插补二三象限顺圆弧运行结果
六、流程图设计、变量介绍及源程序
6.1DDA法插补第二象限直线
6.1.1DDA法插补第二象限直线的流程图:M
M←m﹣1
结束
M=0吗?
     初始化xe→Xe, ye→Ye
累计次数m→M, ΣXe,ΣYe清零
ΣXe←ΣXe+Xe
ΣYe←ΣYe+Ye
﹣X向走一步
ΣXe有溢出吗?
ΣYe有溢出吗?
Y
Y
N
N
Y
Y
﹣Y向走一步
﹣Y向走一步
N
N
NY
N
Y
图6-1DDA法插补第二象限直线的程序流程图
6.1.2插补直线程序变量介绍
s:中间变量L:步长
m:中间变量n:寄存器位数
i:中间变量j:中间变量
i1:中间变量j1:中间变量
x1:起点横坐标x2:终点横坐标
y1:起点纵坐标y2:终点纵坐标
flag:中间变量xe:终点与起点的横坐标差值
ye:终点与起点的纵坐标差值jvx:X积分器存xe)
jvy:Y积分器存ye)                   jrx:Y积分器存∑xe)
jry:Y积分器存∑ye)
6.1.3插补直线程序介绍
Dims,L,m,n,i,j,i1,j1,x1,x2,y1,y2,flag,xe,ye,jvx,jvy,jrx,jry,snAsSingle
****************定义全局变量
PrivateSubCommand2_Click(****************************画直线
IfIsNumeric(Text1.TextAndVal(Text1.Text0Then
L=Val(Text1.Text
ElseMsgBox步长输入有误
End If
IfIsNumeric(Text2.TextThen
x1=Val(Text2.Text
Else
MsgBox起始点的X坐标有误,请更正
End If
IfIsNumeric(Text3.TextThen
y1=Val(Text3.Text
Else
MsgBox起始点的Y坐标有误,请更正
End If
IfIsNumeric(Text4.TextThen
x2=Val(Text4.Text
Else
MsgBox终止点的X坐标有误,请更正
End If
IfIsNumeric(Text5.TextThen
y2=Val(Text5.Text
Else
MsgBox终止点的Y坐标有误,请更正
End If
IfIsNumeric(Text15.TextAndVal(Text15.Text0Then
n=Val(Text15.Text
Else
MsgBox寄存器位数有误,请更正
End If
Callzuobiao1
Picture1.Line(x1,y1-(x2,y2,QBColor(6
m=2^n
s=CInt(m/L
xe=x2-x1
ye=y2-y1
jvx=Abs(xe
jvy=Abs(ye
i=0
j=0
i1=0
j1=0
flag=0
EndSub
PrivateSubCommand3_Click(**********************连续DDA直线插补
Fork=1TosStep1
jrx=jrx+jvx
jry=jry+jvy
Ifjrx=mThen
Ifx2x1Then
i1=i+L
Else
i1=i-L
End If
flag=1
jrx=jrx-m
End If
Ifjry=mThen
Ify2y1Then
j1=j+L
Else
j1=j-L
End If
flag=1
jry=jry-m
End If
Ifflag=1Then
Form1.Picture1.Line
                 原创力文档
原创力文档 
                        

文档评论(0)