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

Строительно-монтажные работы по возведению одноэтажного здания, каркас которого состоит из металлических конструктивных элементов. Определение параметров крана и троса, расчеты, связанные с выбором монтажных приспособлений и грузозахватных устройств.

Рубрика Строительство и архитектура
Вид курсовая работа
Язык русский
Дата добавления 25.11.2018
Размер файла 308,1 K

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

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

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

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

ФГБОУ ВПО

«Уфимский государственный нефтяной технический университет»

Кафедра «Вычислительная техника и инженерная кибернетика»

Отчёт

по курсовому проекту

по разработке компонентов САПР

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

Уфа-2017

Описание проекта

каркас одноэтажный здание

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

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

В данной работе представлена структура и содержание программного средства расчетов при монтаже строительных конструкций. Программа представляет собой EXE-файл. Описание функций и клавиш будет приведено ниже.

1. Функции программы

1.1 Расчёт высоты подъема крюка

Рисунок 1. Интерфейс окна расчёта высоты подъема крюка.

Требумая высота крюка определяется по формуле:

, где

- превышение опоры монтируемого элемента.

- высота запаса, требующаяся из условий безопасности и удобства монтажа.

- высота монтируемого элемента.

- высота строповки.

1.2 Расчёт вылета крюка

Рисунок 2. Интерфейс окна расчёта вылета крюка.

Требумый вылет крюка рассчитывается по следующей формуле:

, где

а - ширина кранового пути.

b - расстояние от кранового пути до проекции наиболее выступающей части стены.

c - расстояние от центра тяжести наиболее удаленного элемента до выступающей части здания со стороны крана.

1.3 Подбор троса

Рисунок 3. Интерфейс окна подбора троса.

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

Расчёт определяется по формуле (1):

, где

S - усилие, возникающее в одной ветви.

a - угол отклонения от вертикали.

Q - масса поднимаемой конструкции.

m - количество ветвей стропа.

И формуле (2):

, где

P - разрывное усилие в ветви стропа

k - коэффициент запаса прочности

В этом окне доступны функции добавления троса в локальную базу данных SQLite и просмотра всех тросов в базе данных.

Для хранения информации о тросах, была подключена база данных SQLite и создана таблица со следующей структурой:

Ключ

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

Разрывное усилие

Диаметр

….

Таблица 1. Таблица в базе данных для хранения информации о троссах.

Рисунок 4. Интерфейс окна добавления троса.

Рисунок 5. Интерфейс окна просмотра всех тросов в базе данных.

1.4 Расчёт грузоподъемности крана

Рисунок 6. Интерфейс окна грузоподъемности крана.

Расчёт производится по формуле:

, где

- масса наиболее массивного элемента

- Масса строповочного устройства

- масса оснастки

2 Техническая реализация

2.1 Выбор средств разработки

Выбор проходил между двумя языками программирования: C# и C++.

C++ и C# -- это два разных языка программирования с C-подобным синтаксисом.

C# -- объектно-ориентированный язык с автоматическим управлением памятью, предназначенный для программирования на платформе .NET.

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

Было решено осуществлять разработку на языке программирования C#.

Язык программирования C# -- объектно-ориентированный язык программирования, созданный компанией Microsoft для поддержки среды .NET Framework, является прямым потоком двух самых успешных в мире компьютерных языков: C и C++. От C он унаследовал синтаксис, ключевые слова и операторы. Он позволяет построить и усовершенствовать объектную модель, определенную в C++.

В качестве среды разработки выбрана Visual Studio. Это набор инструментов разработки, основанных на использовании компонентов, и других технологий для создания мощных, производительных приложений. Кроме того, среда Visual Studio оптимизирована для совместного проектирования, разработки и развертывания корпоративных решений.

В качестве базы данных была выбрана встраиваемая SQLite.

SQLite -- это встраиваемая кроссплатформенная БД, которая поддерживает достаточно полный набор команд SQL и доступна в исходных кодах.

Выбор на эту базу даных пал из-за простоты использования, отсутствия необходимости настройки сервера СУБД, свободной лицензии.

Также хотелось бы отметить её безопасность. База данных хранится в одном файле, права доступа к которому можно контролировать стандартными средствами ОС.

Код автоматически документируется в XML-документацию, через комментарии в коде.

Приложение 1

Листинг кода. Вспомогательные функции.

class Helpers

{

/// <summary>

/// Функция проверки на пустоту

/// </summary>

/// <param name="textBox">Входная строка</param>

/// <returns>Булево значение</returns>

public bool CheckNull(TextBox textBox)

{

return string.IsNullOrWhiteSpace(textBox.Text);

}

/// <summary>

/// Функция конвертирования строки в число типа с плавающей запятой

/// </summary>

/// <param name="textBox">Входная строка</param>

/// <returns>Число на выходе</returns>

public double TextToDouble(TextBox textBox)

{

return Double.Parse(textBox.Text, CultureInfo.InvariantCulture);

}

/// <summary>

/// Метод показа ошибки

/// </summary>

/// <param name="message">Текст ошибки</param>

public void ShowError(Exception message)

{

MessageBox.Show("Произошла ошибка\nТекст ошибки: " + message.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

public void ShowAlarm(string message)

{

MessageBox.Show(message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

/// <summary>

/// Метод показа оповещения

/// </summary>

/// <param name="message">Информационное сообщение</param>

public void ShowInfo(string message)

{

MessageBox.Show(message, "Оповещение", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

/// <summary>

/// Функция конвертирования градусов в радианы

/// </summary>

/// <param name="angle">Угол в градусах</param>

/// <returns>Угол в радианах</returns>

public double ConvertToRadians(double angle)

{

return (Math.PI / 180) * angle;

}

/// <summary>

/// Функция заполнения DataGridView из базы данных SQLite

/// </summary>

/// <param name="sql">Строка с SQL-запросом</param>

/// <param name="dataGrid">DataGridView который нужно заполнять</param>

public void FillTable(string sql, DataGridView dataGrid)

{

if (File.Exists("database.db3"))

{

using (SQLiteConnection conn = new SQLiteConnection("data source=database.db3"))

{

using (SQLiteCommand cmd = new SQLiteCommand(conn))

{

try

{

conn.Open();

SQLiteCommand comm = new SQLiteCommand(sql, conn);

using (SQLiteDataReader read = comm.ExecuteReader())

{

while (read.Read())

{

dataGrid.Rows.Add(new object[] {

read.GetValue(0),

read.GetValue(read.GetOrdinal("Name")),

read.GetValue(read.GetOrdinal("Force")),

read.GetValue(read.GetOrdinal("Diameter"))

});

}

}

}

catch (Exception ex)

{

ShowError(ex);

}

}

}

}

}

}

Приложение 2

Листинг кода. Окно добавления троса.

public partial class AddRopeForm : Form

{

Helpers help = new Helpers();

Random rand = new Random();

private string createDatabase = @"CREATE TABLE IF NOT EXISTS

[Ropes] (

[Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,

[Name] NVARCHAR(2048) NULL,

[Force] REAL NULL,

[Diameter] REAL NULL)";

public AddRopeForm()

{

InitializeComponent();

}

private void buttonAddRope_Click(object sender, EventArgs e)

{

using (SQLiteConnection conn = new SQLiteConnection("data source=database.db3"))

{

using (SQLiteCommand cmd = new SQLiteCommand(conn))

{

try

{

conn.Open();

cmd.CommandText = createDatabase;

cmd.ExecuteNonQuery();

string name = ropeName.Text;

double force = help.TextToDouble(ropeForce);

double diameter = help.TextToDouble(ropeDiametr);

cmd.CommandText =@"INSERT INTO Ropes(Name,Force,Diameter) VALUES(@name,@force,@diameter)";

cmd.Parameters.AddWithValue("@name", name);

cmd.Parameters.AddWithValue("@force", force);

cmd.Parameters.AddWithValue("@diameter", diameter);

cmd.ExecuteNonQuery();

help.ShowInfo("Трос успешно добавлен.");

this.Close();

}

catch (Exception ex)

{

help.ShowError(ex);

}

}

}

}

}

Приложение 3

Листинг кода. Окно добавления троса.

public partial class RopesForm : Form

{

Helpers help = new Helpers();

string selectTable = "SELECT * from Ropes";

public RopesForm()

{

InitializeComponent();

}

private void RopesForm_Load(object sender, EventArgs e)

{

help.FillTable(selectTable, dataGridViewRopes);

}

}

Приложение 4

Листинг кода. Окно расчёта высоты подъема крюка.

private void buttonResult1_Click(object sender, EventArgs e)

{

try

{

if (!help.CheckNull(excess1) && !help.CheckNull(stock1)

&& !help.CheckNull(heightOne1) && !help.CheckNull(heightTwo1))

{

double Ho = help.TextToDouble(excess1);

double Hz = help.TextToDouble(stock1);

double Hel = help.TextToDouble(heightOne1);

double Hc = help.TextToDouble(heightTwo1);

heightResult1.Text = (Ho + Hz + Hel + Hc).ToString();

panel1.Visible = true;

}

else

{

help.ShowAlarm("Поля не могут быть пустыми.");

}

}

catch (Exception exception)

{

help.ShowError(exception);

}

}

Приложение 5

Листинг кода. Окно расчёта вылета крюка.

private void buttonResult2_Click(object sender, EventArgs e)

{

try

{

if (!help.CheckNull(centreDistance2) &&

!help.CheckNull(buildingDistance2) && !help.CheckNull(width2))

{

double a = help.TextToDouble(width2);

double b = help.TextToDouble(buildingDistance2);

double c = help.TextToDouble(centreDistance2);

departureResult2.Text = (a / 2 + b + c).ToString();

panel2.Visible = true;

}

else

{

help.ShowAlarm("Поля не могут быть пустыми.");

}

}

catch (Exception exception)

{

help.ShowError(exception);

}

}

Приложение 6

Листинг кода. Окно подбора троса.

private void buttonResult3_Click(object sender, EventArgs e)

{

try

{

if (!help.CheckNull(weight3) && !help.CheckNull(count3) && !help.CheckNull(angle3) && !help.CheckNull(ratio3))

{

double a = help.TextToDouble(angle3);

double rad = help.ConvertToRadians(a);

double Q = help.TextToDouble(weight3);

double m = help.TextToDouble(count3);

double S = (10 * Q) / (Math.Cos(rad) * m);

double k = help.TextToDouble(ratio3);

double P = S * k;

string selectTable = "SELECT * from Ropes";

forceResult3.Text = P.ToString();

help.FillTable(selectTable, dataGridViewRopes);

panel3.Visible = true;

}

else

{

help.ShowAlarm("Поля не могут быть пустыми.");

}

}

catch (Exception exception)

{

help.ShowError(exception);

}

}

Приложение 7

Листинг кода. Окно расчёта грузоподъемности крана.

private void buttonResult4_Click(object sender, EventArgs e)

{

try

{

if (!help.CheckNull(weight4) && !help.CheckNull(snap4) && !help.CheckNull(device4))

{

double Pe = help.TextToDouble(weight4);

double Pc = help.TextToDouble(snap4);

double Po = help.TextToDouble(device4);

loadResult4.Text = (Pe + Pc + Po).ToString();

panel4.Visible = true;

}

else

{

help.ShowAlarm("Поля не могут быть пустыми.");

}

}

catch (Exception exception)

{

help.ShowError(exception);

}

}

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


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

  • Конструктивная характеристика промышленного здания и спецификация элементов сборных конструкций, определение объемов монтажных и вспомогательных работ. Выбор монтажной оснастки и приспособлений. Технико-экономическое обоснование выбора монтажных кранов.

    курсовая работа [332,0 K], добавлен 13.01.2012

  • Конструктивные решения здания. Подсчет количества монтажных элементов. Выбор методов ведения работ. Определение затрат труда и машинного времени на возведение здания. Стоимость строительно-монтажных работ. Приемы безопасности при монтаже конструкций.

    курсовая работа [636,2 K], добавлен 18.05.2013

  • Освоение методов и организации возведения здания. Спецификация элементов сборных конструкций. Выбор монтажных приспособлений и грузозахватных устройств. Разработка технологической карты на ведущий процесс. Технология и организация строительного процесса.

    курсовая работа [542,8 K], добавлен 19.11.2012

  • Подсчет объемов работ и выбор метода при монтаже конструкций промышленного здания. Основные факторы, влияющие на выбор типа крана. Выбор грузозахватных и монтажных приспособлений. Контроль и оценка качества работ при производстве и приемке работ.

    курсовая работа [306,8 K], добавлен 26.02.2015

  • Подбор грузозахватных устройств и схемы строповок. Внешний вид грузозахватных механизмов. Выбор крана по техническим параметрам. Определение оптимального варианта монтажного крана по технико-экономическим показателям. Подбор элементов монтажа здания.

    курсовая работа [1,3 M], добавлен 24.10.2012

  • Подсчет объемов строительно-монтажных работ. Подбор грузозахватных приспособлений. Обоснование методов и способов монтажа. Расчет транспортных средств для доставки железобетонных конструкций. Мероприятия по охране труда при производстве монтажных работ.

    курсовая работа [9,7 M], добавлен 28.03.2014

  • Характеристика многопролетного здания с крановым оборудованием. График поступления строительных конструкций. Основной принцип рациональной организации монтажного процесса. Выбор транспортных средств, монтажных кранов, грузозахватных и приспособлений.

    курсовая работа [5,6 M], добавлен 23.01.2011

  • Компоновочная схема здания. Ведомость монтируемых элементов сборных конструкций. Основные методы монтажа конструкций. Выбор основных грузозахватных приспособлений и монтажных кранов. Калькуляция трудовых затрат. График производства монтажных работ.

    курсовая работа [9,5 M], добавлен 20.02.2015

  • Производство работ по каменной кладке сборных железобетонных конструкций. Анализ геодезического обеспечения строительно-монтажных работ, выбор монтажного крана. Осуществление расчетов: потребность в воде, временные склады, строительно-монтажные работы.

    дипломная работа [101,7 K], добавлен 24.12.2011

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

    курсовая работа [19,1 K], добавлен 17.08.2009

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