Fence Master — приложение, предназначенное для расчёта характеристик комплектов различных типов металлических ограждений в компаниях по изготовлению ритуальных изделий.
Программа создаётся в помощь сотрудникам для определения размеров и количества заготовок будущей ограды, для нахождения оптимального количества опорных столбов и оптимального размера секций, а также для предоставления информации клиенту, такой как эскиз, примерная 3D-модель и итоговая стоимость ограды.
Поскольку подобная продукция является специфической, то средств для расчёта её характеристик на просторах сети Интернет найдено не было. Большое количество калькуляторов в интернете рассчитано на заборы из профлиста — более широкую продукцию, которая, например, многим нужна на дачи.
Ограждение Профи — один из немногих похожих аналогов, хотя специализируется также на бытовых комплектах. Приложение является платным, распространяемым и более универсальным. Если присмотреться, то аналог и наше приложение диаметрально противоположны (совпадения названий — случайны). Fence Master создавался для одной компании, поэтому он точно будет иметь весь необходимый функционал и интуитивно понятный и удобный интерфейс без лишних элементов, который ускорит работу сотрудников, сделает расчёты безопасными (без возможности ошибки) и компактными.
Изменяющиеся данные (длина, ширина и высота ограды, расположение калитки и т. д.) программа будет получать от пользователя, посредством нажатия на кнопки или ввода информации в специальные поля. Константные данные (стоимость погонного метра определённого типа ограды, примерный вид ограды в 3D) будут получены из баз данных. После нажатия на кнопку «Рассчитать» будет выведен чертёж, количество необходимого материала, а именно количество профилей для секций, для калитки, количество столбов, количество болтов и итоговая стоимость работы.
Для создания приложения используется библиотека SDL2 и её подразделы SDL2_image для работы с графическими файлами, отличными от.bmp, SDL2_ttf для работы со шрифтами и SDL2_mixer, позволяющий добавить в программу звуковые эффекты (например, оповещение о неправильном заполнении полей для ввода). Сама разработка ведётся на языке C++. Графический дизайн (рабочее поле и кнопки) был разработан в Adobe Photoshop CC. Была написана специальная перегруженная для числовых и текстовых значений функция void Key(), которая позволяет вводить значений любые числа или текст, благодаря обработке нажатия клавиш. Функция void Action() добавляет в программу динамику, реагируя действия пользователя калькулятора.
Основная нагрузка была направлена на оперативную память. Загружая все необходимые элементы при запуске, с процессора снимается нужда каждый раз подгружать графические файлы и конвертировать их в текстуры, а поскольку подгружаемых константных элементов относительно немного, для такого красивого и полезного программного обеспечения подойдёт и слабый компьютер.
Интерфейс приложения преимущественно кнопочный, дабы упросить и ускорить работу в нём. Система контроля за вводимыми значениями позволит избежать сбоев и непредвиденных исключений в работе программы. Также программа предупредит пользователя, если вдруг размер ограды будет больше грузового отсека машины.
Сейчас первую версию приложения можно считать рабочей. Первоначальное тестирование прошло проверку на реальных заказах, которые абсолютное большинство брянских компаний рассчитывает с помощью ручки, бумажки и арифметического калькулятора. Сейчас же клиент сможет увидеть точный эскиз в масштабе, а предприятия смогут оперативнее обмениваться заказами. Вот пример интерфейса и расчёта двух металлических оград:
По окончательному завершении разработки, тестирования и написания технической документации, приложение будет внедрено в производство.
В дальнейшем планируется увеличить функционал программного обеспечение, связав его с базами данных типов оград, добавив возможность добавлять и удалять ограды из баз и, для удобства пользователя, сделать вывод итоговых расчётов в файл и отправку их сразу на печать. Подобное увеличение функционала позволит распространить приложение за пределы одного предприятия.
В следующей версии будет добавлена возможности показать клиенту сразу все ограды, если вдруг он не может решить, что лучше. Подобного себе точно не могли позволить производители с бумажкой и ручкой.
Будет добавлен расчёт элементов рисунка, что избавит сварщиков от нужды импровизировать в работе.
Горячие клавиши для переключения между полями, сброса значений и прочего повысят производительность и удобство расчёта, освобождая пользователя от лишних движений руки.
Существует возможность добавлять различные модули. Например, расчёт необходимого материала для крестов, скамеек, столов и пр. Добавить учёт, в том числе и бухгалтерский. Границы возможностей определяются желаниями заказчика. В далёком, но обозримом будущем, программа сможет даже выйти за пределы ритуальной сферы, сосредоточившись на всех кованных изделиях и не только.
Литература:
- Официальный сайт библиотеки SDL. Режим доступа: http://www.libsdl.org/
- Официальный сайт документации для библиотеки SDL. Режим доступа: http://wiki.libsdl.org/FrontPage
- Васильев В. С. Урок 2. Загружаем и отображаем картинки. //Блог программиста. — 05.10.2016. — Режим доступа: https://pro-prof.com/forums/topic/sdl-lesson2
- Коптенок, Е. В. Применение графической библиотеки SDL2.0 для программирования компьютерных игр на языке СИ // Молодой ученый. — 2017. — № 46 (180). — С. 30–33. — Режим доступа: https://moluch.ru/archive/180/46408/
- Pazera, E. Focus on SDL / Ernest Pazera. — Course Technology PTR, 2002. — 324 с.