Волоцкие Технологии: 3D Услуги

Технологии 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