{Окружность выступов} 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);