Разработка информационной системы для решения задачи о простой балке

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    316,45 Кб
  • Опубликовано:
    2016-11-13
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка информационной системы для решения задачи о простой балке

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ФЕДЕРАЛЬНОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ

АРХИТЕКТУРНО-СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ








Пояснительная записка к курсовой работе

по дисциплине «Информационные технологии проектирования строительных конструкций»

на тему: «Разработка информационной системы для решения задачи о простой балке»

Выполнил:

студент группы ИСТ 12-1

Павловский В.В.

Проверил:

Мальцев В.Л.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

. ОПИСАНИЕ ПРОГРАММЫ

. ТЕХНИЧЕСКОЕ ОПИСАНИЕ

. ИНТЕРФЕЙС ПРОГРАММЫ

. РУКОВОДСТВО ДЛЯ ПОЛЬЗОВАТЕЛЯ

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ

ВВЕДЕНИЕ

Сортамент проката - перечень всех прокатных профилей (с размерами), выпускаемых в стране, на металлургическом заводе (или группе заводов), на данном прокатном стане. Различают профильные сортаменты проката (перечень профилей одного назначения) и размерные сортаменты проката (перечень размеров одного профиля). Часто сортамент проката даётся одновременно по признаку и профилей, и размеров. Весь сортамент проката можно разделить на 3 основных группы: сортовой прокат (специальные профили), листовой прокат и трубы.

Для курсовой работы был выбран профиль сортамента - швеллер - шарнир-шарнир 2 пролета.

Швеллер представляет собой легкий и прочный металлический профиль, способный выдерживать любые поперечные нагрузки. Это самый востребованный и популярный вид металлопроката, базовая основа для любого строительства. Швеллер характеризуется большим разнообразием и невысокой ценой. В настоящее время сортовой промышленностью выпускаются швеллеры различных типоразмеров. В строительной практике принято разделять швеллеры на десятки типоразмеров (номеров).

Швеллер - это еще и распространенный в металлообработке профиль, который помогает разгружать напряженные участки конструкции, заметно облегчая ее.

Для производителя сортамент является его представлением на рынке и показателем развития. Чем больше представленный сортамент швеллера - тем лучше, несмотря на существенно большие затраты и требуемые производственные мощности.

Целью курсового проекта является автоматизация решения задачи о простой балки.

. ОПИСАНИЕ ПРОГРАММЫ

В ходе работы над курсовым проектом была написана и отлажена программа для ЭВМ, решающая статическую задачу и выполняющая подбор подходящего прокатного профиля балки из базы данных профилей (сортамента).

При разработке информационной системы были использованы Visual Studio Express 2010 и Microsoft Office Access 2010.

Для определения максимальных моментов были даны следующие типы нагрузок:

1.      Равномерно распределенная нагрузка. Тип 1

2.      Равномерно распределенная нагрузка. Тип 2

.        Равномерно распределенная нагрузка. Тип 3

.        Равномерно распределенная нагрузка. Тип 4

Для определения геометрических характеристик профиля применялось неравенство:

,

где  - допустимое напряжение, равное 210 МПа;

M - максимальный момент в балке;

W - требуемый момент сопротивления.

Профиль принимается из соответствующего каталога профилей ГОСТ: Тип: Швеллер с уклоном полок по ГОСТ 8240-97.

. ТЕХНИЧЕСКОЕ ОПИСАНИЕ

Разработка программы для решения статической задачи проводилась в объектно-ориентированной среде программирования С#. На рисунке 1 изображена блок-схема данной программы, она показывает, как работает программа.

Рисунок 1 - Блок-схема

Программа предназначена для решения статической задачи, в которой рассчитывается M - максимальный момент в балке, затем W - требуемый момент сопротивления. На основе значения W выполняется подбор подходящего прокатного профиля балки из базы данных сортамента.

Информация о данных сортамента храниться в таблице в базе данных Microsoft Office Access.

Она хранит информацию, которая содержит следующие данные: Код, Профиль, h(мм), b(мм), s(мм), t(мм), r1(мм), r2(мм), A(см2), P(кг/м), ly(см4), Wy(см3), iy(мм), Sy(см3), lz(см4), Wz(см3), iz(мм), y0(мм).

Схема базы данных изображена на рисунке 2.

Рисунок 2 - Схема базы данных

Описание сущности и ее атрибутов приведено в таблице 1.

Таблица 1

Сущность «Швеллер»

Ключи

Наименование

Тип данных

Значение

Описание

Код

Счетчик

NOT NULL

Код профиля


Профиль

Текстовый

NOT NULL

Значение профиля

Числовой

NOT NULL

Высота сечения


b (мм)

Числовой

NOT NULL

Ширина сечения


s (мм)

Числовой

NOT NULL

Толщина профиля


r1 (мм)

Числовой

NOT NULL

Радиус инерции


r2 (мм)

Числовой

NOT NULL

Радиус инерции


A (см2)

Числовой

NOT NULL

Площадь сечения


P (кг/м)

Числовой

NOT NULL

Вес


ly (см4)

Числовой

NOT NULL

Момент инерции


Wy (см3)

Числовой

NOT NULL

Момент сопротивления


iy_(мм)

Числовой

NOT NULL

Осевой момент сопротивления


lz (см4)

Числовой

NOT NULL

Момент инерции


Wz

Числовой

NOT NULL

Момент сопротивления


iz_(мм)

Числовой

NOT NULL

Осевой момент сопротивления


y0 (мм)

Числовой

NOT NULL

Осевой момент сопротивления


3. Интерфейс программы


После запуска программы на экране отображается ее главное окно (рисунок 3), на которой указан профиль сортамента и его закрепление. Ниже расположены кнопки - типы нагрузок, при нажатии на них открывается следующее окно, в которое пользователь вводит данные и программа выдает нужный профиль сортамента (рисунок 4-7).

Рисунок 3 - Главная форма

Рисунок 4 - Задача первого типа

Рисунок 5 - Задача второго типа

Рисунок 6 - Задача третьего типа

Рисунок 7 - Задача четвертого типа

. РУКОВОДСТВО ДЛЯ ПОЛЬЗОВАТЕЛЯ

Блок-схема, описывающая работу приложения.


После запуска программы открывается основная форма. При первом запуске программы необходимо проверить ее подключение к БД сортамента, для этого в правом углу расположена кнопка «Проверка соединения с БД» при нажатии на которую на экран выходит сообщение «БД успешно подключена» (рисунок 8).

Рисунок 8 - Сообщение, повествующее о наличии связи с БД

Так же на основной форме расположены кнопки (задачи), которые должна выполнять программа. Все четыре задачи программы выполняются аналогично, поэтому для примера рассмотрим лишь одну из низ.

При нажатии на кнопку одной из задач (рассмотрим одну из задач - «Равномерно распределенная нагрузка. Тип3») (рисунок 9), открывается форма, в которую пользователь вводит исходные данные и подтверждает их нажатием на кнопку «Подобрать профиль» (рисунок 10).

Рисунок 9 - Равномерно распределенная нагрузка. Тип3

Рисунок 10 - Ввод данных

На основании введенных данных и произведенных над ними расчетов программа выдает результат (рисунок 11).

Рисунок 11 - Расчеты

Отталкиваясь от рассчитанного значения W - требуемого момента сопротивления, программа подсвечивает строку из БД с близким к нему значением (обязательно большим рассчитанного Wz) профиля (рисунок 12).

Рисунок 12 - Вывод профиля сортамента

При некорректном вводе данных, на экран выйдет соответствующее сообщение (рисунок 13).

Рисунок 13 - Сообщение о некорректном вводе данных

ЗАКЛЮЧЕНИЕ

В ходе курсовой работы была написана и отлажена программа для ЭВМ, разработанная в объектно-ориентированной среде программирования C#, которая:

·        решает статическую задачу: рассчитывает максимальный момент в балке и требуемый момент сопротивления;

·        выполняет подбор подходящего прокатного профиля балки из базы данных профилей (сортамента).

 

Список использованных источников


1.      Уманский А.А. Справочник проектировщика промышленных, жилых и общественных зданий и сооружений: учебное пособие / А.А. Уманский - Москва: Изд-во 2, СтройИздат, 1972. - 600 с.

.        Климов А. C#. Советы программистам/ Изд-во: БХВ-Петербург,: 2008

Приложение 1

Листинг программы

Главная форма:

namespace WindowsFormsApplication1

{partial class Form1 : Form

{connection = new OleDbConnection();cmd = new OleDbCommand();void loadDataBase()

{.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "//bd1.mdb"; //путь к БД сортамента.Connection = connection;

}string findBalka(double W) //функция нахождения швеллера

{otvet = "";(!checkconnection())();.Open(); //присоединиться к БДdr = new OleDbDataAdapter(@"select * from [Швеллер] where [Wz] >= " + W, connection); //выбор строки с подходящим Wzdt1 = new DataTable();.Fill(dt1);

try //если подходящая строка найдена, то...

{= dt1.Rows[0].Field<string>("Профиль"); //...переменной «otvet» присвоить значение ячейки "Профиль"

}//иначе выводим ошибку

{= "По данным параметрам балку подобрать не возможно";

}.Close(); //закрыть соединение с БД

return otvet;

}bool checkconnection() //проверка связи с БД

{

{.Open();.Close();true;

}

{false;

}

}Form1()

{();

}void button1_Click(object sender, EventArgs e) //кнопка проверки подключения программы с БД

{ //если связь с БД установлена (checkconnection() = true)

if (checkconnection()) MessageBox.Show("База данных успешно подключена");

//иначеMessageBox.Show("Соединение с базой данных не установлено");

}void Form1_Load(object sender, EventArgs e) //расположение формы на экране

{.Location = new Point((Screen.PrimaryScreen.Bounds.Width - this.Width) / 2, (Screen.PrimaryScreen.Bounds.Height - this.Height) / 2);.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");();

}void button2_Click(object sender, EventArgs e) //Равномерно распределенная нагрузка - тип2

{f2 = new Form2();.Show(); //отобразить формуdr = new OleDbDataAdapter(@"select * from [Швеллер]", connection); //пробежаться по всем строкам таблицы «Швеллер»dt1 = new DataTable();.Fill(dt1);.dataGridView1.DataSource = dt1; //вывод таблицы сортамента в DataGridView с БД

}void button3_Click(object sender, EventArgs e) //Равномерно распределенная нагрузка - тип3

{f3 = new Form3();.Show(); //отобразить формуdr = new OleDbDataAdapter(@"select * from [Швеллер]", connection); //пробежаться по всем строкам таблицы «Швеллер»dt1 = new DataTable();.Fill(dt1);.dataGridView1.DataSource = dt1; //вывод таблицы сортамента в DataGridView с БД

}void button4_Click(object sender, EventArgs e) //Равномерно распределенная нагрузка - тип4

{f5 = new Form5();.Show(); //отобразить формуdr = new OleDbDataAdapter(@"select * from [Швеллер]", connection); //пробежаться по всем строкам таблицы «Швеллер»dt1 = new DataTable();.Fill(dt1);.dataGridView1.DataSource = dt1; //вывод таблицы сортамента в DataGridView с БД

}void button5_Click(object sender, EventArgs e) //Равномерно распределенная нагрузка - тип1

{f4 = new Form4();.Show(); //отобразить формуdr = new OleDbDataAdapter(@"select * from [Швеллер]", connection); //пробежаться по всем строкам таблицы «Швеллер»dt1 = new DataTable();.Fill(dt1);.dataGridView1.DataSource = dt1; //вывод таблицы сортамента в DataGridView с БД

}

}

}

Листинг кода одной из форм (Равномерно распределенная нагрузка. Тип 3):WindowsFormsApplication1

{partial class Form3 : Form

{Form3()

{();

}void Form3_Load(object sender, EventArgs e)

{.Location = new Point((Screen.PrimaryScreen.Bounds.Width - this.Width) / 2, (Screen.PrimaryScreen.Bounds.Height - this.Height) / 2); //располежение формы по центру

{l, p, M, W, G; //объявляем необходимые переменны= 0;= 0;= 0;= 210;

{= Convert.ToDouble(textBox1.Text); //считывание введенной длины балки= Convert.ToDouble(textBox2.Text); //считывание введенной приложенной силы

= 0.096 * p * Math.Pow(l, 2);//нахождение максимального момента в балке= M / G; //расчет момента сопротивления

/*

* */f1 = new Form1();otvet = f1.findBalka(W);(int i = 0; i < dataGridView1.RowCount - 1; i++) //считывание значения строк БД профилей

{ ((string)dataGridView1.Rows[i].Cells["Профиль"].Value == otvet) //если значение в строке БД совпадает с рассчитанным значением, то...

{ //...перемещаем курсор на данную строку.SelectionMode = DataGridViewSelectionMode.FullRowSelect;.Rows[i].Cells["Профиль"].Selected = true;.CurrentCell = dataGridView1.Rows[i].Cells["Профиль"]; //взять значение ячейки "Профиль" на строке

break;

}

}.Text = "Искомая балка: " + otvet + "\nРасчетное значение Wz = " + Math.Round(W, 3); //вывод названия необходимой балки и расчетного значения

}

{.Show("Ошибка при вводе данных");

}

}

}

}

В остальных формах, связанных с подбором балки, аналогичный код. Меняются лишь формулы для подсчета характеристик и названия форм.

Похожие работы на - Разработка информационной системы для решения задачи о простой балке

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!