Загрузка данных


СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. АНАЛИТИЧЕСКАЯ ЧАСТЬ
   1.1. Характеристика огнезащитных материалов и их свойств
   1.2. Факторы, влияющие на расход краски
   1.3. Методы расчёта расхода краски в строительных и производственных процессах
   1.4. Анализ существующих калькуляторов расхода огнезащитных материалов
   1.5. Проблемы точного расчёта расхода при нестандартных значениях приведённой толщины металла
   1.6. Требования предприятий к автоматизации расчётов расхода материалов
   1.7. Постановка задачи разработки программного калькулятора для ООО «Спецзащита»
2. ПРОЕКТИРОВАНИЕ КАЛЬКУЛЯТОРА РАСХОДА КРАСКИ
   2.1. Формирование требований
   2.2. Разработка математической модели расчёта расхода
   2.3. Проектирование архитектуры приложения
   2.4. Проектирование базы данных
   2.5. Разработка интерфейса ввода данных и отображения результатов
   2.6. Проектирование механизма формирования отчётов и сохранения расчётов
3. РЕАЛИЗАЦИЯ И ОЦЕНКА ЭФФЕКТИВНОСТИ

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЯ

---

ВВЕДЕНИЕ

Тема дипломной работы: Разработка настольного приложения-калькулятора расхода огнезащитной краски на C# с использованием технологии WPF.

Актуальность исследования определяется ростом требований к огнезащите стальных конструкций в условиях ужесточения нормативов СП 2.13130.2020 и ГОСТ Р 53295-2009. Ручные расчеты расхода материалов на производстве ООО «Спецзащита» приводят к перерасходу краски на 15–25% из-за сложностей интерполяции по таблицам ПТМ/R, учета потерь 30% и отсутствия автоматизации отчетности. Текущие онлайн-калькуляторы имеют ограниченную поддержку брендовых составов («Тексотерм-К», «Нольодин»), сортаментов ГОСТ и экспорта данных, что снижает точность на сложных объектах. WPF-приложение устраняет эти недостатки, реализуя встроенную БД материалов, интерполяцию, расчет площади по профилям и PDF-отчеты с детализацией экономии.

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

Цель работы состоит в разработке WPF-приложения-калькулятора для ООО «Спецзащита», обеспечивающего точный расчет расхода огнезащитной краски по таблицам «Тексотерм-К»/«Нольодин», автоматическую интерполяцию, учет потерь и формирование отчетов с экономической оценкой.

Задачи исследования:

· изучить свойства огнезащитных составов и факторы расхода на стальных сортаментах;
· проанализировать существующие калькуляторы и выявить их архитектурные ограничения;
· разработать математическую модель интерполяции с коэффициентами корректировки;
· спроектировать архитектуру WPF-приложения с БД материалов и интуитивным интерфейсом;
· реализовать прототип и провести тестирование на реальных конструкциях;
· оценить экономическую эффективность внедрения на производстве.

Объект исследования — процессы автоматизации расчетов расхода огнезащитных материалов в строительстве и промышленности.

Предмет исследования — архитектурные паттерны и программные средства разработки WPF-приложения-калькулятора расхода огнезащитной краски.

Методы исследования:

· анализ нормативов (ГОСТ Р 53295-2009) и технической литературы по огнезащите;
· сравнительный анализ калькуляторов по метрикам точности и функциональности;
· проектирование информационных систем (UML, ER-диаграммы);
· экспериментальное тестирование алгоритмов интерполяции на тестовых данных;
· объектно-ориентированное моделирование для обеспечения модульности кода.

Практическая значимость работы определяется внедрением продукта на ООО «Спецзащита». Руководство приняло решение о создании собственного калькулятора вместо использования онлайн-сервисов из-за отсутствия поддержки брендовых составов, неточного учета потерь и отсутствия экспорта отчетов. Разработанное WPF-приложение обеспечивает сотрудникам точный инструмент расчета с экономией 20% материалов, исключает ручные ошибки и интегрируется с внутренними процессами планирования.

Структура дипломной работы включает введение, три раздела, заключение, список источников и приложения. Первый раздел содержит аналитический обзор предметной области, второй описывает проектирование архитектуры и компонентов, в третьем приводятся детали реализации, результаты тестирования и оценка эффективности. Приложения содержат исходный код XAML/C#, таблицы данных и тестовые отчеты.

---

1. АНАЛИТИЧЕСКАЯ ЧАСТЬ

1.1. Характеристика огнезащитных материалов и их свойств

В дипломной работе рассматриваются огнезащитные составы, применяемые ООО «Спецзащита» для повышения предела огнестойкости стальных конструкций различных сортаментов по ГОСТ 26020-89 (двутавры), 8240-89 (швеллеры), 19903-2015 (листы) и другим. Ключевые материалы включают:

· конструктивный огнезащитный состав «Тексотерм-К» (ТУ 20.30.12-011-14534633-2022), обеспечивающий пределы от 45 до 150 минут, с расходом 0,9 кг на 10 мм сухого слоя;
· огнезащитную эмаль полиакриловую «Тексотерм» (ТУ 2313-003-83351197-2008) с расходом 1,6 кг на 1 мм слоя;
· состав «Нольодин-К» (ТУ 20.3012-002-06083665-2023), аналогичный «Тексотерм-К» по расходу (0,9 кг на 10 мм);
· полиакриловую эмаль «Нольодин» с расходом 1,6 кг на 1 мм слоя.

Эти материалы характеризуются высокой вспучиваемостью (увеличение объема в 50–100 раз при температуре 150–300°C), что позволяет образовывать теплоизоляционный слой с низкой теплопроводностью 0,05–0,1 Вт/м·К и адгезией не менее 5 МПа на очищенной стали. Плотность составляет 1,2–1,6 г/см³, что обеспечивает равномерное нанесение кистью, валиком или безвоздушным распылителем. Таблицы эффективности определяют требуемую толщину сухого слоя h в мм по приведенной толщине металла ПТМ (1–24 мм): например, для «Тексотерм-К» при ПТМ=1,4 мм — h=5,1 мм для R45, 7 мм для R90, 10,7 мм для R150; для «Тексотерм» при ПТМ=3,4 мм — h=0,75 мм (R45), 1,2 мм (R60), 2,12 мм (R120).

Расход краски рассчитывается по формуле q = h × (удельный расход на 1 мм) × k, где k — коэффициент потерь (1,3). Это позволяет точно определять потребность для профилей с удельной площадью поверхности от 5,1 м²/т (лист 50 мм) до 52 м²/т (уголок L50x5), минимизируя перерасход.

1.2. Факторы, влияющие на расход краски

Основным параметром, определяющим необходимую толщину огнезащитного покрытия, является приведённая толщина металла (ПТМ), которая вычисляется как отношение площади сечения к обогреваемому периметру элемента. В паре с требуемым пределом огнестойкости R (15–150 мин) она составляет математическую основу расчёта по таблицам производителя. Например, для полиакриловой эмали «Нольодин» при ПТМ=2 мм и требовании R45 толщина покрытия составит 1,1 мм, а для R60 — 1,66 мм.

Полученное значение толщины является базовым и корректируется с учётом следующих факторов:

· технологические потери при нанесении, заложенные в коэффициент k=1,3 (30% на распыление, подтёки и неровности);
· тип и состояние поверхности: повышенная шероховатость, наличие ржавчины или оцинковки увеличивают расход на 10–20%;
· метод нанесения (кисть, валик или безвоздушное распыление), влияющий на равномерность и количество слоёв;
· условия окружающей среды (влажность, температура), которые могут потребовать корректировки толщины для обеспечения адгезии.

1.3. Методы расчёта расхода краски в строительных и производственных процессах

Расчёт расхода огнезащитной краски на производстве базируется на табличном методе, рекомендованном производителями и нормативной документацией (ГОСТ Р 53295-2009, СП 2.13130). Основным входным параметром является приведённая толщина металла (ПТМ) и требуемый предел огнестойкости R.

Метод ступенчатой интерполяции (основной): В стандартной практике используется выбор ближайшего большего значения ПТМ в таблице и соответствующей ему толщины покрытия. Например, если в таблице эмали «Нольодин» указано: для ПТМ=3,4 мм толщина h=1,2 мм (R60), а для ПТМ=3,6 мм — h=1,15 мм (R60), то для элемента с рассчитанной ПТМ=3,42 мм будет назначена толщина 1,2 мм (как для ПТМ=3,4 мм). Этот метод закладывает небольшой технологический запас.

Метод линейной интерполяции (уточнённый): Для более точного расчёта, снижающего перерасход, применяется линейная интерполяция по формуле: h_int = h1 + (h2 - h1) × (ПТМ - ПТМ1) / (ПТМ2 - ПТМ1). Этот подход реализован во вспомогательном файле «интерполяция (1).xlsx» и позволяет получить значение толщины без лишнего запаса. Например, для стального круга диаметром 12 мм (ПТМ ≈ 3,0 мм) интерполяция по таблице даёт результат около 1,92 мм.

Полный расход материала на конструкцию определяется по формуле: Q = h × R_удельный × K × S, где h — толщина слоя, R_удельный — удельный расход материала (кг/м² на 1 мм толщины, например, 1,6 для эмали «Нольодин»), K — коэффициент технологических потерь (1,3), S — общая площадь поверхности.

1.4. Анализ существующих калькуляторов расхода огнезащитных материалов

Существующие онлайн-калькуляторы ориентированы на базовые сценарии, но не полностью удовлетворяют нуждам проектных и производственных отделов. Например, калькулятор на ognehimzashita.ru/calc вычисляет ПТМ и расход для двутавров и швеллеров по ГОСТ 26020-89, однако не поддерживает прямую работу с таблицами конкретных брендовых материалов («Нольодин», «Тексотерм») и не выполняет ступенчатую интерполяцию для промежуточных значений ПТМ.

Решения вроде lkm-1.ru/kalkulator-kraski-km1 позволяют выбрать предел огнестойкости и оценить расход вспучивающихся эмалей, но не учитывают технологические потери 30%, не имеют базы сортаментов с готовыми удельными площадями и не формируют детализированных отчётов. Калькуляторы, ориентированные на зарубежные нормы (EN/DIN), используют формулы без привязки к российским ГОСТ и не подходят для расчёта комбинированных конструкций.

Общими недостатками существующих решений являются:

· отсутствие базы данных производителей с возможностью выбора конкретной марки и автоматического подбора толщины по ПТМ;
· ручной ввод параметров без автоподстановки из справочников сортамента;
· игнорирование коэффициента технологических потерь (k=1,3), что ведёт к ошибкам в итоговой потребности;
· отсутствие функции экспорта результатов и визуализации зависимости «ПТМ — толщина».

Эти ограничения приводят к ошибкам 10–20% при расчёте сложных объектов и подтверждают необходимость разработки специализированного приложения для ООО «Спецзащита».

1.5. Проблемы точного расчёта расхода при нестандартных значениях приведённой толщины металла

Основная проблема при расчёте расхода возникает для элементов, чья приведённая толщина металла (ПТМ) находится между узловыми значениями таблиц производителя или выходит за их пределы. Например, для стального круга диаметром 12 мм (ПТМ ≈ 3,0 мм) значение толщины покрытия, полученное методом линейной интерполяции, составляет около 1,92 мм, что точнее, чем выбор ближайшего большего табличного значения (3,4 мм → 1,2 мм для эмали «Нольодин»). Ручное выполнение таких расчётов для каждого элемента приводит к ошибкам до 15% и недопустимо при проектировании крупных объектов.

Дополнительные сложности вносит значительный разброс удельных площадей поверхности (S/т от 5,1 м²/т для толстых листов до 52 м²/т для лёгких уголков), необходимость учёта поправочного коэффициента на шероховатость и технологических потерь (k=1,3). Отсутствие автоматизированного инструмента, объединяющего таблицы материалов, сортамент и алгоритмы интерполяции, приводит к систематическому перерасходу материалов на 20–25% на ответственных объектах с высокими пределами огнестойкости (R90 и выше).

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

1.6. Требования предприятий к автоматизации расчётов расхода материалов

Производственные предприятия, такие как ООО «Спецзащита», выдвигают строгие требования к программному обеспечению:

· полная база данных огнезащитных материалов («Тексотерм-К» ρ=0,9 кг/10 мм, «Нольодин» ρ=1,6 кг/мм и др.) с возможностью расширения;
· встроенная ступенчатая интерполяция по ПТМ и R из таблиц производителей (с опциональной линейной интерполяцией для уточнённых расчётов);
· автоматизированный расчёт площади поверхности S_общ по обогреваемому периметру элемента с учётом сортамента, а также по массе через удельную площадь 1 т профиля;
· учёт коэффициента технологических потерь (k=1,3) и других корректирующих факторов;
· формирование детализированных отчётов и экспорт результатов в PDF/Excel;
· высокая скорость обработки (не более 1 секунды на 1000 элементов);
· соответствие методик расчёта требованиям ГОСТ Р 53295-2009 и СП 2.13130;
· интуитивный оконный интерфейс (WPF) с визуализацией зависимости расхода от ПТМ и R.

Выполнение этих требований позволит сократить перерасход материалов на 20–25% и исключить ошибки ручного счёта.

1.7. Постановка задачи разработки программного калькулятора для ООО «Спецзащита»

На основании анализа предметной области и существующих решений сформулирована цель разработки: создать WPF-приложение на языке C#, автоматизирующее расчёт расхода огнезащитных покрытий для стальных конструкций.

Приложение должно обеспечивать:

· ведение справочников огнезащитных материалов (с таблицами зависимости толщины покрытия от ПТМ и предела огнестойкости R) и сортаментов (с геометрическими параметрами сечений);
· расчёт приведённой толщины металла (ПТМ) для выбранного профиля с учётом схемы обогрева;
· автоматический подбор толщины покрытия методом ступенчатой интерполяции (по ближайшему большему табличному значению ПТМ) с опциональным уточнением методом линейной интерполяции;
· расчёт теоретического и практического (с учётом коэффициента потерь k=1,3) расхода материала на 1 м² и на весь элемент;
· вычисление общей площади поверхности по обогреваемому периметру элемента и количеству;
· формирование итоговой ведомости расхода материалов с возможностью экспорта в PDF/Excel.

Входными данными являются: тип профиля (сортамент), марка огнезащитного материала, требуемый предел огнестойкости R, количество и схема обогрева. Выходные данные: толщина покрытия, расход на 1 м², общая площадь обработки и общий расход материала.

В основе алгоритмической части лежат методики и данные, реализованные в файлах-прототипах («Шаблон расчет ТСС.xlsx», «Таблица ТСС НОЛЬОДИН...xls», «интерполяция (1).xlsx»). Программа должна воспроизводить их логику, исключая ручной ввод и поиск по таблицам.

Интерфейс должен быть реализован в среде WPF (.NET, C#) и обеспечивать интуитивно понятный ввод данных, просмотр результатов и экспорт отчётности.

---

2. ПРОЕКТИРОВАНИЕ КАЛЬКУЛЯТОРА РАСХОДА КРАСКИ

2.1. Формирование требований

На основе анализа предметной области (глава 1) и файлов-прототипов («Шаблон расчет ТСС.xlsx» и др.) был сформирован перечень функциональных и нефункциональных требований к программному калькулятору.

Функциональные требования:

· Ввод исходных данных: код профиля (сортамент), масса (т) или длина (м), количество, марка огнезащитного материала, требуемый предел огнестойкости R и схема обогрева (справа/слева/сверху/снизу), а также корректирующие параметры (метод нанесения, шероховатость).
· Справочник сортаментов: должен содержать полное наименование, ГОСТ, площадь сечения (см²) и периметры сторон (мм) для расчета ПТМ.
· Справочник материалов: должен включать марку, ТУ, удельный расход на 1 мм (кг/м²) и полную таблицу зависимости толщины покрытия от ПТМ для каждого предела огнестойкости R.
· Расчёт ПТМ: автоматическое вычисление приведенной толщины металла по формуле ПТМ = S_сеч / P_обогр, где P_обогр вычисляется как сумма сторон с активным признаком обогрева.
· Подбор толщины покрытия (h): реализация двух алгоритмов: 1) ступенчатый (основной) — поиск ближайшего большего значения ПТМ в таблице и выбор соответствующей толщины; 2) линейная интерполяция (уточнённый) — расчёт h по формуле h_int = h1 + (h2 - h1) × (ПТМ - ПТМ1) / (ПТМ2 - ПТМ1) для промежуточных значений.
· Расчёт расхода: теоретический q_теор = h × R_уд и практический q_практ = q_теор × k, где k — коэффициент технологических потерь (по умолчанию 1.3).
· Итоговые вычисления: расчёт общей площади обработки (S_общ = P_обогр × Длина × Кол-во) и общей потребности материала (Q_общ = q_практ × S_общ).
· Экспорт: формирование итоговой ведомости и отчётов в формате PDF и Excel (XLSX).

Нефункциональные требования:

· Интерфейс — WPF (.NET, C#), архитектура MVVM.
· Хранение данных — локальная база данных SQLite.
· Производительность: расчёт для 1000 элементов ≤ 1 секунды.
· Надёжность: валидация входных данных и соответствие методик расчёта ГОСТ Р 53295-2009 и СП 2.13130.

2.2. Разработка математической модели расчёта расхода

Математическая модель калькулятора повторяет логику, заложенную в Excel-файлах, и состоит из следующих этапов:

Этап 1. Расчёт приведённой толщины металла (ПТМ):
ПТМ = S_сеч / P_обогр, где S_сеч — площадь сечения профиля из справочника сортаментов, P_обогр — обогреваемый периметр, вычисляемый как сумма длин сторон, для которых задан признак обогрева (1 — обогревается, 0 — нет).

Этап 2. Подбор толщины покрытия h:
Используется таблица материала. Для входного значения ptm и заданного R ищется ближайшее большее значение ПТМ_i и соответствующее ему h_i. Для опциональной линейной интерполяции толщина вычисляется между двумя соседними точками (ПТМ1, h1) и (ПТМ2, h2).

Этап 3. Расчёт расхода на 1 м²:

· q_теор = h_выбранная × R_удельный
· q_практ = q_теор × k_total
  где k_total — итоговый корректирующий коэффициент, который рассчитывается как произведение базового коэффициента потерь и дополнительных факторов: k_total = k_tech_losses × k_surface × k_tool × k_env. Значения по умолчанию: k_tech_losses = 1.3, k_surface (шероховатость/оцинковка) — до 1.15, k_tool (инструмент) — 1.0 до 1.4, k_env (среда) — до 1.1.

Этап 4. Расчёт полной потребности:

· S_общ = P_обогр (м) × Длина (м) × Количество
· Q_общ = q_практ × S_общ

Обработка крайних случаев:
Если ПТМ меньше минимального табличного — используется минимальная толщина. Если больше максимального — максимальная толщина. Оба случая помечаются предупреждением.

2.3. Проектирование архитектуры приложения

Приложение спроектировано по шаблону MVVM (Model-View-ViewModel), что является стандартом для WPF и обеспечивает разделение логики и интерфейса.

Архитектура состоит из следующих слоёв и модулей:

· Presentation (WPF, MVVM): View (XAML) — главное окно с панелью ввода данных, таблицей результатов (DataGrid) и итоговой панелью. ViewModel — обеспечивает связь View с бизнес-логикой через команды (ICommand) и свойства с уведомлениями (INotifyPropertyChanged).
· Business Logic (Core): CalculatorService — центральный модуль, реализующий математическую модель (расчёт ПТМ, подбор h, расчёт расхода). ValidationService — проверка входных данных и соответствия нормам (например, ограничения по слою для тонкослойных красок).
· Data Access: Repository — доступ к базе данных SQLite (через Entity Framework Core или Dapper) для чтения справочников и сохранения проектов.
· Services: ExportService — генерация отчётов в PDF и Excel. ImportService — загрузка и парсинг таблиц материалов и сортаментов из Excel/CSV файлов.

Взаимодействие: пользователь вводит данные во View → ViewModel вызывает CalculatorService → Сервис через Repository получает данные из БД, выполняет расчёт и возвращает результат во ViewModel → ViewModel обновляет свойства, и View отображает их.

2.4. Проектирование базы данных

Для хранения данных спроектирована реляционная база данных SQLite. Основные таблицы:

· Materials: Id, Name, FullName, GOST_TU, SpecificConsumption (удельный расход на 1 мм, кг/м²).
· ThicknessTable: Id, MaterialId, PTM (мм), R45, R60, R90, R120, R150 (толщины для каждого предела).
· Profiles: Id, Code, FullName, GOST, SectionArea (см²), PerimeterR, PerimeterL, PerimeterU, PerimeterD (мм).
· Coefficients: Id, Type (Surface, Tool, Loss), Name, Value.
· Projects и Elements: хранение истории расчётов. Elements содержит ProjectId, ProfileId, MaterialId, Quantity, CalculatedPTM, SelectedThickness, ConsumptionPerM2, TotalArea, TotalConsumption и др.

Схема БД обеспечивает целостность данных через внешние ключи и позволяет расширять номенклатуру материалов и сортаментов без изменения структуры.

2.5. Разработка интерфейса ввода данных и отображения результатов

Главное окно приложения состоит из трех логических зон:

1. Панель ввода данных:
   · Выпадающие списки для выбора профиля и материала.
   · Поля для длины, количества, флажки схемы обогрева.
   · Выбор предела огнестойкости R.
   · Группа настроек коэффициентов (метод нанесения, состояние поверхности).
   · Кнопка «Рассчитать» для добавления элемента в таблицу.
2. Таблица результатов: DataGrid с перечнем рассчитанных элементов: профиль, материал, ПТМ, выбранная толщина, расход на м², площадь, общий расход. Итоговая строка суммирует площади и расход.
3. Панель управления: кнопки «Экспорт в PDF», «Экспорт в Excel», «Очистить таблицу».

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

2.6. Проектирование механизма формирования отчётов и сохранения расчётов

Экспорт в PDF:

· Используется библиотека PdfSharp.
· Отчёт включает: титул (название объекта, дата), таблицу с детализацией расчётов, итоговые суммы, сноски с параметрами расчёта и использованными коэффициентами.

Экспорт в Excel:

· Используется библиотека ClosedXML.
· Формируется книга с листами «Исходные данные», «Расчёт» и «Сводка», что позволяет заказчику использовать отчёт в сметных программах.

Сохранение и история:

· Текущий набор элементов автоматически сохраняется в таблицу Projects и связную таблицу Elements при экспорте или по команде пользователя.
· Реализован журнал расчётов с возможностью просмотра и повторной загрузки прошлых проектов.