|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
如何通过这些线生成曲面?(渐开线螺旋面),谢谢!!
源代码如下:
m=4 %齿轮模数
z1=45 %齿轮齿数
ang=20*pi/180 %分度圆上的压力角
ha_c=1 %齿顶高系数
c_c=0.25 %顶隙系数
ha=ha_c*m %齿顶高
hf=(ha_c+c_c)*m %齿根高
d=m*z1 %分度圆直径
db=d*cos(ang) %基圆直径
da=d+2*ha %齿顶圆直径
df=d-2*hf %齿根圆直径
x=0
s=pi*m/2+2*x*m*tan(ang) %分度圆齿厚
theta_s=tan(ang)-ang
fai_s=s/d
alfa_a=acos(db/da)%齿顶圆压力角(角度表示)
alfa_f=acos(db/df)%齿根圆压力角(角度表示)
dfr=0.38*m %齿根圆角半径
B=20%齿宽
for j=1:40
alfa=(alfa_f+((alfa_a-alfa_f)/39)*(j-1));%每条渐开线上生成10各关键点所对应的压力角大小(用弧表示)
rk=(db/2)/cos(alfa);
theta=tan(alfa)-alfa;
%polar(theta,rk)
[x,y]=POL2CART(theta,rk);
C=[x;y;0;1];
%plot(x,y)
i=1;
for zd=0:B
fai_zhuan=zd/(d/r2)*tan(ang);
A=[cos(fai_zhuan) sin(fai_zhuan) 0 0;-sin(fai_zhuan) cos(fai_zhuan) 0 0;0 0 1 -zd;0 0 0 1];
BB=A*C;
xx(i)=BB(1,:);
yy(i)=BB(2,:);
zz(i)=BB(3,:);
i=i+1;
end
plot3(xx,yy,zz)
hold on
end
[ 本帖最后由 huright 于 2007-5-9 16:37 编辑 ] |
|