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

Подбор подходящего прокатного профиля балки из базы данных профилей. Разработка программы для решения статической задачи. Описание сущности и ее атрибутов. Определение геометрических характеристик профиля. Применение Visual Studio Express 2010.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 13.11.2016
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

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

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

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

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

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

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

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

Выполнил:

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

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

Проверил:

Мальцев В.Л.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

ПРИЛОЖЕНИЕ

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

,

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

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

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

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

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

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

Размещено на http://www.allbest.ru/

Рисунок 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

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

h (мм)

Числовой

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 - Задача четвертого типа

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

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

Размещено на http://www.allbest.ru/

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

профиль балка программа атрибут

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

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

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

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

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

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

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

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

Приложение 1

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

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

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

OleDbConnection connection = new OleDbConnection();

OleDbCommand cmd = new OleDbCommand();

public void loadDataBase()

{

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

cmd.Connection = connection;

}

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

{

string otvet = "";

if (!checkconnection())

loadDataBase();

connection.Open(); //присоединиться к БД

OleDbDataAdapter dr = new OleDbDataAdapter(@"select * from [Швеллер] where [Wz] >= " + W, connection); //выбор строки с подходящим Wz

DataTable dt1 = new DataTable();

dr.Fill(dt1);

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

{

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

}

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

{

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

}

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

return otvet;

}

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

{

try

{

connection.Open();

connection.Close();

return true;

}

catch

{

return false;

}

}

public Form1()

{

InitializeComponent();

}

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

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

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

//иначе

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

}

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

{

this.Location = new Point((Screen.PrimaryScreen.Bounds.Width - this.Width) / 2, (Screen.PrimaryScreen.Bounds.Height - this.Height) / 2);

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");

loadDataBase();

}

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

{

Form2 f2 = new Form2();

f2.Show(); //отобразить форму

OleDbDataAdapter dr = new OleDbDataAdapter(@"select * from [Швеллер]", connection); //пробежаться по всем строкам таблицы «Швеллер»

DataTable dt1 = new DataTable();

dr.Fill(dt1);

f2.dataGridView1.DataSource = dt1; //вывод таблицы сортамента в DataGridView с БД

}

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

{

Form3 f3 = new Form3();

f3.Show(); //отобразить форму

OleDbDataAdapter dr = new OleDbDataAdapter(@"select * from [Швеллер]", connection); //пробежаться по всем строкам таблицы «Швеллер»

DataTable dt1 = new DataTable();

dr.Fill(dt1);

f3.dataGridView1.DataSource = dt1; //вывод таблицы сортамента в DataGridView с БД

}

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

{

Form5 f5 = new Form5();

f5.Show(); //отобразить форму

OleDbDataAdapter dr = new OleDbDataAdapter(@"select * from [Швеллер]", connection); //пробежаться по всем строкам таблицы «Швеллер»

DataTable dt1 = new DataTable();

dr.Fill(dt1);

f5.dataGridView1.DataSource = dt1; //вывод таблицы сортамента в DataGridView с БД

}

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

{

Form4 f4 = new Form4();

f4.Show(); //отобразить форму

OleDbDataAdapter dr = new OleDbDataAdapter(@"select * from [Швеллер]", connection); //пробежаться по всем строкам таблицы «Швеллер»

DataTable dt1 = new DataTable();

dr.Fill(dt1);

f4.dataGridView1.DataSource = dt1; //вывод таблицы сортамента в DataGridView с БД

}

}

}

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

namespace WindowsFormsApplication1

{

public partial class Form3 : Form

{

public Form3()

{

InitializeComponent();

}

private void Form3_Load(object sender, EventArgs e)

{

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

}

private void button1_Click(object sender, EventArgs e)

{

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

l = 0;

p = 0;

M = 0;

G = 210;

try

{

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

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

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

W = M / G; //расчет момента сопротивления

/*

* */

Form1 f1 = new Form1();

string otvet = f1.findBalka(W);

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

{

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

{ //...перемещаем курсор на данную строку

dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

dataGridView1.Rows[i].Cells["Профиль"].Selected = true;

dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells["Профиль"]; //взять значение ячейки "Профиль" на строке

break;

}

}

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

}

catch

{

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

}

}

}

}

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

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.