Материал: Расчет и проектирование механизмов радиоэлектронных средств. Андреев И.В

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Источник: https://studfile.net/preview/16563658/