版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数控技术课程设计说明书设计题目线插补与圆弧插补程序设计机械设计以及自动化专业机械工程学院机械102班设计者青岛理工大学2013年6月20日目 录1 .设计题目12 .目录23 .直线插补流程图34 .直线插补程序45 .程序结果86 .圆弧插补流程图9107 .圆弧插补程序8 .程序结果21一.直线插补1.直线插补程序流程图2.直线插补程序设计#include "stdio.h"int i,X,Y,X0,Y0,Xe,Ye,F,N;int a302;void main()int m;int menu();void yi();void er();void san();void
2、si();void te();void shuchu();m=menu();a00=X0;a01=Y0;switch(m)case 1:yi();shuchu();break;case 2:er();shuchu();break;case 3:san();shuchu();break;case 4:si();shuchu();break;case 5:te();shuchu();break;default:printf("无法插补 n");)int menu()(int t;printf("输入起点坐标n");scanf("%d,%cT'
3、;,&X0,&Y0);printf("输入终点坐标n");scanf("%d,%d",&Xe,&Ye);if (Xe>=X0&&Ye>=Y0)t=1;else if (Xe<=X0&&Ye>=Y0)t=2;else if (Xe<=X0&&Ye<=Y0)t=3;else if (Xe>=X0&&Ye<=Y0)t=4;else if (Xe=X0&&(Ye>Y0&&Y0>
4、=0)|(Ye<Y0&&Y<=0)t=5;elset=6;return(t);)void yi()(F=0;N=Xe-X0+Ye-Y0;X=X0;Y=Y0;for(i=1;i<=N;i+) if(F>=0)X+;ai0=X;ai1=Y;F-=Ye-Y0;elseY+;ai0=X;ai1=Y;F+=Xe-X0; void er()(F=0;N=X0-Xe+Ye-Y0;X=X0;Y=Y0;for(i=1;i<=N;i+)if(F>=0) X-;ai0=X;ai1=Y;F-=Ye-Y0;elseY+;ai0=X;ai1=Y;F+=X0-Xe;voi
5、d san()F=0;N=X0-Xe+Y0-Ye;X=X0;Y=Y0;for(i=1;i<=N;i+)if(F>=0)(X-;ai0=X;ai1=Y;F-=Y0-Ye;elseY-;ai0=X;ai1=Y;F+=X0-Xe;void si()F=0;N=Xe-X0+Y0-Ye;X=X0;Y=Y0;for(i=1;i<=N;i+)if(F>=0)X+;ai0=X;ai1=Y;F-=Y0-Ye;else Y-;ai0=X;ai1=Y;F+=Xe-X0;void te()N=Ye-Y0;for(i=1;i<=N;i+)if(Ye>0)Y+;ai0=X;ai1=Y;
6、else if(Ye<0)Y-;ai0=X;ai1=Y;void shuchu()for(i=0;i<=N;i+)printf("%d ",i);printf("%d,%dn",ai0,ai1);3.程序结果例如起点(0,0 )终点(6,4 )步数坐标11,021,12,142,253,264,274,385,396,3106,4二.圆弧插补1.圆弧插补程序流程图2.圆弧插补程序#include "stdio.h"#include "math.h"int X0,Y0,X1,Y1,X2,Y2,X3,Y3,
7、X4,Y4;int i=1,r,f,s;void main()(int m;int menu();void yishun();void yini();void ershun();void erni();void sanshun();void sanni();void sishun();void sini();void shuchu();m=menu();switch(m)(case 1:yishun();break;case 2:yini();break;case 3:ershun();break;case 4:yini();break;case 5:sanshun();break;case
8、6:yini();break;case 7:sishun();break;case 8:yini();break;default:printf("无法插补 n");)int menu()int t;printf("输入原点坐标n");scanf("%d,%d",&X0,&Y0);printf("输入起点坐标n");scanf("%d,%d",&X3,&Y3);printf("输入终点坐标n");scanf("%d,%d",&
9、amp;X4,&Y4);printf("1:顺时针圆弧n");printf("2:逆时针圆弧n");scanf("%d",&s);X1=X3-X0;Y1=Y3-Y0;X2=X4-X0Y2=Y4-Y0;r=X1*X1+Y1*Y1;if (X1>=0&&Y1>0&&s=1)t=1;else if (X1>0&&Y1>=0&&s=2) t=2;else if (X1<0&&Y1>=0&&s=1)
10、 t=3;else if (X1<=0&&Y1<0&&s=2) t=4;else if (X1<=0&&Y1<0&&s=1) t=5;else if (X1<0&&Y1<=0&&s=2) t=6;else if (X1>0&&Y1<=0&&s=1) t=7;else if (X1>=0&&Y1<0&&s=2)t=8;elset=9;return(t);void yishun()
11、(do(f=X1*X1+Y1*Y1-r;if(f>=0)(Y1-;f-=2*Y1+1;i+;printf("%d ",i);printf("%d,%dn”,X1,Y1);else(X1+;f+=2*X1+1;i+;printf("%d ",i);printf("%d,%dn”,X1,Y1);)while(Y1!=0&&(X1!=X2|Y1!=Y2);if(Y1=0)(void sishun();sishun();)void yini()(do(f=X1*X1+Y1*Y1-r;if(f>=0)(X1-;f-=
12、2*X1+1;i+;printf("%d ",i);printf("%d,%dn”,X1,Y1);)else(Y1+;f+=2*Y1+1;i+;printf("%d ",i);printf("%d,%dn",X1,Y1);)while(X1!=0&&(X1!=X2|Y1!=Y2);if(X1=0)(void erni();erni();)void ershun()(do(f=X1*X1+Y1*Y1-r;if(f>=0)(X1+;f+=2*X1+1;i+;printf("%d ",i)
13、;printf("%d,%dn",X1,Y1);)else(Y1+;f+=2*Y1+1;i+;printf("%d ",i);printf("%d,%dn",X1,Y1);)while(X1!=0&&(X1!=X2|Y1!=Y2);if(X1=0)(void yishun();yishun();)void erni()(do(f=X1*X1+Y1*Y1-r;if(f>=0)(Y1-;f-=2*Y1+1;i+;printf("%d ",i);printf("%d,%dn",X
14、1,Y1);)else(X1-;f-=2*X1+1;i+;printf("%d ",i);printf("%d,%dn",X1,Y1);)while(Y1!=0&&(X1!=X2|Y1!=Y2);if(Y1=0)(void sanni();sanni();)void sanshun()(do(f=X1*X1+Y1*Y1-r;if(f>=0)(Y1+;f+=2*Y1+1;i+;printf("%d ",i);printf("%d,%dn”,X1,Y1);else(X1-;f-=2*X1+1;i+;prin
15、tf("%d ",i);printf("%d,%dn",X1,Y1);)while(Y1!=0&&(X1!=X2|Y1!=Y2);if(Y1=0)(void ershun();ershun();)void sanni()(do(f=X1*X1+Y1*Y1-r;if(f>=0)(X1+;f+=2*X1+1;i+;printf("%d ",i);printf("%d,%dn",X1,Y1);)else(Y1-;f+=2*Y1+1;i+;printf("%d ",i);print
16、f("%d,%dn",X1,Y1);)while(X1!=0&&(X1!=X2|Y1!=Y2);if(X1=0)(void sini();sini();)void sishun()(do(f=X1*X1+Y1*Y1-r;if(f>=0)(X1-;f-=2*X1+1;i+;printf("%d ",i);printf("%d,%dn",X1,Y1);)else(Y1-;f-=2*Y1+1;i+;printf("%d ",i);printf("%d,%dn",X1,Y1);)w
17、hile(X1!=0&&(X1!=X2|Y1!=Y2);if(X1=0)(void sanshun();sanshun();)void sini()(do(f=X1*X1+Y1*Y1-r;if(f>=0)(Y1+;f+=2*Y1+1;i+;printf("%d ",i);printf("%d,%dn”,X1,Y1);)else(X1+;f+=2*X1+1;i+;printf("%d ",i);printf("%d,%dn",X1,Y1);)while(Y1!=0&&(X1!=X2|Y1!=Y2);if(Y1=0)(void yini();yin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- pwc -引领未来的数字化领导力模型
- 海-气相互作用和环流异常(讲义)-2025年高考地理一轮复习
- 2024年文教体育用品项目投资申请报告代可行性研究报告
- 2023年炮塔式铣床资金筹措计划书
- 强化管理-有效教育-交通安全-常抓不懈1
- 经济数学-教学日历
- Python程序设计实践- 习题及答案汇 张银南 ch01-21 Python程序设计实验的目的与要求- 中文词云
- 关于青春无悔演讲稿范文分享(33篇)
- 设计单元教学计划
- 【沪科】第三次月考卷
- 99版-干部履历表-A4打印
- 现患率调查汇总表
- 低压电缆测绝缘施工方案
- 电动机基础知识介绍
- 鱼塘所有权证明
- 重点实验室汇报
- 医疗器械自查表【模板】
- 1999年制干部履历表
- 健康管理学教学大纲
- 公路施工安全技术交底资料(完整版)
- 《传感器原理与应用》教案
评论
0/150
提交评论