Файл: Разработка программного модуля на языке высокого уровня для решения инженерных задач на примере расчёта и построения резьбовых соединений.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 1048

Скачиваний: 37

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.



Министерство науки и высшего образования Российской Федерации

Федеральное государственное автономное образовательное учреждение высшего образования «Уральский федеральный университет имени первого Президента России Б. Н. Ельцина» (УрФУ)

Институт




Кафедра/департамент



Оценка Руководитель курсовой
работы
Членыкомиссии Дата защитыОТЧЕТо курсовой работепо теме: «Разработка программного модуля на языке высокого уровня для решения инженерных задач на примере расчёта и построения резьбовых соединений».Студент: _____________________________    (ФИО) (Подпись)Группа: НМТ-_______Екатеринбург
2022



Министерство науки и высшего образования Российской Федерации

Федеральное государственное автономное образовательное учреждение высшего образования

«Уральский федеральный университет имени первого Президента России Б. Н. Ельцина» (УрФУ)

Институт новых материалов и технологий

Департамент машиностроения

Кафедра Информационных технологий и автоматизации проектирования
ЗаданиеНа курсовую работуСтудент _________________________Группа НМТ-  Специальность/направление ___________________________________________________Руководитель курсовой работы____________________Срок проектирования с 4.04.2022 по 29.05.20221. Тема (курсовой работы)
  Разработка программного модуля на языке высокого уровня для решения инженерных задач на примере расчёта и построения резьбовых соединений.   2. Содержание проекта (какие графические работы и расчеты должны быть выполнены) Введение, разработка программного модуля для расчета и построение разъемных резьбовых соединений, заключение.3. План выполнения курсового проекта/работы

Наименование элементов

проектной работы

Сроки

Примечание

Отметка

о выполнении

Расчет болтового, шпилечного соединений.

04.04.2022 – 11.04.2022







Разработка программного модуля для расчета шпилечного, болтового соединений.

11.04.2022 – 25.04.2022







Разработка программного модуля для построения винтового, болтового, шпилечного соединений

25.04.2022 – 15.05.2022







Оформление пояснительной записки

15.05.2022 – 22.05.2022






4. Курсовая работа закончена _____________/_______________/5. Оценка курсовой работы ______________Руководитель _______________ / /Министерство образования и науки Российской ФедерацииФГАОУ ВО «Уральский федеральный университет имени первого Президента России Б. Н. Ельцина»РЕЦЕНЗИЯна курсовую работуСтудента__________________________ группы НМТ -________(фамилия имя отчество)Тема курсовой работы (проекта): Разработка программного модуля на языке высокого уровня для решения инженерных задач на примере расчёта и построения резьбовых соединений. 1. Соответствие результатов выполнения работы целям и задачам курсового проектирования результатам изучения по дисциплине/модулю (нужное подчеркнуть):Соответствуют Частично соответствуют Не соответствуют2. Оригинальность и самостоятельность выполнения работы (нужное подчеркнуть):Выполнена самостоятельно Содержит признаки несамостоятельной работы3. Полнота и глубина проработки разделов (нужное подчеркнуть):

Полная Частичная Отсутствует4. Общая грамотность и качество оформления текстового документа и графических материалов (нужное подчеркнуть): Отличное Хорошее Удовлетворительное Неудовлетворительное5. Вопросы и замечания ______________________________________________________ _______________________________________________________________________________________________________________________________________________________________________________________________________________________________________6. Общая оценка работы: Считаю, что курсовая работа заслуживает оценки ___________Сведения о рецензенте:Ф.И.О _________________________Должность _____________________Место работы «Кафедра информационных технологий и автоматизации проектирования», ИНМТ, УрФУ Подпись ____________________ Дата__________________

Оглавление


Введение 5

Постановка задачи 6

Математическая модель 6

Алгоритм выполнения задач 9

Код программы 9

Результаты работы: 31

Библиографический список 33

Введение

Delphi - объектно-ориентированный язык программирования, который был разработан Borland в 1995 году и предназначен для создания приложений для Windows, macOS, iOS, Android и Linux. Он также используется при разработке баз данных и интернет-приложений и имеет интегрированную среду разработки (IDE), обеспечивающую множество функций для программирования и отладки. Delphi поддерживает многопоточность, имеет расширенные библиотеки для визуального проектирования пользовательского интерфейса и оснащен жесткой статической типизацией переменных для облегчения процесса отладки кода.В этой работе необходимо создать программу для вычисления резьбовых соединений с помощью визуального программирования в соответствии с заданными требованиями.

Постановка задачи

Для расчета разъемных резьбовых соединений необходимо использовать предоставленные таблицы, в которых содержатся конкретные данные для каждого варианта. Требуется произвести расчет длины и написать программу для построения резьбовых соединений.

Математическая модель

1. Болтовое соединение (M14) Длину болта рассчитываем по формуле:l = Ф1 + Ф2 + S + m + a + c, где:a + c0,3dФ1 и Ф2 – толщина соединенных фланцев,S – толщина шайбы, m – высота гайки,а – запас резьбы,с – величина фаски,d – диаметр болта,l – длина болта, после расчёта подбирается по ГОСТу ближайшее большее стандартное значение l
ст. в зависимости от диаметра болта d.l = 14+0.3*14+11+2.5 =31,7Принимаем по ГОСТ 7798–70 длину болта lст. = 32 мм.Болт М141,532 ГОСТ 7798–70Гайка М141,5.5 ГОСТ 5915–70Шайба 14 ГОСТ 6402-70Расчет геометрических характеристик:D = 2d = 28 ммDш = 2,2d = 30,8 ммm = 0,8d = 11,2 ммS = 0,15d = 2,1 ммh = 0,7d = 9,8 мм2. Шпилечное соединение (М12)Длину шпильки рассчитываем по формуле:l = Ф1+S+m+a+c, где:l – длина шпильки, после расчёта подбирается по ГОСТу ближайшее большее стандартное значение lст. в зависимости от диаметра шпильки d.l = 7+10+2,5+0,312= 23,1 ммПринимаем по ГОСТ 22032–76 длину шпильки lст. = 19 мм.Шпилька М1240.58 ГОСТ 22032–76Гайка М12.5 ГОСТ 5915-70Расчет геометрических характеристик:D = 2d = 24 ммDш = 2,2d = 26,4 ммm = 0,8d = 9,6 ммS = 0,15d = 1,8 мм3. Винтовое соединение (М6)Длину винта рассчитываем по формуле:l = Ф+1,5d, где:Ф – толщина фланца,d – диаметр резьбы,l – длина винта, после расчёта подбирается по ГОСТу ближайшее большее стандартное значение lст.l = 12+9 = 21 ммПринимаем по ГОСТ 1491-80 длину винта lст. = 21 мм.Расчет геометрических характеристик:H = 0,6d = 3,6D = 1,5d = 9

Алгоритм выполнения задач

1) Открытие работы программы2) Присваиваем значения диаметра, значения размеров под ключ, значения размера шляпки, значений диаметра описанной окружности из текстового документа.3) Создаем массив длины по ГОСТ из текстового документа.4) Присваиваем значения длины.5) Выполняем расчеты.6) Строим изображение.7) Завершение работы программы.

Код программы

unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls;typeTForm1 = class(TForm)Button1: TButton;Figure: TRadioGroup;GroupBox1: TGroupBox;Box1: TComboBox;Label1: TLabel;Label2: TLabel;Label3: TLabel;Edit1: TEdit;Edit2: TEdit;Edit3: TEdit;GroupBox2: TGroupBox;Label5: TLabel;Label6: TLabel;Label7: TLabel;Edit4: TEdit;Edit5: TEdit;Edit6: TEdit;GroupBox3: TGroupBox;Label9: TLabel;Label10: TLabel;Label11: TLabel;Edit8: TEdit;Edit9: TEdit;Edit10: TEdit;GroupBox4: TGroupBox;Label12: TLabel;Label13: TLabel;Edit11: TEdit;Edit12: TEdit;Label8: TLabel;
Label14: TLabel;Label15: TLabel;Label16: TLabel;Image1: TImage;Label17: TLabel;Label18: TLabel;Label19: TLabel;Image2: TImage;Label4: TLabel;procedure Button1Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;BOLT_GOST_7798_70 : array [1..12,1..4] of real;GOST_DLINA : array [1..30] of real;GAIKA_GOST_5915_70 : array [1..12,1..4] of real;SHAIBA_GOST_11371_78 : array [1..12,1..3] of real;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);vari,k,q : integer;DLINA_R, DLINA, M : real;f : textfile;s : string;p : array of string;beginWith Image1.Canvas doBeginpen.Width: = 2; {}Brush.Color: = clWhite; {!}pen.Color: = clWhite; Rectangle(0 ,0, 633, 305);{!}pen.Color: = clGray; MoveTo(10,17);Lineto(18, 17);Lineto(18, 25);Lineto(10, 30);Lineto(20, 30);Lineto(20, 50);Lineto(10, 50);Lineto(10, 17);MoveTo(25, 50);Lineto(35, 30);Lineto(35, 51);MoveTo(35, 44);Lineto(27, 44);MoveTo(40, 60);Lineto(40, 30);Lineto(50, 30);Lineto(50, 50);Lineto(40, 50);MoveTo(55, 30);Lineto(55, 51);MoveTo(65, 30);Lineto(65, 51);MoveTo(55, 47);Lineto(65, 34);MoveTo(70, 50);Lineto(80, 30);Lineto(80, 51);MoveTo(80, 44);Lineto(72, 44);MoveTo(85, 30);Lineto(85, 51);MoveTo(95, 30);Lineto(95, 51);MoveTo(85, 40);Lineto(95, 40);MoveTo(100, 30);Lineto(110, 30);MoveTo(105, 30);Lineto(105, 51);MoveTo(140, 30);Lineto(130, 50);MoveTo(140, 30);Lineto(130, 30);For i: = 1 to 12 dobegin// присвоение значения диаметраBOLT_GOST_7798_70[i,1]: = strtofloat(Box1.Text);// присвоение значений размеров под ключBOLT_GOST_7798_70[i,2]: = strtofloat(Box1.Text)*1.73;// присвоение значений размера шляпкиBOLT_GOST_7798_70[i,3]: = strtofloat(Box1.Text)*0.7;// присвоение значений диаметра описанной окружностиBOLT_GOST_7798_70[i,4]: = strtofloat(Box1.Text)*2;end;//Создания массива ГОСТ Длина из текстового документаassignfile(f,'ГОСТ_ДЛИНА.txt'); //открытие текстового документа из корневой папкиreset(f);i: = 0;while not eof(f) do //цикл для считывания каждой строки из текстовогодокументаbegini: = i+1;SetLength(p,i); //задание длины динамического массиваreadln(f,s);p[i-1]: = s;end;CloseFile (f); // закрытие текстового документаFor i: = 1 to 30 do// присвоение значения длиныGOST_DLINA[i]: =strtofloat(p[i*2+2,3]+p[i*2+2,4]+p[i*2+2,5]+p[i*2+2,6]+p[i*2+2,7]);For i: = 1 to 12 dobegin// присвоение значения диаметраGAIKA_GOST_5915_70[i,1]: = strtofloat(Box1.Text);// присвоение значений размеров под ключGAIKA_GOST_5915_70[i,2]: = strtofloat(Box1.Text)*2;// присвоение значений высоты гайкиGAIKA_GOST_5915_70[i,3]: = strtofloat(Box1.Text)*0.7;// присвоение значений диаметра описанной окружностиGAIKA_GOST_5915_70[i,4]: = strtofloat(Box1.Text)*2;end;For i: = 1 to 12 dobegin// присвоение значения диаметраSHAIBA_GOST_11371_78[i,1]: = strtofloat(Box1.Text);// присвоение значений наружного диаметра