Автоматизированные расчеты в САПР ТП
Тема:Разработка программного модуль расчета режимов резания для сверлильного перехода.
Задание:Разработать модуль расчета скорости резания в САПР ТП для сверлильного перехода с учетом следующих требований:
· Диаметр отверстий выбирается из 3D-модели детали.
· Подача выбирается из БД.
· Коэффициенты выбираются из одной таблица БД.
· Данные для расчёта:
· диаметр обрабатываемого отверстия - D = 10мм;
· глубина обрабатываемого отверстия - L = 20мм;
· обрабатываемый материал – сталь 50Л конструкционная углеродистая σв = 750МПа;
· материал режущей части инструмента – Р6М5.
Расчетные данные:
Глубина резания t, мм:
t = 0,5D = 0,5*10 = 5мм;
3. Подача s, мм/об=0,34 мм/об.
Критерием выбора подачи являются:
· Диаметр сверла;
· Твердость
4. Скорость резания V, м/мин:
Cv = 9,8; q = 0,40; y = 0,50; m = 0,20; y = 0,50; Т = 70 мин
Общий поправочный коэффициент Kv= 1
Рекомендации:
1. Разработайте главную форму (см. рис.1.)
2. Разработайте базу данных. Ее структура показана на рис. 2
Рис. 1. База данных и фрагмент модуля данных.
3. Разработайте базовый запрос на выбор.
4. Разработайте Запрос на выбор подачи по набору критериев на основе базового запроса S:
SELECT S.Материал, S.HBmin, S.HBmax, S.dmin, S.dmax, S.Smin, S.Smax
FROM S WHERE (((S.HBmin)<=:Par1))
AND ((S.dmin)<=:Par2) AND ((S.dmax)>:Par2 ) AND ((S.Материал)>:Par3)));
Код программы. Приложение
procedure TForm1.Button1Click(Sender: TObject);
begin
dm.ADOQuery1.Close;
dm.ADOQuery1.Parameters[0].Value:=edit1.Text;
dm.ADOQuery1.Parameters[1].Value:=edit3.Text;
dm.ADOQuery1.Parameters[2].Value:=edit8.Text;
dm.ADOQuery1.Open;
edit11.Text:=dm.ADOQuery1.Fields[5].Text;
end;
procedure TForm1.Button2Click(Sender: TObject);
var D, t: real;
begin
D:=strtofloat(edit1.Text);
t:=D*0.5;
edit12.Text:= floatToStr(t);
end;
procedure TForm1.Button3Click(Sender: TObject);
var V,C,T,D,s,K,q,y,m:real;
begin
C:=strToFloat(Edit4.Text);
D:=strToFloat(Edit1.Text);
q:=strToFloat(Edit5.Text);
y:=strToFloat(Edit6.Text);
T:=1;
s:=strToFloat(Edit11.Text);
K:=1;
m:=strToFloat(Edit7.Text);
V:=((C*(math.Power(D,q)))/(math.Power(T,m)*math.Power(s,y)))*K;
edit13.Text:= floatToStr(V)
end;
end.