凸轮设计_C语言编程.doc

上传人:cn****1 文档编号:543002720 上传时间:2024-03-20 格式:DOC 页数:4 大小:48.01KB
返回 下载 相关 举报
凸轮设计_C语言编程.doc_第1页
第1页 / 共4页
凸轮设计_C语言编程.doc_第2页
第2页 / 共4页
凸轮设计_C语言编程.doc_第3页
第3页 / 共4页
凸轮设计_C语言编程.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《凸轮设计_C语言编程.doc》由会员分享,可在线阅读,更多相关《凸轮设计_C语言编程.doc(4页珍藏版)》请在金锄头文库上搜索。

1、一、编程:(注:程序中各个符号的含义)PI:常数 s0:理论廓线的基圆半径 s:各个角度的推杆位移 i:转角e:偏心距 rr:滚子半径 r0:基圆半径 h:行程 ya0:许用压力角 yah:弧度制压力角 yaj:角度制压力角 p:曲率半径st:推程段推杆位移 sy:远休段推杆位移 sh:回程段推杆位移 sj:近休段推杆位移dx_di:理论坐标x对转角i的一次导 dy_di:理论坐标y对转角i的一次导 d2x:理论坐标x对转角i的二次导 d2y:理论坐标y对转角i的二次导ds_di:推杆位移s对角度i的一次导 d2s:推杆位移s对转角i的二次导 xli:理论坐标x yli:理论坐标y x:实际坐

2、标想 y:实际坐标ysink:凸轮廓线法向倾斜角正弦 cosk:凸轮廓线法向倾斜角余弦子函数1:求x、y的实际坐标子函数2:求转角i处的曲率半径子函数3:求转角i处的压力角 #include stdio.h#include math.h #define PI 3.1415926 void zuobiao (float s0, float s,float ds_di,int i, int e,int rr); ;子函数1float qulv (float s0, float s,float ds_di,float d2s,int i, int e,int rr,int r0); ;子函数2flo

3、at yalijiao (float s,float ds_di,int e,int r0); ;子函数3main() int e,rr,r0,h,i,ya0=30;float s0,ds_di,d2s,st,sy,sh,sj,yah,yaj,p; scanf(%d%d%d%d,&e,&rr,&r0,&h); printf(e=%d,rr=%d,r0=%d,h=%dn,e,rr,r0,h); s0=sqrt(r0*r0-e*e); for(i=0;i=360;i+) if(i=120) ;推程 for(i=0;i=120;i+) st=50*(3*i*PI/180-sin(3*i*PI/180

4、)/(2*PI); ds_di=50*(3-3*cos(3*i*PI/180)/(2*PI); d2s=50*9*sin(3*i*PI/180)/(2*PI); yaj=yalijiao(st,ds_di,e,r0); ;调用子函数3,求压力角 if(yaj=rr) ;ifelse校核推程段曲率半径 zuobiao(s0,st,ds_di,i,e,rr); ;调用子函数1,求xy坐标 else printf(chongxinshuru r0,rrn); else printf(chongxinshuru e,r0n); printf(%f,p); ;输出曲率半径 printf(%fn,yaj)

5、; ;输出压力角 else if(i=150) ;远休 for(i=121;i=rr) ;ifelse校核曲率半径 zuobiao(s0,sy,ds_di,i,e,rr); ;调用子函数1,求xy坐标 else printf(chongxinshuru r0,rrn); printf(%f,p); ;输出曲率半径 printf(%fn,yaj); ;输出压力角 else if(i=210) ;回程 for(i=151;irr) ;ifelse校核曲率半径 zuobiao(s0,sh,ds_di,i,e,rr); ;调用子函数1,求xy坐标 else printf(chongxinshuru r

6、0,rrn); printf(%f,p); ;输出曲率半径 printf(%fn,yaj); ;输出压力角 else ;近休 for(i=211;irr) ;ifelse校核曲率半径 zuobiao(s0,sj,ds_di,i,e,rr); ;调用子函数1,求xy坐标 else printf(chongxinshuru r0,rrn); printf(%f,p); ;输出曲率半径 printf(%fn,yaj); ;输出压力角 void zuobiao (float s0, float s,float ds_di,int i, int e,int rr) float dx_di, dy_di,

7、xli,yli,x,y,sink,cosk; xli=(s0+s)*sin(i*PI/180)+e*cos(i*PI/180); ;计算理论x坐标 yli=(s0+s)*cos(i*PI/180)-e*sin(i*PI/180); ;计算理论y坐标 dx_di=(ds_di-e)*sin(i*PI/180)+(s0+s)*cos(i*PI/180); dy_di=(ds_di-e)*cos(i*PI/180)-(s0+s)*sin(i*PI/180); sink=dx_di/sqrt(dx_di*dx_di+dy_di*dy_di); cosk=-dy_di/sqrt(dx_di*dx_di+dy_di*dy_d

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号