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

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

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

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

Добавлен: 09.11.2023

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

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

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



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

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

Институт




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






Оценка

Руководитель курсовой
работы

Членыкомиссии


Дата защиты

ОТЧЕТ

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

Студент: _____________________________    

(ФИО) (Подпись)

Группа: НМТ-_______

Екатеринбург
2022




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

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

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

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

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

Кафедра Информационных технологий и автоматизации проектирования

Задание

На курсовую работу

Студент _________________________

Группа НМТ-  

Специальность/направление ___________________________________________________

Руководитель курсовой работы____________________

Срок проектирования с 4.04.2022 по 29.05.2022
1. Тема (курсовой работы)


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

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,6

D = 1,5d = 9

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


1) Открытие работы программы

2) Присваиваем значения диаметра, значения размеров под ключ, значения размера шляпки, значений диаметра описанной окружности из текстового документа.

3) Создаем массив длины по ГОСТ из текстового документа.

4) Присваиваем значения длины.

5) Выполняем расчеты.

6) Строим изображение.

7) Завершение работы программы.

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


unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls;

type

TForm1 = 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;

var

Form1: 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);

var

i,k,q : integer;

DLINA_R, DLINA, M : real;

f : textfile;

s : string;

p : array of string;

begin

With Image1.Canvas do

Begin

pen.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 do

begin

// присвоение значения диаметра

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 //цикл для считывания каждой строки из текстового

документа

begin

i: = 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 do

begin

// присвоение значения диаметра

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 do

begin

// присвоение значения диаметра

SHAIBA_GOST_11371_78[i,1]: = strtofloat(Box1.Text);

// присвоение значений наружного диаметра