版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数控技术课程设计阐明书设计题目直线插补与圆弧插补程序设计机械设计以及自动化专业机械工程学院机械102班设计者青岛理工大学6月20日目录设计题目………12.目录……………23.直线插补流程图………………34.直线插补程序…………………45.程序成果………86.圆弧插补流程图………………97.圆弧插补程序…………………108.程序成果………21一.直线插补1.直线插补程序流程图置FM=0置FM=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?开始结束YNYNYNYN2.直线插补程序设计#include"stdio.h"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]);}}3.程序成果例如起点(0,0)终点(6,4)步数坐标1,01,12,12,23,24,24,35,36,36,4二.圆弧插补1.圆弧插补程序流程图ZF=4ZF=4RNS=1,6?RNS=2,5?输入X0、Y0、NXY、RNS置FM=0、XM=X0、YM=Y0RNS=1,2,6,8?ZF=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=3FM=FM-2XM=1FM=FM+2XM=1FM=FM-2YM=1FM=FM+2YM+1YM=YM+1YM=XM-1YM=XM+1YM=YM-1调用走步控制程序NXY=NXY-1NXY=0?结束N NYNYYNNYNYNYNYNNNN2.圆弧插补程序#include"stdio.h"#include"math.h"intX0,Y0,X1,Y1,X2,Y2,X3,Y3,X4,Y4;inti=1,r,f,s;voidmain(){intm;intmenu(); voidyishun();voidyini();voidershun();voiderni();voidsanshun();voidsanni();voidsishun();voidsini();voidshuchu();m=menu();switch(m){case1:yishun();break;case2:yini();break;case3:ershun();break;case4:yini();break;case5:sanshun();break;case6:yini();break;case7:sishun();break;case8:yini();break;default:printf("无法插补\n");}}intmenu(){intt;printf("输入原点坐标\n");scanf("%d,%d",&X0,&Y0); printf("输入起点坐标\n");scanf("%d,%d",&X3,&Y3);printf("输入终点坐标\n");scanf("%d,%d",&X4,&Y4);printf("1:顺时针圆弧\n");printf("2:逆时针圆弧\n");scanf("%d",&s);X1=X3-X0;Y1=Y3-Y0;X2=X4-X0;Y2=Y4-Y0;r=X1*X1+Y1*Y1; if(X1>=0&&Y1>0&&s==1)t=1;elseif(X1>0&&Y1>=0&&s==2)t=2;elseif(X1<0&&Y1>=0&&s==1)t=3;elseif(X1<=0&&Y1<0&&s==2)t=4;elseif(X1<=0&&Y1<0&&s==1) t=5;elseif(X1<0&&Y1<=0&&s==2) t=6; elseif(X1>0&&Y1<=0&&s==1) t=7;elseif(X1>=0&&Y1<0&&s==2) t=8;elset=9;return(t);}voidyishun(){do{ f=X1*X1+Y1*Y1-r; if(f>=0){ Y1--;f-=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{X1++;f+=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(Y1!=0&&(X1!=X2||Y1!=Y2));if(Y1==0){voidsishun();sishun();}}voidyini(){do{ f=X1*X1+Y1*Y1-r; if(f>=0){ X1--;f-=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{Y1++;f+=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(X1!=0&&(X1!=X2||Y1!=Y2));if(X1==0){ voiderni();erni();}}voidershun(){do{f=X1*X1+Y1*Y1-r;if(f>=0){ X1++;f+=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{Y1++;f+=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(X1!=0&&(X1!=X2||Y1!=Y2));if(X1==0){ voidyishun();yishun();}}voiderni(){do{ f=X1*X1+Y1*Y1-r;if(f>=0){ Y1--;f-=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{X1--;f-=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(Y1!=0&&(X1!=X2||Y1!=Y2));if(Y1==0){voidsanni();sanni();}}voidsanshun(){do{ f=X1*X1+Y1*Y1-r;if(f>=0){ Y1++;f+=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{X1--;f-=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(Y1!=0&&(X1!=X2||Y1!=Y2));if(Y1==0){voidershun();ershun();}}voidsanni(){do {f=X1*X1+Y1*Y1-r;if(f>=0){ X1++;f+=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{Y1--;f+=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(X1!=0&&(X1!=X2||Y1!=Y2));if(X1==0){voidsini();sini();}}voidsishun(){do{f=X1*X1+Y1*Y1-r;if(f>=0){ X1--;f-=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}else{Y1--;f-=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(X1!=0&&(X1!=X2||Y1!=Y2));if(X1==0){voidsanshun();sanshun();}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 毕节职业技术学院《花卉学》2023-2024学年第一学期期末试卷
- 北京中医药大学东方学院《服装定制设计三高级时装定制设计》2023-2024学年第一学期期末试卷
- 二零二五年度九级工伤赔偿标准理赔与赔偿合同3篇
- 2025版化工产品采购合同商务英语版3篇
- 2025年A4规格劳动合同样本编制服务合同6篇
- 别墅安装制作合同
- 2025版报废车辆收购与处理合同3篇
- 个人2022转正述职报告七篇
- 网络红人形象代言合作合同王律师
- 生猪购销合同
- 新苏教版五年级上册科学全册期末复习知识点(彩版)
- CJJT 164-2011 盾构隧道管片质量检测技术标准
- 2023年甘肃省定西市中考政治真题 (含解析)
- 中医科诊疗指南及技术操作规范学习试题
- 6.2《青纱帐-甘蔗林》教学设计-【中职专用】高一语文(高教版2023·基础模块下册)
- 25王戎不取道旁李公开课一等奖创新教学设计
- 中国历史文化知识竞赛100题(含答案)
- 学前儿童健康教育活动设计智慧树知到期末考试答案章节答案2024年云南国防工业职业技术学院
- 门诊叙事护理课件
- 福建省厦门市翔安区2023-2024学年八年级上学期期末语文试题
- 村庙修建合同
评论
0/150
提交评论