Технологии Java EE для организации 3D печати

При разработке специализированного программного обеспечения для работы кластера 3D принтеров особое внимание было уделено архитектуре, которая позволяла бы работать большому количеству 3D принтеров  с минимальным количеством операторов и минимальными затратами ручного труда.

В качестве «ядра» системы был выбран Java EE сервер приложений JBoss в версии WildFly 8.2, соответствующий стандарту Java EE 7. В качестве СУБД используется PostgreSQL.

Основные функции, которые реализует сервер приложений:

  1. Импорт заказов на изготовление из внешнего источника (например Интернет-магазина)
  2. Автоматическое определение STL файлов для печати по данным из заказа, в том числе по наборам
  3. Формирование и управление очередью печати с учетом различных факторов, — приоритет заказа, приоритет конкретной задачи для печати, свойств 3D принтера
  4. Хранение статуса и временных моментов по всем этапам 3D печати каждого изделия, — получение задания принтером, прогрев, печать, повтор, завершение, а также прочей информации, — название изделия, цена, файл и т.д
  5. Обработка запроса от 3D принтера на получение нового задания и изменение статуса существующего задания
  6. Генерация недостающих GCode файлов по конкретный 3D принтер «на лету», при обработке запроса от 3D принтера
  7. Ведение справочника всех используемых 3D принтеров с возможностью настройки под каждый отдельный 3D принтер или под группу
  8. Обработка запросов от десктопного Java-приложения для контроля и управление очередью печати, изменения приоритетов заказов и отдельных задач,  изменения настроек принтеров, импорт заказов, фильтрация по разным критериям отображаемой очереди печати

Еще три важных компонента архитектуры это:

  • приложения под Android-планшет, который подключен к 3D принтеру и осуществляет управление и передачу GCode команд 3D принтеру. По сути, это приложение является посредником между сервером приложений и 3D принтером, но с возможностью передачи 3D принтеру некоторых ручных команд.
  • Десктопное Java-приложение для управление очередью печати, мониторинга, изменения настроек  и т.д.
  • Механизм отчетов на базе JasperReports Server, который позволяет строить и просматривать различные отчеты для анализа работы кластера 3D принтеров через Web интерфейс.

Опыт использования данной архитектуры около 2-х лет. Для управления кластером с множеством 3D принтеров достаточно одного низко квалифицированного работника, работа которого, в основном, заключается в снятии готового изделия с платформы 3D принтера и нажатии кнопки «Получить задание» на планшете. Работник более высокой квалификации способен контролировать работу кластера и выполнять мелкий ремонт 3D принтеров. Рабочее место другого сотрудника, оператора очереди 3D печати (на компьютере), совмещается с функциями оператора склада или производства, который работает с заказами.

Все компоненты архитектуры, кроме, Android приложения, могут быть запущены под разные программно-аппаратные платформы, — OS X, Windows, Linux и т.д. На данный момент, для проекта Lubimova.com, сервер приложений и отчетов успешно работают под ОС Ubuntu Linux, а в качестве рабочих станций используются ПК под Windows, Linux и Mac OS.

Coffee cup and beans letterbox

Вы должны быть авторизованы, чтобы оставить комментарий.