диссертация модальная логика
.pdf-421 -
Приложение 2
#pragma hdrstop #include"Zlmm.h" #include"NY.h" #include"UKa.h" #mclude"podsh.h" #include"Upl.h" #include"Iisp.h" #include"lispl.h" #inc)ude"red.h" #incIude"USFlimb.h"
#pragma resource "*.dfm" TNY *NY;
//Files
FILE *tmp,*fxr,*fdO,*fqO; struct graf
{
float x,y;
};
// Определение Khb float K(float U)
{
float k,l,yb,xb,xk;FILE * f; struct graf g[6];
int i; f^fopen("khb.txt","r"); if(f==NULL)return 1; k=U*0.285/1.715; i=0;
while (!feof(f))
{
fscanf(f,"%f,&l);
g[i].x=l;
fscanf(f,"%f',&l);
g[i].y=I;
i++;
}
for (i=0;i<=4;i++)
{
-422-
ripHjio^eHHe 2
if((k>=g[i].x)&&(k<=g[i+l].x))
{
yb=g[i+l].y-g[i].y; xb=g[i+l].x-g[i].x; xk=k-g[i].x;
retura(g[i] .y+(yb *xk)/xb);
}
}
return 1;
}
float K1 (float U)
{
float k,I,yb,xb,xk;FILE * f; struct graf g[6];
int i; f=fopen("kfl?.txt","r"); if(f==NULL)remrn 1; k=U*0.285/1.715; i=0;
while (!feof(f))
{
fscanf(f,"%f',&l);
g[i].x=l;
fscanf(f,"%f',&l);
g[i].y=i;
i++;
}
for (i=0;i<=4;i++)
{
if((k>=g[i].x)&&(k<=g[i+l].x))
{
yb=g[i+l].y-g[i].y; xb=g[i+l].x-g[i].x; xk=k-g[i].x; return(g[i].y+(yb*xk)/xb);
}
}
return 1;
- 423 - Приложение 2
//
float module(float Mn)
{
float t,E,M;FILE * f; f=fopen("Mn.txt","r"); if(f^=NULL)
{
Application->MessageBox("File not found","File error",MB_OK); return 1;
}
E=1000;
while (!feof(f))
{
fscanf(f,"%f',&t); if(fabs(t-Mn)<E)
{
E=fabs(t-Mn);
M=t;
}
}
return M;
}
float diameter(fIoat De)
{
float t,E,M;FILE*f; f=fopen("De.txt","r"); if(f==NULL)
{
Application->MessageBox("File not found","File error",MB_OK); return 1;
}
E=10000;
while (!feof(f))
{
fscanf(f,"%f',&t); if(fabs(t-De)<E)
{
E=fabs(t-De);
M=t;
-424 -
Приложение 2
}
}
return М;
}
__fastcall TNY::TNY(TComponent* Owner) : TForm(Owner)
{
acad_directory="E:\\ACAD\\"; lsp_directory="E:\\USERS\\SVETA\\MAmrPA~l\\BACKUP\\"; ComboBox]->Items->Add("lJ,eMeHTHpoBaHHe"); ComboBoxl->Items->Add("HHTponeMeHTHpoBaHHe"); ComboBoxl->Items->Add("06beMHaH закалка + нормализация"); ComboBoxl->Items->Add("3aKaiiKa при нагреве ТВЧ"); ComboBox2->Items->Add("LI,eMeHTHpoBaHHe"); ComboBox2->Items->Add("HHTpoueMeHTHpoBaHHe");
ComboBox2->Items->Add("Oбъeмнaя закалка + нормализация"); ComboBox2->Items->Add("Зaкaлкa при нагреве ТВЧ"); ComboBox3->Items->Add("IloKOBKa,uiTaMnoBKa"); ComboBox3->Items->Add("npoKaT"); СотЬоВохЗ->Items->Add("Литье");
)
void _fastcall TNY::ButtonlClick(TObject *Sender)
{
char s[50]; Lh=NY->ELh->Text.ToDouble(); if(Lh==0)
{
Application->MessageBox("He введен один из параметров","",ШОК); return;
}
Н1 =NY->EH 1 ->Text.ToDoubie(); if(HI==0)
{
Application->MessageBox("He введен один из параметров","",ШОК); return;
}
H2=NY->EH2->Text.ToDouble(); if(H2==0)
-425 -
Приложение 2
{
Application->MessageBox("He введен один из параметров","",IDOK); return;
}
StToch=NY->EStToch->Text.ToDouble(); if(StToch==0)
{
Application->MessageBox("He введен один из параметров","",ГООК); return;
}
U=NY->EU->Text.ToDouble(); if(U==0)
{
Application->MessageBox("He введен один из параметров","",IDOK); return;
}
n 1 =NY->En->Text.ToDouble(); if(nl==0)
{
Application->MessageBox("He введен один из параметров","",ШОК); return;
}
T1-NY->ET 1->Text.ToDouble(); if(Tl==0)
{
Application->MessageBox("He введен один из параметров","",1D0K); return;
}
//Эквивалентное число циклов перемены напряжений zl: Nhel=60*nl*l*Lh;
Nhe2=Nhel/U;
T2=U*T1;
n2=nl/U;
Nfel=Nhel;
Nfe2=Nhe2;
if((Hl>56)||(H2>56))
{
Nhliml = i20e6;
Nhlim2=120e6;
}
- 426 -
Приложение 2
else
{
Nhliml=30*pow(Hl*10,2.4); Nhlim2=30*pow(H2* 10,2.4);
};
if(Nhe 1 <=Nhlim 1 )ZN 1 =(float)pow(Nhlim I /Nhe 1,0.17); elseZNl=(float)pow(Nhliml/Nhel,0.05); if(Nhe2<=Nhlim2)ZN2=(float)pow(Nhlim2/Nhe2,0.17); elseZN2=(float)pow(Nhlim2/Nlie2,0.05);
// YN1 =YN2= 1, т.к. Nfe>Nflim if(Hl<35)S_hliml=20*Hl+70; if(H2<35)S_hlim2=20*H2+70;
if((H 1 >35)&&(H 1 <50))S_hlim l=17*Hl+200; if((H2>35)&&(H2<50))S_hlim2=17*H2+200;
if(Hl>50)S_hlim]=23*Hl; if(H2>50)S_hlim2=23*H2; S_hpl=(S_hliml/Sh)*0.9*ZNl; S_hp2=(S_hlim2/Sh)*0.9*ZN2; S_hp=0.45*(S_hp 1 +S_hp2); Yn 1 =pow((Nflim/Nfe 1),(1 /6)); switch(ComboBox 1 ->ltemlndex)
{
case -1:
{
Application->MessageBox("He выбран тип материала","",ГООК);
return;
}
case 0:
{
FSFiimb->ImageI->Picture->LoadFromFile("tl.bmp"); FSFlimb->ShowModal();
break;
}
case 1:
{
FSFlimb->Imagel->Picture->LoadFromFile("t2.bmp"); FSFlimb->ShowModal();
break;
}
case 2:
-427-
Приложение 2
{
FSFlimb->Imagel->Picture->LoadFromFile("t3.bmp"); FSFlimb->ShowModal();
break;
}
caseS:
{
FSFIimb->Imagel->Picture->LoadFromFile("t4.bmp"); FSFlimb->ShowModal();
break;
}
};
if(FSFlimb->flag== 1 )retum; if((FSFlimb->Editl->Text.Length()==0)||(FSFlimb->Edit2->Text.Length()==0)||(FSFlimb->Edit3-
>Text.Length()==0)||(FSFlimb->Edit4->Text.Length()==0))
{
Application->MessageBox("HeBepHoe значение","МЕ88АОЕ",МВ_ОК); return;
}
S_flimb=FSFlimb->Editl->Text.ToDouble(); Yd=FSFlimb->Edit4->Text.ToDoubleO; Yg=FSFlimb->Edit3->Text.ToDouble(); Sf=FSFlimb->Edit2->Text.ToDouble(); if(ComboBox3->ltemlndex==-1)
{
Application->MessageBox("He выбран тип заготовки","МЕ88АОЕ",МВ_ОК); return;
}
S_фl=0.4*S_flimb*Ynl; //Внешний делительный диаметр
if((Hl<=35)&&(H2<=35)) Vh= 1.22+(0.21 *U); if((Hl >=45)&&(H2<=35)) Vh= 1.13+(0.13 *U); if((Hl>=45)&&(H2>=45)) Vh=0.81+(0.15*U); if(U<=6)K_hb=K(U);
elseK_hb=1.3;
ka: Del=1945*pow(TI*K_hb/(Vh*U*8_hp*S_hpX0.333333333333); De 1 =diameter(De 1);
temp=22-9*logl0(U)+(16/U-22)*sin(betta_n)*sin(betta_n)+(6.25-4*logl0(U))*(Del*Del/645); Z1 min=sqrt(fabs(temp));
sprintf(s,"%4.3f',Zlmm);
-428-
Приложение 2
FormZl->Label3->Caption=s; FormZl ->ShowModal(); if(FormZ 1 ->flag== 1 )goto z 1;
sscanf(FomiZl->zl->Text.c_str(),"%f',&Zl); if(Zl<Zlmin)
{
Application->MessageBox("Zl<Zmin","",IDOK); return;
}
Z2=U*Z1;
Z2=floorl(Z2); Zvl=Zl*sqrt(U*U+l)/(U*pow(cos(betta_n),3)); Zv2=Z2*sqrt(U*U+l)/(U*pow(cos(betta_n),3)); x=0; Yfsl=3.47+13.2/Zvl-29.7*x/Zvl+0.092*x*x*x; if((Hl<=35)&&(H2<=35)) Vf=0.94+(0.08*U); if((Hl>=45)&&(H2<=35)) Vf=0.85+(0.04*U); if((Hl>=45)&&(H2>=45)) Vf=0.65+(0.11 *U); K_fb=Kl(U);
//Модуль передачи
Me=20*pow(Tl*K_fb*Yfsl/(Kbe*Vf*Zl*Zl*sqrt(U*U+l)*S_fpl),0.3333333);
Mte=Del/Zl;
Mn=Mte*(l-0.5*Kbe)*cos(betta_n);
Mn=module(Mn);
Me=Mn/(l-0.5*Kbe);
Me=module(Me);
Mte=Mn/(( 1 -0.5 *Kbe)*cos(betta_n));
//Геометрические и кинематические параметры передачи
Zc=sqrt(Zl*Zl+Z2*Z2); R=Mn*Zc/(2*cos(betta_n)); Re=Mte*Zc/2; Mte=2*Re/Zc;
b=Kbe*Re;
Dell=atan(Zl/Z2);
Del2=PI/2-Dell;
X1 =2*( 1 - l/(U*U))*sqrt(pow(cos(betta_n),3)/Z 1);
-430- Приложение 2
if((Mn>=dmn_min)&&(Mn<=dmn_max)&&(b>=db_min)&&(b<=db_max)&&(R>=dr_min)&&(R<=
{
DO=ddO;
break;
}
}
if(feof(fdO))
{
Application->MessageBox("HoMHHa;ibHbm диаметр зуборезной головки не oпpeдeлeн","ERROR^MB_OK);
return;
}
fclose(fdO); k=(10800*tan(betta_n)/(Zc*tan(alfa_n)))*(l-(2*R*sm(betta_n)/D0)); teta_fl=atan(Hfl/R);
teta_f2=atan(Hf2/R);
if(((U>= 1.6)&&(U<=2J)&&(Z 1 >= 12)&&(Z 1 <= 19))||((U>2.5)&&(U <=4)&&(Z 1 >= 1 ^ 1 >=16)&&(Z 1 <=24))||(Z 1 ==8)||(Z 1 ==9))))
{
Kal=0.9;
Ka2=l;
}
else if((U>=1.6)&&(U<=2.5)&&(Zl>=20)&&(Zl<=24))
{
Kal=l;
Ka2=l;
}
else if((((U>=2.5)&&(U<=4))||(U>=4))&&((Zl==10)||(Z2==l 1)))
{
Kal=0.8;
Ka2=l;
}
else if((((U>=2.5)&&(U<=4))&&((Z 1 == 12)||(Z1 == 13)))||((U>=4)&&((Z 1 >= 12)&&(Z 1 <= 15))))
{
Kal=0.85;
Ka2=l;
}