{Mechanicke vlastnosti ocelovych skrutiek a matic
STK 2 str.92 tab.10 "tab10"}
tab10:array[1..3,1..10] of real=
((0,1,2,3,4,5,6,7,8,9),
(350,500,500,600,800,800,1000,1000,1000,1200),
(210,300,400,480,650,640,800,900,900,1080));
{Smerne hodnoty sucinitela utahovania Ku
STK 2 str.94 tab.13 "tab13"}
tab13:array[1..3] of real=(3,1.4,2);
{Maximalne dovolene sily predpatia a utahovacie momenty pre
normalizovane skrutky
STK 2 str. 96 tab.14 "tab14"}
Tab14:array[1..14,1..13] of real=
((4,1.3,1.8,2.4,3.9,5.45,6.55,1,1.35,1.8,2.9,4.1,4.9),
(5,2.1,3,3.95,6.35,8.95,10.7,2,2.8,3.8,6,8.5,10),
(6,3,4.2,5.6,9,12.6,15.1,3.3,4.7,6.3,10,14,17),
(8,5.4,7.7,10.3,16.5,23.2,27.9,8.2,12,16,25,35,41),
(10,8.6,12.3,16.4,26.2,36.9,44.3,16,23,31,42,69,83),
(12,12.6,18,23.9,38.3,54,64.5,28,40,54,86,120,145),
(14,17.2,24.6,32.8,52.5,74,88.5,44,63,84,135,190,230),
(16,24,34.2,45.6,73,102,123,69,98,131,210,295,355),
(18,29,41,55,88,124,148,95,136,181,290,405,485),
(20,37,53,71,114,160,192,134,192,256,410,580,690),
(22,46,66,88,141,199,239,180,258,345,550,780,930),
(24,54,77,102,164,230,276,233,335,445,710,1000,1200),
(27,71,101,134,215,302,363,345,490,655,1050,1500,1800),
(30,85,123,164,262,368,442,475,680,905,1450,2000,2400));
{Smerne hodnoty unavovej pevnosti skrutkovych spojov
sigma a MPa
STK 2 str.97 tab.15 "tab15"}
TAB15:array[1..6,1..5] of real=
((4,4,40,34,27),(5,4,45,38,30),(6,5,55,45,35),
(8,6,60,50,40),(10,8,70,60,50),(12,8,70,60,50));
{pomocne, doplnil trsek}
pomoc:array[0..9] of integer=
(1,2,3,3,4,4,5,5,6,6);
{Smerne hodnoty dovoleneho tlaku Pd MPa pri stlaceni
suciastok z r“zneho materialu
STK 2 str.98 tab.16 "tab16"}
tab16:array[1..4,1..2] of real=
((180,120),(750,500),(500,330),(900,600));
{Tolerancie ulozeni s presahom u ulozeni H
STT str. 128 "hulozenia"}
ulozeniah:array[1..5,1..13] of real=
((4,5,6,8,9,11,13,15,18,20,23,25,27),
(6,8,9,11,13,16,19,22,25,29,32,36,40),
(10,12,15,18,21,25,30,35,40,46,52,57,63),
(14,18,22,27,33,39,46,54,63,72,81,89,97),
(25,30,36,43,52,62,74,87,100,115,130,140,155));
rozmery:array[1..13] of integer =
(3,6,10,18,30,50,80,120,180,250,315,400,500);
naz_ulozenia:array[1..14] of string =
('H8/z8','H8/x8','H8/u8','H8/u7','H8/s7','H8/v7','H8/y7',
'H8/r7','H7/u7','H7/t6','H7/s7','H7/r6','H6/s6','H6/r5');
implementation
{Pruzna poddajnost spojovanych casti c2
STK 2 str.95 obr.90 "function obr90"}
function obr90(lk,d,Da,m:integer):real;
const
pz:array[1..2,1..12] of real=
((0,1.25,1.75,2.25,2.75,3.25,3.75,4.25,4.75,5.25,5.75,100),
(50,39,30,24,19,15,11,8,5,3,0,0));
vz:array[1..4,1..24] of real=
((0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115),
(100,85,70,59,49,41,35,29,24,20,17,14,12,9.5,8,6.8,5.5,4.7,3.9,3.2,2.8,2.2,1.9,1.7),
(175,150,125,100,85,72,60,50,41,35,29,25,20,17,14,13,10,8.1,6.9,5.8,4.8,4,3.2,2.8),
(300,250,210,175,150,125,100,85,70,60,50,41,34,29,25,20,17,14,12,9.7,8.1,6.9,5.5,4.7));
var x,y,c:real;
a,p:integer;
begin
if m=4 then m:=3;
if m=3 then m:=1
else if m=1 then m:=3;
if lk/d>10 then y:=pz[2,11];
if lk/d<0 then y:=pz[2,1];
for a:=1 to 11 do
if (lk/d>=pz[1,a]) and (lk/d<pz[1,a+1]) then y:=pz[2,a];
if Da/d<=1.5 then p:=1;
if (Da/d>1.5) and (Da/d<=3) then p:=2;
if Da/d>3 then p:=3;
case p of
1:x:=1.04*y;
2:x:=(34*y+1000)/50;
3:x:=(25*y+1650)/50;
end;
case d of
4:c:=0;
5:c:=60*6;
6:c:=60*11;
8:c:=60*14;
10:c:=60*26;
12:c:=60*30;
14:c:=60*34;
16:c:=60*38;
18:c:=60*41;
20:c:=60*45;
22:c:=60*47;
24:c:=60*49;
27:c:=60*52;
30:c:=60*55;
end;
y:=(59*x+c)/60;
for a:=1 to 23 do
if (y>=vz[1,a]) and (y<vz[1,a+1]) then obr90:=vz[m+1,a];
end;
{Hodnoty konstant pruznosti C2a,C2b
STK 2 str.112 obr.107}
procedure obr107(da,db,dt:real;var c2a,c2b:real);
const vyb:array[1..3,1..12] of real=
((0,1.15,1.3,1.5,1.8,2.25,2.75,3.5,4.5,6.5,9,11),
(0.1,0.17,0.27,0.35,0.43,0.48,0.52,0.545,0.565,0.57,0.573,-1),
(0.1,0.16,0.24,0.3,0.375,0.43,0.45,0.47,0.48,0.49,0.5,-1));
var a,b:real;
i:integer;
begin
if (dt<0) or (da<0) then begin
c2a:=0;c2b:=0;exit;
end;
if db>0 then b:=dt/db;
a:=da/dt;
if a>10 then a:=10;
for i:=1 to 11 do
begin
if (vyb[1,i]<a) and (vyb[1,i+1]>=a) then c2a:=vyb[2,i];
if db>0 then
if (vyb[1,i]<b) and (vyb[1,i+1]>=b) then c2b:=vyb[3,i];
end;
if db<=0 then c2b:=1;
end;
function kobr1(d,m,it,p,ze,ea:real;var kfa,kha:real):boolean;
begin
kobr1:=false;
if (m<0) or (m>20) then exit;
if (d<12) or (d>1600) then exit;
if (it<3) or (it>12) then exit;