|
OutTextXY(x,y,'q,a – УГОЛ НАКЛОНА');
OutLetter(x+24*8,y,'Lp');y:=y+14;
OutTextXY(x,y,'w,s – тяговый расчет');
OutLetter(x+22*8,y,'L1');y:=y+14;
OutTextXY(x,y,'e,d - установка');
OutLetter(x+30*8,y,'L8');y:=y+14;
OutTextXY(x,y,'r,f - УГОЛ НАКЛОНА');
OutLetter(x+26*8,y,'Lb');y:=y+14;
OutTextXY(x,y,'t,g – тяговая цепь');
OutLetter(x+19*8,y,'L5');y:=y+14;
OutTextXY(x,y,'y,h - цепь');
OutLetter(x+21*8,y,'L7');y:=y+14;
OutTextXY(x,y,'u,j - габариты');
OutLetter(x+21*8,y,'a1');y:=y+14;
OutTextXY(x,y,'i,k - габариты');
OutLetter(x+21*8,y,'b1');y:=y+14;
OutTextXY(x,y,'o,l - центр тяжести');
OutLetter(x+27*8,y,'a2');y:=y+14;
OutTextXY(x,y,'p,; - центр тяжест');
OutLetter(x+27*8,y,'b2');y:=y+14;
SetColor(15);
OutTextXY(x,y,#27+' '+#26+' влево-вправо');y:=y+14;
OutTextXY(x,y,#24+' '+#25+' вверх-вниз');y:=y+14;
OutTextXY(x,y,'+ - изменение масштаба');y:=y+14;
SetColor(2);
SetTextJustify(CenterText,TopText);
SetTextStyle(1,0,2);
OutTextXY(GetMaxX div 2,380,'Press Escape');
m: ch:=readkey;
if ch<>#27 then goto m;
SetColor(0);
SetTextStyle(0,0,0);
SetFillStyle(1,15);
SetTextJustify(LeftText,TopText);
Bar(0,0,GetMaxX,GetMaxY);
Picture(1);
Notice('Ready',15,0,40,12,1,2)
End;
Begin
Getdir(0,path);
if path[length(path)]='\' then delete(path,length(path),1);
pi1:=pi/180;
N:=8;
dpsi:=0.000001*pi1;
dlm:=10;dlb:=50;
Graff('vga','','',''); {инициирование графика}
nach: Clear(0,15);
for i:=1 to 12 do {обнуление массивов}
Begin
L[i]:=0;Lbeg[i]:=0;q[i]:=0;
psi[i]:=0;psib[i]:=0;
R[i]:=0;EF[i]:=0;
krat[i]:=0
End;
for i:=1 to 11 do
Begin
x[i]:=0;y[i]:=0;
xi[i]:=0;yi[i]:=0;
Rs[i]:=0;Rsi[i]:=0
End;
x[1]:=1500;y[1]:=1500; {координаты базисных точек}
x[3]:=2000;y[3]:=800;
x[9]:=-500;y[9]:=2000;
x[10]:=-2100;y[10]:=5000;
x[11]:=-1200;y[11]:=2000;
Dk:=15; {диаметр барабана}
ka:=0.5; {для учета ц.т.}
Gc:=850*g; {масса}
Gk:=2900*g; {масса}
Lp:=16000; {длина}
Lb:=6000; {длина}
for i:=1 to 11 do Rs[i]:=250; {радиусы}
for i:=1 to 12 do krat[i]:=4;
krat[5]:=1;krat[7]:=1; {цепей}
krat[9]:=1;
for i:=1 to 12 do EF[i]:=0.3*Dk*Dk*21000*g*krat[i]; {агрег.жестк.
EF[5]:=21000*g*200;EF[7]:=21000*g*200; {цепей}
EF[9]:=21000*g*2000;
for i:=1 to 12 do q[i]:=g*Dk*Dk*0.00000384*krat[i]; {вес 1-го пог. метра}
q[5]:=5*g/1000;q[7]:=5*g/1000; {цепи}
dL1:=sqrt(sqr(x[3]-x[9])+sqr(y[3]-y[9]));
dL8:=sqrt(sqr(x[10]-x[11])+sqr(y[10]-y[11]));
SetColor(3);
SetTextStyle(1,0,3);
SetTextJustify(CenterText,TopText);
OutTextXY(GetMaxX div 2,GetMaxY div 2-33,'Write previous datas?');
OutTextXY(GetMaxX div 2,GetMaxY div 2,'(Y/N)');
SetTextJustify(LeftText,TopText);
m0: ch:=readkey;
if (ch='y') or (ch='n') or (ch='Y') or (ch='N')
or (ch='н') or (ch='т') or (ch='Н') or (ch='Т') or (ch=#27) then
Begin
if (ch='y') or (ch='Y') or (ch='н') or (ch='Н') then {да}
Begin
Assign(te,path+'\Work');Reset(te);
for i:=1 to 12 do ReadLn(te,L[i],psi[i]);
ReadLn(te,Lp,Lb);
ReadLn(te,a1,b1,a2,b2);
ReadLn(te,mx);
Close(te);
Forces(1);
Goto m3
End else
Begin
Clear(0,15);
Goto m4
End
End;
Goto m0;
{Исходные данные}
m4: L[1]:=7000; {длина тягового}
L[2]:=4280; {длина}
L[5]:=2100; {длина тяговой цепи}
L[7]:=2100; {длина}
L[9]:=13700;
L[8]:=1.2*L[9]; {ширина настила}
a1:=1250;b1:=580; {тип настила}
a2:=1000;b2:=100; {координаты центра}
psi[1]:=31*pi1; {углы наклона элементов}
psi[5]:=46*pi1; {как первое приближение}
mx:=500/(x[2]-x[10]);
priz:=0;
Forces(0); {предв.настройка и решение}
m3: q[9]:=Gc/L[9];
x0:=GetMaxX div 2-200;y0:=GetMaxY div 2+100;
my:=mx;
Picture(1); {вычерчивание схемы по предв. данным}
psi1:=psi[1];psi5:=psi[5];
priz:=0;
Root;
if priz=1 then goto nach;
(**
ra1:=-(R[8]-L[5]*q[5]*sin(psi[5]))*cos(psi[5]) {для проверки}
+(R[6]-L[7]*q[7]*sin(psi[7]))*cos(psi[7]) {выполнения условий}
+(R[5]-L[4]*q[4]*sin(psi[4]))*cos(psi[4]);
ra2:=(R[8]-L[5]*q[5]*sin(psi[5]))*sin(psi[5])+
(R[6]-L[7]*q[7]*sin(psi[7]))*sin(psi[7])+
(R[5]-L[4]*q[4]*sin(psi[4]))*sin(psi[4])-Gk;
ra3:=-(R[7]-L[1]*q[1]*sin(psi[1]))*cos(psi[1])
+(R[2]-L[6]*q[6]*sin(psi[6]))*cos(psi[6]);
ra4:=+(R[7]-L[1]*q[1]*sin(psi[1]))*sin(psi[1])
+(R[2]-L[6]*q[6]*sin(psi[6]))*sin(psi[6])
-(Gk+L[2]*q[2]+L[4]*q[4]+L[5]*q[5]+L[7]*q[7]);
**)
SetFillStyle(1,15);
Bar(0,0,GetMaxX,GetMaxY);
Picture(1); {вычерчивание схемы}
Notice('Ready',15,0,40,12,1,2);
for i:=1 to 10 do Lbeg[i]:=L[i];
for i:=1 to 10 do psib[i]:=psi[i]; {первоначальная геометрия}
m: ch:=readkey;
if ch=#0 then
Begin
ch:=readkey;
if ch=';' then Help else {какие нажимать клавиши}
if (ch='P') or (ch='H') or (ch='K') or (ch='M') then
Begin
if ch='H' then y0:=y0-5 else
if ch='P' then y0:=y0+5 else
if ch='K' then x0:=x0-5 else
if ch='M' then x0:=x0+5;
SetFillStyle(1,15);
Bar(0,40,GetMaxX,GetMaxY);
Picture(1);
End;
End else
if ch=#19 then
Begin
Assign(te,path+'\Work');Rewrite(te);
for i:=1 to 12 do WriteLn(te,Lbeg[i]:20:7,psib[i]:20:7);
WriteLn(te,Lp:20:7,Lb:20:7);
WriteLn(te,a1:20:7,b1:20:7,a2:20:7,b2:20:7);
WriteLn(te,mx:20:7);
Close(te);
End else
Begin
if ch=#27 then {Escape}
Begin
Notice('Save new datas? (y/n)',15,0,40,6,1,3);
m5: ch:=readkey;
if (ch='y') or (ch='n') or (ch='Y') or (ch='N')
or (ch='н') or (ch='т') or (ch='Н') or (ch='Т') or (ch=#27) then
Begin
if (ch='y') or (ch='Y') or (ch='н') or (ch='Н') then {да}
Begin
Assign(te,path+'\Work');Rewrite(te);
for i:=1 to 12 do WriteLn(te,Lbeg[i]:20:7,psib[i]:20:7);
WriteLn(te,Lp:20:7,Lb:20:7);
WriteLn(te,a1:20:7,b1:20:7,a2:20:7,b2:20:7);
WriteLn(te,mx:20:7);
Close(te);
Goto m1
Дата добавления: 2015-10-29; просмотров: 78 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
SetTextStyle(0,0,0); | | | Transportation. |