📄 wogan.m
字号:
clear
%蜗轮蜗杆的参数
z1=1; %蜗杆的头数
z2=63; %蜗轮的齿数
db=100;
da2=278;
ra2=da2/2;
rf2=263.34/2;
ha=0.75*da2/(z2+1.5); %齿顶高
hf=0.95*da2/(z2+1.5); %齿根高
d2=da2-2*ha; %蜗轮的分度圆直径
alpha=asin(db/d2) ; %蜗杆的压力角
a=160+15.99; %中心距
r1=48.46/2; %取整后蜗杆的喉部半径
m=d2/z2; %蜗杆的模数
r2=d2/2;
Rb=r2*sin(alpha); %成形圆半径
circlenum=6; %蜗杆的圈数
dividenum=30; %一个圆周面分成的份数
steplength=0.8; %u的步长
i12=70;
%蜗杆模型的程序
u1=m*z2*cos(alpha)/2; %切分度圆时刀具的长度
alpha1=atan(Rb/u1);
keyphi0=alpha1-asin(-m*pi/(4*(Rb^2+u1^2)^0.5));
keyphi1=i12*keyphi0;
xx=Rb*cos(keyphi0)-u1*sin(keyphi0);
yy=(Rb*sin(keyphi0)+u1*cos(keyphi0)-a).*cos(keyphi1);
zz=-(Rb*sin(keyphi0)+u1*cos(keyphi0)-a).*sin(keyphi1);
angle=atan(zz/yy);
%u=(r2-ha)*cos(alpha):steplength:(r2+hf)*cos(alpha);
u=sqrt(rf2^2-Rb^2):steplength:sqrt(ra2^2-Rb^2);
sizeu=size(u);
sizeuc=sizeu(1,2); %u的列数
phi=keyphi0-pi*circlenum/i12:2*pi/(i12*dividenum):keyphi0+pi*circlenum/i12;
[u,phi]=meshgrid(u,phi);
phi1=i12*phi;
sizephi=size(phi);
sizephia=sizephi(1,1); %phi的行数
x1=Rb*cos(phi)-u.*sin(phi);
y1=(Rb*sin(phi)+u.*cos(phi)-a).*cos(phi1);
z1=-(Rb*sin(phi)+u.*cos(phi)-a).*sin(phi1);
hold on;
xx1=x1;
yy1=y1.*cos(angle)+z1.*sin(angle);
zz1=-y1.*sin(angle)+z1.*cos(angle);
face1=surf(xx1,yy1,zz1);
xlabel('x');ylabel('y');zlabel('z')
set(face1,'LineStyle','none');
hold on;
face2=surf(-xx1,yy1,-zz1);
xlabel('x');ylabel('y');zlabel('z');title('蜗杆对称齿面图')
set(face2,'LineStyle','none')
%蜗杆齿顶连线
ra1=[xx1(:,1),flipud(-xx1(:,1))];
ra2=[yy1(:,1),flipud(yy1(:,1))];
ra3=[zz1(:,1),flipud(-zz1(:,1))];
face3=surf(ra1,ra2,ra3);
%set(face3,'LineStyle','none')
% 蜗杆齿根连线
hold on;
rf1=[xx1(1:sizephia-dividenum,sizeuc),flipud(-xx1(1:sizephia-dividenum,sizeuc))];
rf2=[yy1(1:sizephia-dividenum,sizeuc),flipud(yy1(1:sizephia-dividenum,sizeuc))];
rf3=[zz1(1:sizephia-dividenum,sizeuc),flipud(-zz1(1:sizephia-dividenum,sizeuc))];
face5=surf(rf1,rf2,rf3);
%set(face5,'LineStyle','none')
rf11=[xx1(:,sizeuc),flipud(-xx1(:,sizeuc))];
rf22=[yy1(:,sizeuc),flipud(yy1(:,sizeuc))];
rf33=[zz1(:,sizeuc),flipud(-zz1(:,sizeuc))];
face4=surf(rf11,rf22,rf33);
%set(face4,'LineStyle','none')
axis equal;grid on;colormap copper
xlabel('x');ylabel('y');zlabel('z');%title('蜗杆全齿面图');
hold on
phi=0.3029:0.1:0.7013;
phi1=63*phi;
[phi1,phi]=meshgrid(phi1,phi);
x12=Rb*cos(phi);
y12=(Rb*sin(phi)-a).*cos(phi1);
z12=(-Rb*sin(phi)+a).*sin(phi1);
plot3(x12,y12,z12);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -