Компьютерное моделирование задач кинетостатики плоских рычажных механизмов

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Фрагмент текста работы

OutTextXY(20,460,'Выход из программы - Esc');     j := i + 330; if j >= 360 then j := j - 360;     fi1 := j*pi/180;

bx := l1*cos(fi1); by := l1*sin(fi1);     {vbx := - l1*sin(fi1); vby := l1*cos(fi1);     abx := - l1*cos(fi1); aby := - l1*sin(fi1);}     vbx := - by; vby := bx; abx := - bx; aby := - by;

Diada3v(bx,by,vbx,vby,abx,aby,cx,cy,0,0,0,0,l2,fi3,om3,epsi3,lcb,v3,a3);

dx := cx + lcd*cos(fi3); dy := cy + lcd*sin(fi3);     vdx := - lcd*sin(fi3)*om3; vdy := lcd*cos(fi3)*om3;     adx := -lcd*(cos(fi3)*sqr(om3) + sin(fi3)*epsi3);     ady := lcd*(- sin(fi3)*sqr(om3) + cos(fi3)*epsi3);     Diada2v(dx,dy,vdx,vdy,adx,ady,cx,cy,0,0,0,0,fi5,0,0,l4,l5,     fi4,om4,epsi4,ecx,v5,a5);     {circle(cmx,cmy,3);}     CoordXY(cmx,cmy);

Opora(cmx,cmy); OutTextXY(cmx - 10,cmy - 15,'A');     x1 := cmx + round(kl*bx); y1 := cmy - round(kl*by);     x3 := x1; y3 := y1;

moveto(cmx,cmy); lineto(x1,y1); circle(x1,y1,3);     OutTextXY(x1 - 10,y1 - 15,'B');

x1 := cmx + round(kl*cx); y1 := cmy - round(kl*cy);

Opora(x1,y1);

OutTextXY(x1 - 10,y1 - 15,'C');     moveto(x1,y1);

x2 := x1 + round(kl*l3*cos(fi3));     y2 := y1 - round(kl*l3*sin(fi3));     lineto(x2,y2);

x2 := x1 + round(kl*lcb*cos(fi3));     y2 := y1 - round(kl*lcb*sin(fi3));

PostPara(x2,y2,fi3); line(cmx,cmy,x3,y3); circle(x3,y3,3);     x1 := x1 + round(kl*lcd*cos(fi3));     y1 := y1 - round(kl*lcd*sin(fi3));     OutTextXY(x1 - 10,y1 - 15,'D');     circle(x1,y1,3); moveto(x1,y1);     x2 := x1 + round(kl*l4*cos(fi4));     y2 := y1 - round(kl*l4*sin(fi4));     PostPara(x2,y2,fi5); Circle(x2,y2,3);     line(x1,y1,x2,y2); circle(x2,y2,3);     OutTextXY(x2 + 10,y2 - 15,'E');     line(cmx + 50,y2,cmx + 150,y2);     if ((i >= 12) and (i < 228)) then

begin

SetColor(red);       Fc := 1000;       alfafc := 0.0;       x1 := x2 + round(kf*Fc);       Line(x2,y2,x1,y2);

OutTextXY(x1 - 10,y2 - 15,'Fc');

Moveto(x1,y2); Lineto(x1 - 10,y2 + 5);

Moveto(x1,y2); Lineto(x1 - 10,y2 - 5);

SetColor(white);     end       else     Fc := 0;

x1 := cmx + round(kl*cx); y1 := cmy - round(kl*cy);     x2 := x1 + round(kl*lcs3*cos(fi3));     y2 := y1 - round(kl*lcs3*sin(fi3));     OutTextXY(x2 - 15,y2 - 15,'S3');     setcolor(red); line(x2,y2,x2,y2 + round(kf*G3));     x1 := x2; y1 := y2 + round(kf*G3);     OutTextXY(x1,y1 + 15,'G3');     moveto(x1,y1); lineto(x1 - 3,y1 - 5);     moveto(x1,y1); lineto(x1 + 3,y1 - 5);     x1 := cmx + round(kl*cx); y1 := cmy - round(kl*cy);     x2 := x1 + round(kl*lcd*cos(fi3));     y2 := y1 - round(kl*lcd*sin(fi3));     x1 := x2 + round(kl*lds4*cos(fi4));     y1 := y2 - round(kl*lds4*sin(fi4));     SetColor(white);

OutTextXY(x1 - 5,y1 - 15,'S4');

SetColor(red);

moveto(x1,y1); lineto(x1,y1 + round(kf*G4));     x2 := x1; y2 := y1 + round(kf*G4);     OutTextXY(x2,y2 + 15,'G4');     moveto(x2,y2); lineto(x2 + 3,y2 - 5);     moveto(x2,y2); lineto(x2 - 3,y2 - 5);     x1 := cmx + round(kl*cx); y1 := cmy - round(kl*cy);     x2 := x1 + round(kl*lcd*cos(fi3));     y2 := y1 - round(kl*lcd*sin(fi3));     x2 := x2 + round(kl*l4*cos(fi4));     y2 := y2 - round(kl*l4*sin(fi4));     moveto(x2,y2); lineto(x2,y2 + round(kf*G5));     x1 := x2; y1 := y2 + round(kf*G5);     OutTextXY(x1,y1 + 15,'G5');     moveto(x1,y1); lineto(x1 + 3,y1 - 5);     moveto(x1,y1); lineto(x1 - 3,y1 - 5);     setcolor(white);

{ Определение сил инерции }

{ Сила инерции Fin3 }

as3x := - lcs3*(cos(fi3)*sqr(om3) + sin(fi3)*epsi3);     as3y := lcs3*(- sin(fi3)*sqr(om3) + cos(fi3)*epsi3);     alfafin3 := Atan2(as3x,as3y) +  pi;

if alfafin3 >= 2*pi then alfafin3 := alfafin3 - 2*pi;     Fin3 := sqr(om1)*m3*sqrt(sqr(as3x) + sqr(as3y));     x1 := cmx + round(kl*(cx + lcs3*cos(fi3)));     y1 := cmy - round(kl*(cy + lcs3*sin(fi3)));     moveto(x1,y1);

x2 := x1 + round(kf*Fin3*cos(alfafin3));     y2 := y1 - round(kf*Fin3*sin(alfafin3));

SetColor(blue);     lineto(x2,y2);     x3 := x2; y3 := y2;     { Рисование стрелки }

Row(alfafin3);

{}

Vs3x := - lcs3*om3*sin(fi3); Vs3y := lcs3*om3*cos(fi3);

Vs3 := sqrt(sqr(Vs3x) + sqr(Vs3y));     alfavs3 := Atan2(Vs3x,Vs3y);

if alfavs3 > 2*pi then alfavs3 := alfavs3 - 2*pi;

{}

{ Сила инерции Fin4 }

as4x := adx - lds4*(cos(fi4)*sqr(om4) + sin(fi4)*epsi4);     as4y := ady - lds4*(sin(fi4)*sqr(om4) - cos(fi4)*epsi4);     Fin4 := sqr(om1)*m4*sqrt(sqr(as4x) + sqr(as4y));     alfafin4 := Atan2(as4x,as4y) + pi;

if alfafin4 >= 2*pi then alfafin4 := alfafin4 - 2*pi;     x1 := cmx + round(kl*(cx + lcd*cos(fi3) + lds4*cos(fi4)));     y1 := cmy - round(kl*(cy + lcd*sin(fi3) + lds4*sin(fi4)));     moveto(x1,y1);

x2 := x1 + round(kf*Fin4*cos(alfafin4));     y2 := y1 - round(kf*Fin4*sin(alfafin4));     lineto(x2,y2);     x3 := x2; y3 := y2;     { Рисование стрелки }

Row(alfafin4);

{}

Vs4x := Vdx - lds4*om4*sin(fi4); Vs4y := Vdy + lds4*om4*cos(fi4);

Vs4 := sqrt(sqr(Vs4x) + sqr(Vs4y));     alfavs4 := Atan2(Vs4x,Vs4y);

if alfavs4 > 2*pi then alfavs4 := alfavs4 - 2*pi;

{ Сила инерции Fin5 }     Fin5 := abs(sqr(om1)*m5*a5);     alfafin5 := Atan2(a5,0) + pi;

if alfafin5 >= 2*pi then alfafin5 := alfafin5 - 2*pi;     x1 := cmx + round(kl*(cx + ecx)); y1 := cmy - round(kl*cy);     x2 := x1 + round(kf*Fin5*cos(alfafin5));     y2 := y1 - round(kf*Fin5*sin(alfafin5));     x3 := x2; y3 := y2;

moveto(x1,y1); lineto(x2,y2);     { Рисование стрелки }

Row(alfafin5);

{ Определение моментов от сил инерции }

Momin3 := - sqr(om1)*Is3*epsi3;

Momin4 := - sqr(om1)*Is4*epsi4;

{Procedure Diada2f(l2,fi2,s2x,s2y,p2x,p2y,G2,Fin2,alfafin2,F2,alfaf2,M2,Min2,     l3,fi3,s3x,s3y,p3x,p3y,G3,Fin3,alfafin3,F3,alfaf3,M3,Min3: real; var F21,     alfaf21,F23,alfaf23,F34,hx: real);}

Diada2f(l4,fi4,lds4,0,0,0,G4,Fin4,alfafin4,0,0,0,Momin4,     0,0,0,0,0,0,G5,Fin5,alfafin5,Fc,0,0,0,F43,alfaf43,F45,alfaf45,F50,     alfaf50,hx5);

F34 := F43; alfaf34 := alfaf43 + pi;

if F34 < 0 then begin F34 := abs(F34); alfaf34 := alfaf34 + pi end;     if alfaf34 >= 2*pi then alfaf34 := alfaf34 - 2*pi;

{Procedure Diada3f(l2,s2x,s2y,p2x,p2y,G2,Fin2,alfafin2,F2,alfaf2,M2,Min2,     l3,fi3,s3x,s3y,p3x,p3y,G3,Fin3,alfafin3,F3,alfaf3,M3,Min3: real; var F34,     alfaf34,F32,hx,F21,alfaf21: real);}

Diada3f(0,0,0,0,0,0,0,0,0,0,0,0,lcb,fi3,lcs3,0,lcd,0,G3,Fin3,alfafin3,F34,     alfaf34,0,Momin3,F30,alfaf30,F32,alfaf32,hx3,F21,alfaf21);     F23 := F32; alfaf23 := alfaf32 + pi;

if alfaf23 >= 2*pi then alfaf23 := alfaf23 - 2*pi;     F12 := F21; alfaf12 := alfaf21 + pi;

if F12 < 0 then begin F12 := abs(F12); alfaf12 := alfaf12 + pi end;     if alfaf12 >= 2*pi then alfaf12 := alfaf12 - 2*pi;     if alfaf30 >= 2*pi then alfaf30 := alfaf30 - 2*pi;

{Procedure InitLink(l1,fi1,F12,alfaf12: real; var Fur,F10,alfaf10: real);}     InitLink(l1,fi1,F12,alfaf12,Fur,alfafur,F10,alfaf10);

SetColor(green);

x1 := cmx; y1 := cmy; x2 := x1 + round(kf*F10*cos(alfaf10));     y2 := y1 - round(kf*F10*sin(alfaf10));

x3 := x2; y3 := y2;

moveto(x1,y1); lineto(x3,y3); Row(alfaf10);     x1 := cmx + round(kl*cx); y1 := cmy - round(kl*cy);     x2 := x1 + round(kf*F30*cos(alfaf30)); x3 := x2;     y2 := y1 - round(kf*F30*sin(alfaf30)); y3 := y2;     moveto(x1,y1); Lineto(x3,y3); Row(alfaf30);     if alfaf50 >= 2*pi then alfaf50 := alfaf50 - 2*pi;     x1 := cmx + round(kl*(ecx + hx5)); y1 := cmy - round(kl*cy);     x2 := x1 + round(kf*F50*cos(alfaf50)); x3 := x2;     y2 := y1 - round(kf*F50*sin(alfaf50)); y3 := y2;     moveto(x1,y1); Lineto(x3,y3); Row(alfaf50);     x1 := cmx + round(kl*ecx); y1 := cmy - round(kl*cy);     x2 := x1 + round(kf*F45*cos(alfaf45)); x3 := x2;     y2 := y1 - round(kf*F45*sin(alfaf45)); y3 := y2;     moveto(x1,y1); lineto(x3,y3); Row(alfaf45);     x1 := cmx + round(kl*lcd*cos(fi3));     y1 := cmy - round(kl*(cy + lcd*sin(fi3)));     x2 := x1 + round(kf*F43*cos(alfaf43)); x3 := x2;     y2 := y1 - round(kf*F43*sin(alfaf43)); y3 := y2;     moveto(x1,y1); lineto(x3,y3); Row(alfaf43);     x1 := cmx + round(kl*lcd*cos(fi3));     y1 := cmy - round(kl*(cy + lcd*sin(fi3)));     x2 := x1 + round(kf*F34*cos(alfaf34)); x3 := x2;     y2 := y1 - round(kf*F34*sin(alfaf34)); y3 := y2;     Setcolor(9);

moveto(x1,y1); lineto(x3,y3); Row(alfaf34);     Setcolor(green);

x1 := cmx + round(kl*(lcb + hx3)*cos(fi3));     y1 := cmy - round

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.