ELSE IF ktnr$ = "7" THEN dop=d7 }i
ELSE IF ktnr$ = "8" THEN dop=d8 }i
ELSE IF ktnr$ = "9т" THEN dop=d9t }i
ELSE IF ktnr$ = "9" THEN dop=d9 }i
ELSE IF ktnr$ = "10" THEN dop=d10 }i
ELSE IF ktnr$ = "11т" THEN dop=d11t }i
ELSE IF ktnr$ = "11" THEN dop=d11 }i
ELSE IF ktnr$ = "12" THEN dop=d12 }i
ELSE IF ktnr$ = "13т" THEN dop=d13t }i
ELSE IF ktnr$ = "13" THEN dop=d13 }i
ELSE IF ktnr$ = "14" THEN dop=d14 }i
ELSE IF ktnr$ = "15" THEN dop=d15 }i
ELSE IF ktnr$ = "16" THEN dop=d16 }i
}e }e }e }e }e }e }e }e }e }e }e }e }e }e
DE 25 28 1 0 15
"Допуск размерной точности:"
"для размера"
nomr
"будет"
dop }
}s
rr1: }c
n%=0
GBD p% "t2" n% "nrr>=" nomr }
FR "M" dr5 dr6 dr7 dr8 dr9 dr10 dr11 }
IF sko = 5 THEN dop=dr5 }i
ELSE IF sko = 6 THEN dop=dr6 }i
ELSE IF sko = 7 THEN dop=dr7 }i
ELSE IF sko = 8 THEN dop=dr8 }i
ELSE IF sko = 9 THEN dop=dr9 }i
ELSE IF sko = 10 THEN dop=dr10 }i
ELSE IF sko = 11 THEN dop=dr11 }i
}e }e }e }e }e }e
DE 22 20 1 0 15
"Допуск формы и расположения:"
"для размера"
nomr
"будет"
dop
"" }
}s
kkrtt: }c
IF ktnr$ = "6" THEN FR "M" prips"d6$" } }i
ELSE IF ktnr$ = "7t" THEN FR "M" prips"d7t$" } }i
ELSE IF ktnr$ = "7" THEN FR "M" prips"d7$" } }i
ELSE IF ktnr$ = "8" THEN FR "M" prips"d8$" } }i
ELSE IF ktnr$ = "9t" THEN FR "M" prips"d9t$" } }i
ELSE IF ktnr$ = "9" THEN FR "M" prips"d9$" } }i
ELSE IF ktnr$ = "10" THEN FR "M" prips"d10$" } }i
ELSE IF ktnr$ = "11t" THEN FR "M" prips"d11t$" } }i
ELSE IF ktnr$ = "11" THEN FR "M" prips"d11$" } }i
ELSE IF ktnr$ = "12" THEN FR "M" prips"d12$" } }i
ELSE IF ktnr$ = "13t" THEN FR "M" prips"d13t$" } }i
ELSE IF ktnr$ = "13" THEN FR "M" prips"d13$" } }i
ELSE IF ktnr$ = "14" THEN FR "M" prips"d14$" } }i
ELSE IF ktnr$ = "15" THEN FR "M" prips"d15$" } }i
ELSE IF ktnr$ = "16" THEN FR "M" prips"d16$" } }i
}e }e }e }e
}e }e }e }e
}e }e }e }e
}e }e }e
}s
Подпрограмма выбора серийности производства:
CALL pri }c
PR "~c14a3" }
MV 13 25 "Серийность производства" i%=1
"Массовое " m1
"Крупносерийное " m1
"Серийное " m2
"Мелкосерийное " m2
"Единичное " } GO m2
m1:
DE 28 22 11 15 0 "Выбираем металлическую модель" }
GO m3
m2:
DE 28 24 11 15 0 "Выбираем деревянную модель" }
m3:
EX k% "GR.EXE" "SLD_1_3.KX" 2 1 17 50 "a" }
EX k% "GR.EXE" "VID3.GR" 2 51 17 78 }
FILE "*.*" g$
}p
Подпрограмма вывода авторских записей:
pri: }c
PR "~ic14x40Y35l35p40w" "(C) Дубовой В.В. & Каспревич П.В." }
PR "~c15x1Y33" }
}s
DE 1 1 2 0 14
"text" }
}p
Программа рисования графика для вставки
в Auto CAD 12 (язык программирования Auto LISP):
(defun graf( / x y sp tmp temp1 temp3 f1 tmp1 step)
;открываю файл с данными
(setq f1 (open "$$u$$.dan" "r"))
(setq tmp 0);сбил nil со счетчика
(setq sp nil)
(setq temp1 (atoi (read-line f1))); извлекаю начальную температуру
(setq temp3 (atoi (read-line f1))); извлекаю конечную температуру
(setq sp (list (list (atoi (read-line f1)) (atof (read-line f1))))); начинаю список данных
(while tmp
(setq tmp1 (read-line f1))
(setq tmp (read-line f1))
(if tmp1 (setq sp (cons (list (atoi tmp) (atof tmp1)) sp)))
); end while
(close f1)
(setq sp (reverse sp))
;(COMMAND "PLINE" '(temp3 0) '(temp1 0) )
(COMMAND "PLINE" (nth 1 sp))
(setq step 2)
(repeat (- (length sp) 1)
(COMMAND (nth step sp))
(setq step (1+ step))
); end repeat
)
(defun c:kurs ( / )
(graf)
)
Программы для расчета скорости затвердевания и относительной скорости затвердевания (язык программирования Turbo Pascal 7.0):
Начальные данные для расчета:
Удельная теплоемкость отливки
C1:=838; Дж/кг°К
Плотность расплава
r1:=7000; кг/м3
Приведенный размер отливки
Ro:=0.004; м
Температура заливки
Tзал:=1643; °K
Темперетура ликвидуса
Tликв:=1473; °K
Масса отливки
Co:=40; кг
Коэффициент тепловой аккумуляции формы
Bф:=1377;
Температура формы
Tф:=293; °K
Удельная теплота кристаллизации отливки
Le:=215Е3; Дж/кг
Плотность отливки
r3:=7500; кг/м3
Температура эвтектики
Tэвт:=1470; °K
{1 программа}
uses crt;
const A=3.7;
m=0.38;
type point = record
X,Y:integer;
end;
var
Co:real;
VremZal,TempZal,Tn,Tf,Bf,Tlikv,Ro1,Ro,C1:real;
T1,T3:real;
Le,Ro3,Tevt,U:real;
t:Longint;
fil:text;
spis:array[1..4] of point;
{Функция возведения в дробную степень:
вход основание степени,сама степень}
function pow(osnovanie,stepen:real):real;
begin
pow:=exp(stepen*ln(osnovanie));
end;
procedure out(per:real);
begin
Writeln(' ',per);
end;
begin
{********************************************************}
writeln;
writeln;
{Время заполнения формы металлом}
VremZal:=A*pow(Co,M);
Tn:=(TempZal+TLikv)/2;
T1:=sqr((C1*Ro1*Ro*(Tn-Tlikv)/(1.128*Bf*(Tn-Tf)))+sqrt(VremZal));
T3:=sqr(Le*Ro3*Ro/(1.13*Bf*(Tevt-Tf))+sqrt(T1));
out(t1);
out(t3);
{Линейная скорость затвердевания эквивалентной плоскости отливки}
assign(fil,'$$u$$.dan');
rewrite(fil);
t:=round(t1);
writeln(fil,round(t1));
writeln(fil,round(t3));
while t<=round(t3) do begin
U:=Bf*Tevt/(Le*Ro3*Sqrt(pi*t));
writeln(fil,U*500000:2:2);
writeln(fil,t);
writeln(u:2:8,' текущее ',t,' всего до ',round(t3));
inc(t);
end;
close(fil);
assign(fil,'params.dat');
rewrite(fil);
{spis[1].X:=round(t3+20);
spis[1].Y:=round(Bf*Tevt/(Le*Ro3*Sqrt(pi*t3)))*500000-20;
spis[2].X:=round(t1-20);
spis[2].Y:=spis[1].Y;
spis[3].X:=spis[2].X;
spis[3].Y:=round(Bf*Tevt/(Le*Ro3*Sqrt(pi*t1)))*500000+20;
spis[4].X:=spis[1].X;
spis[4].Y:=spis[3].Y;
writeln(fil,spis[1].X);
writeln(fil,spis[1].Y);
writeln(fil,spis[2].X);
writeln(fil,spis[2].Y);
writeln(fil,spis[3].X);
writeln(fil,spis[3].Y);
writeln(fil,spis[4].X);
writeln(fil,spis[4].Y);}
writeln(fil,'Температура конечная ',round(t3));
writeln(fil,'Температура начальная ',round(t1));
writeln(fil,'U верхнее ', Bf*Tevt/(Le*Ro3*Sqrt(pi*t1)));
writeln(fil,'U нижнее ', Bf*Tevt/(Le*Ro3*Sqrt(pi*t3)));
close(fil);
end.
{2 программа}
uses crt;
const A=3.7;
m=0.38;
k=0;
var
Co:real;
VremZal,TempZal,Tn,Tf,Bf,Tlikv,Ro1,Ro,C1:real;
T1,T3,x:real;
Le,Ro3,Tevt,Ue:real;
t:Longint;
fil:text;
{Функция возведения в дробную степень:
вход основание степени,сама степень}
function pow(osnovanie,stepen:real):real;
begin
pow:=exp(stepen*ln(osnovanie));
end;
procedure out(per:real);
begin
Writeln(' ',per);
end;
begin
{Начальные данные}
{Удельная теплоемкость отливки Дж/Кг*К}
C1:=838;
{Плотность расплава Кг/м3}
Ro1:=7000;
{Приведенный размер отливки}
Ro:=0.004;
{Температура заливки}
TempZal:=1643; {K.}
{Темперетура ликвидуса}
Tlikv:=1473; {K.}
{Co Масса отливки }
Co:=40; {кг.}
{Коэффициент тепловой аккумуляции формы}
Bf:=1377;
{Температура формы }
Tf:=293; {K.}
{Удельная теплота кристаллизации отливки}
Le:=215e3; {Дж/Кг}
{Плотность отливки}
Ro3:=7500;
{Температура эвтектики}
TEvt:=1470; {K.}
{******************************************************}
writeln;
writeln;
{Время заполнения формы металлом}
VremZal:=A*pow(Co,M);
Tn:=(TempZal+TLikv)/2;
T1:=sqr((C1*Ro1*Ro*(Tn-Tlikv)/(1.128*Bf*(Tn-Tf)))+sqrt(VremZal));
T3:=sqr(Le*Ro3*Ro/(1.13*Bf*(Tevt-Tf))+sqrt(T1));
assign(fil,'$$u$$2.dan');
rewrite(fil);
writeln(round(t1));
writeln(round(t3));
x:=0;
while x<=Ro do begin
{Линейная скорость затвердевания эквивалентной плоскости отливки}
Ue:=2*(k+1)*sqr(Bf*Tevt)/(Ro*sqr(sqrt(pi)*Le*Ro3))*
(1/(1+{-pow(}x/Ro{,k+1)}+(1.13*(k+1)*Bf*Tevt/(Le*Ro3*Ro))*sqrt(T1)));
{Ue:=2*(k+1)*sqr(Bf*Tevt)/(Ro*sqr(sqrt(pi)*Le*Ro3))*
(1/(1+pow(x/Ro,k+1)+(1.13*(k+1)*Bf*Tevt/(Le*Ro3*Ro))*sqrt(T1)));}
writeln(fil,ue*100000:2:3);
writeln(ue*100000:2:8,' текущее ',x:2:6,' всего до ',Ro:2:6);
x:=x+0.0001;
end;
close(fil);
end.
Министерство образования Украины
ОДЕССКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Механико-технологический факультет
Кафедра “Машины и технология литейного производства”
ДИПЛОМНАЯ РАБОТА
“Разработка модели технологического процесса получения ребристых труб и её апробация”
студента Каспревича П.В.
руководитель асс. Прокопович И.В.
Одесса, 1995
29-04-2015, 04:11