Разработка программного обеспечения для расчетов при монтаже строительных конструкций
Строительно-монтажные работы по возведению одноэтажного здания, каркас которого состоит из металлических конструктивных элементов. Определение параметров крана и троса, расчеты, связанные с выбором монтажных приспособлений и грузозахватных устройств.
Рубрика | Строительство и архитектура |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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