首页 机床数控技术课程设计

机床数控技术课程设计

举报
开通vip

机床数控技术课程设计文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]机床数控技术课程设计机床数控技术课程设计说明书学校:南京航空航天大学专业:机械工程及自动化学号:姓名:设计题目:PL1DC21指导老师:时间:一.课设任务:逐点比较法插补第1象限直线;法插补第2~1象限顺圆弧。二.课设要求:1.具有数据输入界面,如输入直线插补的起点、终点,圆弧插补的起止点、圆心或半径、插补的步长等;2.具有插补过程的动态显示功能,如单步插补、连续插补等;3.插补的步长可调;4.直线的起点、圆弧的圆心在坐标系中的位置可变(即...

机床数控技术课程设计
文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]机床数控技术课程设计机床数控技术课程设计说明书学校:南京航空航天大学专业:机械工程及自动化学号:姓名:设计题目:PL1DC21指导老师:时间:一.课设任务:逐点比较法插补第1象限直线;法插补第2~1象限顺圆弧。二.课设要求:1.具有数据输入界面,如输入直线插补的起点、终点,圆弧插补的起止点、圆心或半径、插补的步长等;2.具有插补过程的动态显示功能,如单步插补、连续插补等;3.插补的步长可调;4.直线的起点、圆弧的圆心在坐标系中的位置可变(即直线的起点、圆弧的圆心可不设定在坐标原点)5.建议使用C语言编程,有条件者可使用VB、VC等语言编程。三.程序界面及运行截图1.直线连续插补:直线单步插补:圆弧连续插补:4.圆弧单步插补:四、程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图:逐点比较法插补第1象限直线逐点比较法插补直线的过程为每进给一步需完成偏差判别,坐标进给,偏差计算,终点判别四个步骤,具体流程如图1所示。开始E=E-1YNY向正Y方向前进一步F=F+(x02-x01)向正X方向前进一步F=F-(y02-y01)F>=0E>0N结束E=(abs(x01-x02)+abs(y01-y02))/k(总步数)F=0(判别函数)初始化,输入起点x01、y01,终点x02、y02,步长k2、DDA法圆弧插补xm=fix((xx-x03)/b);ym=fix((yy+R-y03)/b)Yjvx=0;jvy=0m=2^jxm>0?jvx=jvx+yj-yyYNym>0?jvy=jvy+xx-xjYjvx溢出?>0?+X前进一步xm=xm-1Yjvy溢出?>0?+Y前进一步ym=ym-1xm>0||ym>0?N二一象限顺圆?计算圆心坐标(xx,yy)xj=x03,yj=y03初始化,输入起点坐标(xr03,y03),终点坐标(x04,y04)半径R步长b和寄存器位数j开始NY+X前进一步xn=xn-1-Y前进一步yn=yn-1xn=fix((x04-xx)/b);yn=fix((yy+R-y04)/b);Nxn>0?jvx=jvx+yj-yyYNyn>0?jvy=jvy+xj-xxYjvx溢出?>0?Yjvy溢出?>0?xn>0||yn>0?NY结束五.程序及变量说明(Matlab)gui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...'gui_LayoutFcn',[],...'gui_Callback',[]);ifnargin&&ischar(varargin{1})=str2func(varargin{1});endifnargout[varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});endglobaluu=0;globalfla;fla=0;=hObject;guidata(hObject,handles);varargout{1}=;functionx1_Callback(hObject,eventdata,handles)globalx01;x01=str2double(get,'string'));functionx1_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctionx2_Callback(hObject,eventdata,handles)globalx02;x02=str2double(get,'string'));functionx2_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctiony1_Callback(hObject,eventdata,handles)globaly01;y01=str2double(get,'string'));functiony1_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctiony2_Callback(hObject,eventdata,handles)globaly02;y02=str2double(get,'string'));functiony2_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctionx3_Callback(hObject,eventdata,handles)globalx03;x03=str2double(get,'string'));functionx3_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctiony3_Callback(hObject,eventdata,handles)globaly03;y03=str2double(get,'string'));functiony3_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctionx4_Callback(hObject,eventdata,handles)globalx04;x04=str2double(get,'string'));functionx4_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctiony4_Callback(hObject,eventdata,handles)globaly04;y04=str2double(get,'string'));functiony4_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctionr_Callback(hObject,eventdata,handles)globalR;R=str2double(get,'string'));functionr_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctionclear_Callback(hObject,eventdata,handles)cla;functionstraightline_Callback(hObject,eventdata,handles)globals;gridon;x01=str2double(get,'string'));x02=str2double(get,'string'));y01=str2double(get,'string'));y02=str2double(get,'string'));x=linspace(x01,x02,1000);y=((y02-y01)/(x02-x01))*(x-x01)+y01;plot(x,y,'b');holdon;s=1;functioncircular_arc_Callback(hObject,eventdata,handles)gridon;x03=str2double(get,'string'));x04=str2double(get,'string'));y03=str2double(get,'string'));y04=str2double(get,'string'));R=str2double(get,'string'));l=sqrt((y04-y03).^2+(x04-x03).^2);k=sqrt(R^2-(l^2)/4);x0=(x03+x04)/2+((y04-y03)*k)/l;y0=(y03+y04)/2-((x04-x03)*k)/l;x=linspace(x03,x04,1000);y=y0+sqrt(R^2-(x-x0).^2);plot(x,y,'b');axisequal;holdon;globalss=0;functionlxcb_Callback(hObject,eventdata,handles)globalsFXY;ifs==1x01=str2double(get,'string'));x02=str2double(get,'string'));y01=str2double(get,'string'));y02=str2double(get,'string'));k=str2double(get,'string'));X=x01;Y=y01;F=0;E=(abs(x01-x02)+abs(y01-y02))/k;whileE>0ifF>=0X=X+k;m=linspace(X-k,X,100);n=Y;F=F-(y02-y01);plot(m,n,'r');elseY=Y+k;p=X;q=linspace(Y-k,Y,100);F=F+(x02-x01);plot(p,q,'r');endE=E-1;endelsex03=str2double(get,'string'));x04=str2double(get,'string'));y03=str2double(get,'string'));y04=str2double(get,'string'));b=str2double(get,'string'));j=str2double(get,'string'));R=str2double(get,'string'));l=((y04-y03)^2+(x04-x03)^2)^;m=(y04-y03)/l;n=(x03-x04)/l;xx=(x03+x04)/2+(R^2-l^2/4)^*m;yy=(y03+y04)/2+(R^2-l^2/4)^*n;if~(x03<=xx&xx<=x04&y03>=yy&y04>=yy)errordlg('请输入第二一象限的顺圆弧');elsexi=x03;yi=y03;xii=x03;yii=y03;jvx=0;jvy=0;xj=fix((xx-x03)/b);yj=fix((yy+R-y03)/b);%计算步数m=2^j;%模while(xj>0||yj>0)ifxj>0jvx=jvx+yi-yy;endifyj>0jvy=jvy+xx-xi;endflag=0;if(jvx>m)xj=xj-1;flag=1;xi=xi+b;jvx=mod(jvx,m);endif(jvy>m)yj=yj-1;flag=1;yi=yi+b;jvy=mod(jvy,m);endifflag==1line([xii,xi],[yii,yi],'color','r');holdon;xii=xi;yii=yi;endendendline([xi,xx],[yi,yy+R],'color','r');xi=xx;yi=yy+R;xii=xx;yii=yy+R;jvx=0;jvy=0;xj=fix((x04-xx)/b);yj=fix((yy+R-y04)/b);m=2^j;axisauto;while(xj>0||yj>0)ifxj>0jvx=jvx+yi-yy;endifyj>0jvy=jvy+xi-xx;endflag=0;if(jvx>m)xj=xj-1;flag=1;xi=xi+b;jvx=mod(jvx,m);endif(jvy>m)yj=yj-1;flag=1;yi=yi-b;jvy=mod(jvy,m);endifflag==1line([xii,xi],[yii,yi],'color','r');xii=xi;yii=yi;holdon;endendendfunctiondbcb_Callback(hObject,eventdata,handles)globalXYFuEs;ifs==1x01=str2double(get,'string'));y01=str2double(get,'string'));x02=str2double(get,'string'));y02=str2double(get,'string'));k=str2double(get,'string'));ifu==0X=x01;Y=y01;u=u+1;E=(abs(x01-x02)+abs(y01-y02))/k;F=0;elseifE>0ifF>=0X=X+k;m=linspace(X-k,X,1000);n=Y;F=F-(y02-y01);plot(m,n,'r');holdon;elseY=Y+k;p=X;q=linspace(Y-k,Y);F=F+(x02-x01);plot(p,q,'r');holdon;endE=E-1;elseu=0;endendelseglobalfla;x03=str2double(get,'string'));x04=str2double(get,'string'));y03=str2double(get,'string'));y04=str2double(get,'string'));b=str2double(get,'string'));j=str2double(get,'string'));R=str2double(get,'string'));l=((y04-y03)^2+(x04-x03)^2)^;m=(y04-y03)/l;n=(x03-x04)/l;xx=(x03+x04)/2+(R^2-l^2/4)^*m;yy=(y03+y04)/2+(R^2-l^2/4)^*n;if~(x03<=xx&&xx<=x04&&y03>=yy&&y04>=yy)errordlg('请输入第二一象限的顺圆弧');else%第二象限的顺圆插补xi=x03;yi=y03;jvx=0;jvy=0;xj=fix((xx-x03)/b);yj=fix((yy+R-y03)/b);%第二象限的计数器m=2^j;k=1;while(xj>0||yj>0)ifxj>0jvx=jvx+yi-yy;endifyj>0jvy=jvy+xx-xi;endflag=0;if(jvx>m)xj=xj-1;flag=1;xi=xi+b;jvx=mod(jvx,m);endif(jvy>m)yj=yj-1;flag=1;yi=yi+b;jvy=mod(jvy,m);endifflag==1XC(k)=xi;YC(k)=yi;k=k+1;endendendxi=xx;yi=yy+R;xii=xx;yii=yy+R;%第一象限顺圆插补jvx=0;jvy=0;xn=fix((x04-xx)/b);yn=fix((yy+R-y04)/b);%第一象限的计数器m=2^j;axisauto;while(xn>0||yn>0)ifxn>0jvx=jvx+yi-yy;endifyn>0jvy=jvy+xi-xx;endflag=0;if(jvx>m)xn=xn-1;flag=1;xi=xi+b;jvx=mod(jvx,m);endif(jvy>m)yn=yn-1;flag=1;yi=yi-b;jvy=mod(jvy,m);endifflag==1XC(k)=xi;YC(k)=yi;k=k+1;endenda=pi-atan(abs((y03-yy)/(x03-xx)));b=atan(abs((y04-yy)/(x04-xx)));alpha=b:pi/100:a;XQ=xx+R*cos(alpha);YQ=yy+R*sin(alpha);plot(XQ,YQ)holdon;plot(xx,yy,'Ro');iffla==0fla=fla+1;elseiffla==1line([x03,XC(1)],[y03,YC(1)],'color','r');fla=fla+1;elseiffla<=k-2line([XC(fla),XC(fla+1)],[YC(fla),YC(fla+1)],'color','r');fla=fla+1;elseerrordlg('插补结束');fla=0;endendfunctionbuchang_Callback(hObject,eventdata,handles)functionbuchang_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctionjcq_Callback(hObject,eventdata,handles)functionjcq_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end心得 体会 针灸治疗溃疡性结肠炎昆山之路icu常用仪器的管理名人广告失败案例两会精神体会 本次课设是在考研结束后的一周内做完的,时间其实应该是很够的,但是由于本人不善于编程,所以最后完成得很仓促。通过这次课设,我对matlab的操作有了更深的认识,对相关函数语句还有逻辑循环套用的应用有了更深的理解。而且此次课设,让我对逐点比较法直线插补和DDA圆弧插补有了感性和理性的全面认识,对我学习数控机床这门课也有非常大的帮助。最后,遇到困难不要着急,静下心来总有解决 办法 鲁班奖评选办法下载鲁班奖评选办法下载鲁班奖评选办法下载企业年金办法下载企业年金办法下载 ~
本文档为【机床数控技术课程设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
东兰
暂无简介~
格式:doc
大小:60KB
软件:Word
页数:0
分类:
上传时间:2021-09-16
浏览量:1