2684
.pdf{Окружность выступов} st_ang:=trunc(ang_0[c]+(s1_ang[c]-
s1_s_ang[c]) div 2); end_ang:=trunc(ang_0[c]+s1_ang[c]-
(s1_ang[c]-s1_s_ang[c]) div 2);
arc(x_center[c],trunc(getmaxy/2),st_ang,end_an g,trunc(d1[c]/2));
ang_0[c]:=trunc(ang_0[c]+s1_ang[c]); getarccoords(arccoords);
if flag=true then begin x2:=arccoords.xstart; y2:=arccoords.ystart;
line(x1,y1,x2,y2); end
else begin
x0:=arccoords.xstart;
y0:=arccoords.ystart;
end;
x1:=arccoords.xend;
y1:=arccoords.yend;
{Окружность впадин} st_ang:=trunc(ang_0[c]+(s1_ang[c]-
s2_s_ang[c]) div 2); end_ang:=trunc(ang_0[c]+s1_ang[c]-
(s1_ang[c]-s2_s_ang[c]) div 2);
arc(x_center[c],trunc(getmaxy/2),st_ang,end_an g,trunc(d2[c]/2));
ang_0[c]:=trunc(ang_0[c]+s1_ang[c]); getarccoords(arccoords);
x2:=arccoords.xstart;
y2:=arccoords.ystart;
line(x1,y1,x2,y2);
x1:=arccoords.xend;
y1:=arccoords.yend;
flag:=true;
end;
x1:=arccoords.xend;
y1:=arccoords.yend;
line(x1,y1,x0,y0);
circle(x_center[c],trunc(getmaxy/2),trunc(d[c] /8));
setfillstyle(1,blue);
if ang_0[c]>360 then ang_0[c]:=ang_0[c]- 360;
ang_0[c]:=ang_0[c]+1;
if c=2 then ang_0[2]:=ang_0[2]-1- trunc(z[1]/z[2]);
end;
end;
until keypressed; key:=readkey; setactivepage(0);
setcolor(yellow);
circle(x_center[1],trunc(getmaxy/2),trunc(d1[1 ]/2));
circle(x_center[2],trunc(getmaxy/2),trunc(d1[2 ]/2));
outtextxy(180,50,'Это-окружность выступов');
repeat until keypressed; key:=readkey;
setcolor(green);
circle(x_center[1],trunc(getmaxy/2),trunc(d2[1 ]/2));
circle(x_center[2],trunc(getmaxy/2),trunc(d2[2 ]/2));
outtextxy(165,70,'Это-окружность впадин'); repeat until keypressed;
key:=readkey;
setcolor(CYAN);
circle(x_center[1],trunc(getmaxy/2),trunc(d[1] /2));
circle(x_center[2],trunc(getmaxy/2),trunc(d[2] /2));
outtextxy(135,90,'А это-делительная'); outtextxy(230,110,'окружность');
repeat until keypressed; key:=readkey;
settextjustify(0,2);
setcolor(magenta); outtextxy(15,270,'Окружности впадин и
выступов очерчивают нижнюю'); outtextxy(15,290,'и верхнюю границы зуба.
Делительная окружность'); outtextxy(15,310,'разделяет зуб на две
части - головку и ножку. Очевидно,');
outtextxy(15,330,'что высота зуба равна сумме высот ножки и головки.');
repeat until keypressed; key:=readkey; clearviewport;
end;
procedure point_2; label 4;
var
p,d,m,h,aw,b1,ha,hf,ha1,c,pci,i,u,re,rm,me,dl1
,dl2,
de1,de2,he,dae1,dae2,b,q,d1,da1,df1,d2,da2,df2
,hf1,
dn,kn,b2,ham:real;
z,z1,z2,n,n1,rec,otv1:integer; a,da,df:array[1..18] of real; w:array[1..17] of real; procedure pryam;
begin clrscr;
write('Введите шаг[мм] зубчатого колеса -
');
readln(p); m:=p/pi; clrscr;
writeln('ряд 1: 0.1; 0.12; 0.15; 0.2; 0.25; 0.3; 0.4; 0.5;');
writeln(' |
0.6; 0.8 ; 1.0 ; 1.25; |
1.5; 2.0; 2.5; 3.0;'); |
|
writeln(' |
4.0; 5.0');writeln; |
writeln('ряд |
2: 0.14; 0.18; 0.22; 0.28; |
0.35; 0.45; 0.55; |
0.7;'); |
writeln(' |
0.9 ; 1.125; 1.375; 1.75; |
2.25; 2.75; 3.5; 4.5;');
writeln(' 5.5; 6.0');writeln; writeln('Вычесленное значение модуля
m[мм]= ',m:5:3);writeln;
writeln('Выберете стандартный модуль '); write('используя ряд 1 или ряд 2 -'); readln(m);writeln;
ha1:=1;
c:=0.25;
write('Введите число зубчатых колес - '); readln(n);
n1:=1;
i:=1.0;
clrscr; repeat
write('Введите число зубьев ',n1,'-го колеса-');
readln(z);
d:=m*z;
a[n1]:=d;
writeln('Делительный диаметр ',n1,'-го колеса d[мм] = ',d:5:2);
writeln;
if n1>1 then i:=i*a[n1]/a[n1-1]*(-1); n1:=n1+1;
until n1>n;
writeln('Для продолжения нажмите любую клавишу');
repeat until keypressed;clrscr; writeln('Значение передаточного отношения
i=',i:6:3);
if i<0 then u:=i*(-1) else u:=i; ha:=ha1*m;
hf:=(ha1+c)*m;
h:=ha+hf;
writeln('Высота зуба h[мм] = ',h:5:2);
n1:=1; repeat
da[n1]:=a[n1]+2*ha1*m; writeln('Значение диаметра вершины
зубьев',n1,'-го колеса da[мм] = ',da[n1]:5:2); df[n1]:=a[n1]-2*(ha1+c)*m; writeln('Значение диаметра впадин
df[мм] = ',df[n1]:5:2); n1:=n1+1;
until n1>n; n1:=1; repeat
aw:=0.5*(a[n1]+a[n1+1]); write('Значение межосевого
расстояния',n1,'-й зубчатой пары '); writeln('aw[мм]=',aw:6:2); n1:=n1+1;
until n1=n; |
|
|
writeln('-------------------------------- |
|
|
------------------ |
'); |
|
writeln('! pciba |
! |
|
Применение |
|
!'); |
writeln('-------------------------------- |
|
|
------------------ |
'); |
|
writeln('! 0.01-0.1 |
! Кинематические и |
|
легконагруженные |
!'); |
|
writeln('! |
|
! |
передачи |
!'); |
|
writeln('-------------------------------- |
|
|
------------------ |
'); |
|
writeln('! 0.1-0.25 |
! Легко и |
|
средненагруженные передачи !'); |
||
writeln('! |
|
! при повышенной |
жесткости валов |
!'); |
|
writeln('--------------------------------
------------------');
writeln('! 0.25-0.40 ! Передачи
повышенной и высокой |
!'); |
||
writeln('! |
|
! |
нагруженности при |
достаточной |
!'); |
|
|
writeln('! |
|
! |
жесткости валов |
!'); |
|
|
|
writeln('--------------------------------
------------------');
write('Выберите значение коэффициента pciba= ');
readln(pci);
b1:=aw*pci;
writeln('Ширина венца зубчатого колеса b[мм]=',b1:5:2);
end;
procedure kosoz; begin
write('Введите шаг[мм] зубчатого колеса
- ');
readln(p);
write('Введите число зубьев 1-го колеса-');
readln(z1);
write('Введите число зубьев 2-го колеса-');
readln(z2);
clrscr;
me:=p/pi;
re:=0.5*me*sqrt(sqr(z1)+sqr(z2)); writeln('Значение внешнего конусного
расстояния re[мм] = ',re:7:4); writeln;
b:=0.3*re;
rm:=re-0.5*b;
writeln('Значение среднего конусного расстояния rm[мм] = ',rm:7:4);
writeln;
dl1:=arctan(z1/z2); dl2:=pi/2-dl1;
writeln('Углы делительных конусов:'); writeln(' dl1[рад] = ',dl1:7:4); writeln(' dl2[рад] =
',dl2:7:4);writeln;
de1:=me*z1;
de2:=me*z2;
writeln('Внешний делительный диаметр
:');
writeln(' de1[мм] = ',de1:7:4); writeln(' de2[мм] = ',de2:7:4); writeln;
ha1:=1;
ha:=ha1*me;
dae1:=de1+2*ha*cos(dl1);
dae2:=de2+2*ha*cos(dl2); writeln('Внешний диаметр вершин :'); writeln(' dae1[мм] = ',dae1:7:4); writeln(' dae2[мм] = ',dae2:7:4); writeln;
c:=0.2;
he:=(2*ha1+c)*me;
writeln('Внешняя высота зуба he[мм] = ',he:7:4);writeln;
b:=sqrt(re*re-sqr(de1/2)); writeln('Расчетное расстояние b[мм] =
',b:7:4);writeln;
u:=z2/z1; writeln('Передаточное число в
конической передаче u = ',u:7:4);
|
end; |
|
|
|
|
|
procedure cherv; |
|
|
||
|
begin |
|
|
|
|
|
clrscr; |
|
|
|
|
|
write('Введите шаг[мм] = '); |
|
|||
|
readln(p);clrscr; |
|
|
||
|
m:=p/pi; |
|
|
|
|
|
writeln('Значение модуля зацепления в |
||||
осевом сечении червяка m =',m:6:3); |
|
||||
|
writeln('ряд 1: 0.10; 0.125; 0.16; 0.2; |
||||
0.25; 0.315; 0.4; 0.5;'); |
|
|
|||
|
writeln(' |
0.63; 0.8 ; 1.0 ; 1.25; |
|||
1.6; |
2.0; |
2.5; 3.15;'); |
|
|
|
|
writeln(' |
4.0; 5.0');writeln; |
|
||
|
writeln('ряд 2: 0.12; 0.15; 0.3; |
|
|||
0.6;1.5;3.0;3.5;4.0;5.0;');writeln; |
|
||||
|
writeln('Вычесленное значение модуля |
|
|||
m[мм]= ',m:5:3);writeln; |
|
|
|||
|
writeln('Выберете стандартный модуль '); |
||||
|
write('используя ряд 1 или ряд 2 -'); |
|
|||
|
readln(m); |
|
|
|
|
|
write('Введите число зубьев колеса ='); |
||||
|
readln(z2); |
|
|
|
|
|
write('Введите число витков червяка ='); |
||||
|
readln(z1); |
|
|
|
|
|
writeln(' |
|
Табл.1 |
||
'); |
|
|
|
|
|
|
writeln('------------------------------ |
|
|
|
|
------------------------ |
|
|
'); |
|
|
|
writeln('! |
m |
! |
q |
|
! |
z1 |
|
!'); |
|
|
|
writeln('------------------------------ |
|
|
|
|
------------------------ |
|
|
'); |
|
|
|
writeln('! |
1.0 |
! |
16 |
|
! |
1 |
|
!'); |
|
|
writeln('! |
! |
20 |
!1;2;4 !'); writeln('------------------------------
------------------------ |
|
'); |
|
|
writeln('! |
1.25 |
! |
|
|
12.5;16;20 |
! |
1;2;4 |
!'); |
|
writeln('------------------------------ |
|
|
|
|
------------------------ |
|
'); |
|
|
writeln('! |
1.6 |
! |
|
|
10;12.5;16;20 |
! |
1;2;4 |
!'); |
|
writeln('------------------------------ |
|
|
|
|
------------------------ |
|
'); |
|
|
writeln('! |
2.0;2.5;3.15 ! |
|
||
8;10;12.5;16 |
! |
1;2;4 |
!'); |
|
writeln('! |
|
! |
20 |
|
! |
|
!'); |
|
|
writeln('------------------------------ |
|
|
|
|
------------------------ |
|
'); |
|
|
writeln('Выберете коэффициенты диаметра червяка q из табл.1');
writeln('в соответствии с модулем m и z1
');
write('q = '); readln(q);clrscr; ha1:=1.0;
c:=0.2;
hf1:=ha1+c;
d1:=m*q;
da1:=d1+2*ha1*m; df1:=d1-2*(ha1+c)*m;
writeln('Значение делительного диаметра червяка d1[мм] = ',d1:8:3);
writeln('Значение диаметра вершин червяка da1[мм] = ',da1:8:3);