Список рекомендованной литературы
1 Фаронов В.В. Турбо Паскаль 7.0: Начальный курс: Учебное пособие. - М.: Нолидж, 1997. - 616 с.
2 Структурный анализ плоских механизмов: Методическое пособие к изучению дисциплин "Теория механизмов и машин", "Прикладная механика", "Расчет и моделирование механических систем" / Сост. Э.А.Владимиров. - Краматорск: ДГМА, 2000. - 43 с.
3 Юхименко Г.О. Автокад 14 - вибiр професiоналiв: Пiдручник/ Г.О. Юхименко, О.М. Шаблiй. - Тернопiль: Лiлея, 1999. - 418 с.
4 Артоболевский И.И. Теория механизмов и машин. – М.: Наука, 1975. - 640 с.
Приложение А
Исходный файл расчета механизма (начальное звено - кривошип)
Program Mechan1;
Uses Crt, Graph, MPF;
Const m=48; {Количество положений }
{механизма для расчета }
Var Xo, Yo, Loa, dFi, dFir : Real; {Описание переменных }
q, jk, Mas, lc, FIoa0g : Real;
i, ori, k, Driver, Mode : Integer;
StrVar : String;
FIoag,
Xa, Ya, Xa_1, Ya_1, Xa_2, Ya_2 : Massiv;
Begin {Начало основной программы }
Driver:= Detect; {Инициализация графики }
Initgraph (Driver, Mode, '');
SetBKColor(7);
{Определение передаточных функций}
For i:= 1 to m+1 Do Begin
Cleardevice ; { Очистка экрана }
|
|
Xo:=0; {Координаты оси }
Yo:=0; {вращения кривошипа }
Loa:=200; {Длина кривошипа }
FIoa0g :=30.0; {Начальный угол }
{ вращения кривошипа }
dFi :=360/m; {Приращение ОК в град. }
dFir :=2*pi/m; {Приращение ОК в рад. }
jk :=1; {Направление вращения }
{кривошипа (-1/1) }
FIoag[i] :=FIoa0g+dFi*(i-1)*jk; {Расчет текущего }
{значения ОК }
Str(Fioag[i]:8:4, strVar); {Вывод на экран текущего }
Outtextxy(20, 40, StrVar); {значения ОК }
|
|
Str (I :2, StrVar); {Вывод на экран номера }
OutTextXY (20, 20, StrVar); { положения }
q :=1; {Определяет, выводить }
{механизм на экран или нет }
Mas :=2; {Масштаб отрисовки }
SetColor(15);
{Первичный механизм }
Kriv (Xo, Yo, Loa, FIoag[i], q, jk, Mas, {Подключение кривошипа }
Xa[i], Ya[i], Xa_1[i], Ya_1[i], Xa_2[i], Ya_2[i]);
lc :=75;
ori :=1;
Opora (Xo, Yo, lc, Mas, q, ori); { Опора кривошипа }
{Расчет 1-й присоединенной группы}
{Расчет 2-й присоединенной группы}
ReadKey;
End; { For }
ClearDevice; { Очистка экрана }
CloseGraph; {Переход в текстовый режим }
TestPF (m, Xa, Xa_1, Xa_2, ’Xa’); {Тестирование ПФ1 и ПФ2
по оси Х т.А }
Grafik(m+1, Fioag, Xa, Xa_1, Xa_2, ’Xa’, ’Xa_1’, ’Xa_2’);
{ Графики ПФ1, ПФ2 }
|
|
TestPF (m, Ya, Ya_1, Ya_2, ’Ya’);
Grafik(m+1, Fioag, Ya, Ya_1, Ya_2, ’Ya’, ’Ya_1’, ’Ya_2’);
End. { Program } { Конец программы }
{Описание используемых процедур}
Procedure Kriv (Xo, Yo, Loa, FIoag, q, I, j, Mas : Real;
Var Xa, Ya, Xa_1, Ya_1, Xa_2, Ya_2 : Real);
Procedure Zveno (X, Y, FIg, l, q, Mas : Real);
Procedure Opora (Var X, Y, l, Mas, q : Real; ori : Integer);
Procedure Point(Xa, Ya, Xa_1, Ya_1, Xa_2, Ya_2,
FIabg, FIab_1, FIab_2,
Las, alfasg, q, Mas : Real; r : Integer;
Var Xs, Ys, Xs_1, Ys_1, Xs_2, Ys_2 : Real);
Procedure Grafik (FIoag, y1, y2, y3 : Massiv;k1, k2, k3 : String);
Procedure Tabl (Var FIoag, dim1, dim2, dim3 : Massiv; s1, s2, s3 : String);
Procedure Track (Var k : Integer; q, Mas : Real;Xs, Ys : Massiv);
Procedure Assur1 (Xa, Ya, Xa_1, Ya_1, Xa_2, Ya_2,
Xc, Yc, Xc_1, Yc_1, Xc_2, Yc_2,
Lab, Lcb, j, q, Mas : Real;
Var FIabg, FIcbg, FIab_1, FIcb_1, FIab_2, FIcb_2 : Real);
Procedure Assur2 (Xa, Ya, Xa_1, Ya_1, Xa_2, Ya_2,
Xn, Yn, Xn_1, Yn_1, Xn_2, Yn_2,
FIng, FIn_1, FIn_2,
l, Lab, h, lcc, j, q, Mas : Real;
Var FIabg, FIab_1, FIab_2 : Real);
Procedure Assur3 (Xa, Ya, Xa_1, Ya_1, Xa_2, Ya_2,
Xb, Yb, Xb_1, Yb_1, Xb_2, Yb_2,
h1, h2, Mas, lcc, q : Real;
|
|
Var FIkg, FIk_1, FIk_2 : Real);
Procedure Assur4 (Xn, Yn, Xn_1, Yn_1, Xn_2, Yn_2,
FIng, FIn_1, FIn_2, hn,
Xm, Ym, Xm_1, Ym_1, Xm_2, Ym_2,
FImg, FIm_1, FIm_2, hm, Mas, lcc, q : Real;
Var Xk, Yk, Xk_1, Yk_1, Xk_2, Yk_2 : Real);
Procedure Assur5 (Xa, Ya, Xa_1, Ya_1, Xa_2, Ya_2,
h, Xn, Yn, Xn_1, Yn_1, Xn_2, Yn_2,
FIng, FIn_1, FIn_2,
alfag, Mas, lcc, q : Real;
Var Xk, Yk, Xk_1, Yk_1, Xk_2, Yk_2 : Real);
Procedure TestPF (yf, yf1, yf2 : Massiv; stryf : String);
Приложение Б
Исходный файл расчета механизма (начальное звено - ползун)
Program Mechan2;
Uses Crt, Graph, MPF;
Const m=48; {Количество положений }
Var Xa0, Ya0, Fing, X10, dX1, lcc : Real; {Описание переменных }
q, Mas : Real;
i, jp : Integer;
Driver : Integer;
StrVar : String;
X1, Xa, Ya, Xa_1, Ya_1, Xa_2, Ya_2 : Massiv;
Begin {Начало основной программы }
Driver:=Detect;
InitGraph (Driver, Mode,''); { Инициализация графики }
SetBKcolor(7);
{Определение передаточных функций}
For i:=1 to m+1 Do Begin
ClearDevice ; { Очистка экрана }
Xa0:=-120; {Начальное положение }
Ya0:=-70; {ползуна }
FIng:=60.0; {Угол направляющей }
{ползуна }
X1[1]:=0;
q :=1; {Определяет, выводить }
{механизм на экран или нет }
Mas :=2; {Масштаб отрисовки }
lcc:=120; {Диагональ ползуна }
If i<(m/2+1) Then jp:=1 Else jp:=-1;
dX1:=10; {Приращение ОК в мм }
{Первичный механизм }
Polsun (Xa0, Ya0, Fing, X1[i], lcc, q, Mas, jp,
Xa[i], Ya[i], Xa_1[i], Ya_1[i], Xa_2[i], Ya_2[i]);
Str (X1[i]:8:4, StrVar); {Вывод на экран текущего }
OutTextXY (20, 40, StrVar); {значения ОК }
Str(i:2, StrVar); {Вывод на экран номера }
OutTextXY(20, 20, StrVar); {положения }
SetColor (15);
{Расчет 1-ой присоединенной группы}
{Расчет 2-ой присоединенной группы}
ReadKey;
X1[i+1]:=X1[i]+jp*dX1; { Расчет текущего }
{ значения ОК }
End; { For }
ClearDevice; { Очистка экрана }
CloseGraph; {Переход в текстовый
режим }
TestUniv (m, dX1, Xa, Xa_1, Xa_2, ’Xa’); {Тест ПФ1 и ПФ2 }
Grafik(m+1,X1,Xa,Xa_1,Xa_2,’Xa’,’Xa_1’,’Xa_2’); {Графики ПФ1 и ПФ2 }
TestUniv(m,dX1,Ya,Ya_1,Ya_2,’Ya’); {Тест ПФ1 и ПФ2 }
Grafik(m+1,X1,Ya,Ya_1,Ya_2,’Ya’,’Ya_1’,’Ya_2’);
End. {Program} { Конец программы }
Приложение В
Дата добавления: 2018-10-26; просмотров: 214; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!