文档介绍:数控技术课程设计说明书设计题目直线插补与圆弧插补程序设计机械设计以及自动化专业机械工程学院机械102班设计者青岛理工大学2013年6月20日目录设计题目…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………=0输入XE、YE、XOY、NXYFM≥0?XOR=1或4?XOR=1或2?ZF=1ZF=2ZF=3ZF=4FM=FM-YEFM=FM+YE调用走步控制程序NXY=NXY-1NXY=0?#include""inti,X,Y,X0,Y0,Xe,Ye,F,N;inta[30][2];voidmain(){intm;intmenu(); voidyi();voider();voidsan();voidsi();voidte();voidshuchu();m=menu();a[0][0]=X0;a[0][1]=Y0;switch(m){case1:yi();shuchu();break;case2:er();shuchu();break;case3:san();shuchu();break;case4:si();shuchu();break;case5:te();shuchu();break;default:printf("无法插补\n");}}intmenu(){ intt;printf("输入起点坐标\n");scanf("%d,%d",&X0,&Y0); printf("输入终点坐标\n");scanf("%d,%d",&Xe,&Ye); if(Xe>=X0&&Ye>=Y0)t=1;elseif(Xe<=X0&&Ye>=Y0)t=2;elseif(Xe<=X0&&Ye<=Y0) t=3;elseif(Xe>=X0&&Ye<=Y0) t=4;elseif(Xe==X0&&((Ye>Y0&&Y0>=0)||(Ye<Y0&&Y<=0))) t=5;elset=6;return(t);}voidyi(){F=0; N=Xe-X0+Ye-Y0;X=X0;Y=Y0;for(i=1;i<=N;i++){if(F>=0){X++;a[i][0]=X;a[i][1]=Y;F-=Ye-Y0;}else{Y++;a[i][0]=X;a[i][1]=Y;F+=Xe-X0;}}}voider(){F=0; N=X0-Xe+Ye-Y0;X=X0;Y=Y0;for(i=1;i<=N;i++){if(F>=0){X--;a[i][0]=X;a[i][1]=Y;F-=Ye-Y0;}else{Y++;a[i][0]=X;a[i][1]=Y;F+=X0-Xe;}}}voidsan(){F=0; N=X0-Xe+Y0-Ye;X=X0;Y=Y0;for(i=1;i<=N;i++){if(F>=0){X--;a[i][0]=X;a[i][1]=Y;F-=Y0-Ye;}else{Y--;a[i][0]=X;a[i][1]=Y;F+=X0-Xe;}}}voidsi(){F=0; N=Xe-X0+Y0-Ye;X=X0;Y=Y0;for(i=1;i<=N;i++){if(F>=0){X++;a[i][0]=X;a[i][1]=Y;F-=Y0-Ye;}else{Y--;a[i][0]=X;a[i][1]=Y;F+=Xe-X0;}}}voidte(){ N=Ye-Y0;for(i=1;i<=N;i++){ if(Ye>0) {Y++; a[i][0]=X;a[i][1]=Y;} elseif(Ye<0) {Y--; a[i][0]=X;a[i][1]=Y;} }}voidshuchu(){ for(i=0;i<=N;i++) { printf("%d ",i);printf("%d,%d\n",a[i][0],a[i][1]);}}(0,0)终点(6,4)步数坐标1,01,12,12,23,24,24,35,36,36,=4ZF=4RNS=1,6?RNS=2,5?输入X0、Y0、NXY、RNS置FM=0、XM=X0、YM=Y0RNS=1,2,6,8?FM≥0?FM≥0?RNS=2,7?RNS=1,8?ZF=3ZF=2ZF=1ZF=1ZF=2ZF=3