Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LXXIV Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 11 февраля 2019 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Табунникова Н.Р. РАЗРАБОТКА ПРИЛОЖЕНИЯ ДЛЯ ПОСЛОЙНОЙ ПЕЧАТИ 3D ПРИНТЕРОМ В GCODE С ФУНКЦИЕЙ ПРЕДПРОСМОТРА // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LXXIV междунар. студ. науч.-практ. конф. № 2(73). URL: https://sibac.info/archive/technic/2(73).pdf (дата обращения: 19.04.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
Диплом Выбор редакционной коллегии

РАЗРАБОТКА ПРИЛОЖЕНИЯ ДЛЯ ПОСЛОЙНОЙ ПЕЧАТИ 3D ПРИНТЕРОМ В GCODE С ФУНКЦИЕЙ ПРЕДПРОСМОТРА

Табунникова Надежда Романовна

студент, кафедра МОЭВМ, СПБГЭТУ «ЛЭТИ»,

РФ, г. Санкт-Петербург

Герасимова Тамара Владимировна

научный руководитель,

старший преподаватель, кафедра МОЭВМ, СПБГЭТУ «ЛЭТИ»,

РФ, г. Санкт-Петербург

Аннотация. Рассматриваются вопросы разработки специальных программ для 3D печати - перспективной области развития промышленности. Для работы с 3D печатью необходимы программы, обрабатывающие модель перед печатью на 3D принтере, обеспечивая предпечатную подготовку модели, от которой в конечном итоге зависит качество 3D печати. В предлагаемой работе рассмотрены существующие алгоритмы подготовки модели к печати и проанализированы в качестве аналогов существующие на рынке программы - слайсеры. В результате проведенного анализа были выбраны основные технологии и алгоритмы для написания собственной программы - слайсера, а также минимально необходимая функциональность для конкурентоспособности полученной программы. Также в статье были сделаны выводы о возможном направлении развития программ-слайсеров и отдельных алгоритмов их работы.

Ключевые слова: 3D печать, 3D принтер, FDM, слайсер, gcode, stl модель, предпечатная подготовка.

 

Введение

На данном этапе развития 3D печать является перспективной сферой развития промышленности и только начинает использоваться повсеместно, хотя сам принцип работы был сформулирован ещё в 1986 году. В основу 3D печати положен принцип послойного создания модели, и наиболее распространёнными сейчас являются FDM 3D принтеры, основанные на печати термопластиком. Для правильной их работы необходима предпечатная подготовка модели, заключающаяся в нарезке модели на слои и отдельные линии, при необходимости добавлении поддержек. Такую подготовку выполняют программы - слайсеры. Целью данной статьи являются выводы о том, каким функционалом должна обладать программа, которая будет разработана в рамках дипломной работы, а также предположения о возможном развитии полученной программы.

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

  • Описание основных этапов подготовки модели к печати и их особенностей
  • Сравнительный анализ уже существующих приложений
  • Выбор используемых технологий

Обзор предметной области

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

3D - принтер может печатать модели с нависающими гранями. Угол возможного наклона определяется для каждого вида пластика отдельно путем печати тестов, так, для PLA пластика он равен 60 градусам. Если угол наклона превышает допустимый, требуется генерация поддержек. Существуют разные шаблоны генерации поддержек, например линейные и древовидные поддержки. Древовидные поддержки позволяют сократить количество используемого для поддержек пластика, линейные поддержки реализованы в большинстве слайсеров.

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

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

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

Принцип отбора аналогов

В качестве аналогов создаваемого приложения были рассмотрены современные программы-слайсеры для FDM 3D принтеров, совместимые с большинством существующих FDM 3D принтеров. Также была рассмотрена потенциальная программа-конкурент от отечественного производителя, слайсер для FDM 3D принтеров которого только находится в разработке.

Simplify3D [1]

Simplify3D - специальная программа, предназначенная для подготовки моделей к 3D-печати на принтерах типа FDM. Создана в Германии компанией «РэпРап», стала инновационным компактным и полноценным инструментом, способным совмещать функции сразу нескольких программ в одном продукте. Simplify3D стала достойной заменой программ «Репетир-Хост», «Слик3р». С ее помощью можно производить импорт файлов, масштабирование моделей, исправление, восстановление кодов и создание собственных G-кодов, а также осуществлять запуск печати. Имеет более ста готовых профилей для существующих моделей FDM 3D принтеров.

Основные характеристики:

  • Симуляция печати gcode в виде анимации вплоть до отдельных действий принтера. Разделение цветами отдельных структур модели (мост, периметр, заполнение и др.). Возможность визуального предпросмотра скорости печати через окрашивание модели по цветовой шкале.
  • Возможность напечатать другим материалом слои поддержек, которые соприкасаются с моделью.
  • Гибкость ручных настроек (задание переменной толщины слоя, температуры печати, интенсивности обдува и других параметров печатаемой модели.
  • Печать в несколько процессов.
  • Встроенные инструменты упрощения, исправления 3D моделей.
  • Возможность ручного создания и редактирования поддержек.
  • Поддерживает форматы файлов 3D моделей.STL и .OBJ.
  • Русификация при установке русификатора.
  • Сохранение полученного gcode на флешку или отправка в печать по USB.
  • При работе с принтером по USB можно настроить принтер и проверить его работу или скорректировать параметры печати.
  • Возможность писать скрипты для печати.
  • Отсутствие древовидных поддержек
  • Цена на момент написания статьи 11 500 рублей у официального поставщика в России
  • Автоматически поддержки не всегда генерируются верно.

Cura [2]

Cura - программа для подготовки моделей к 3D-печати, разработанная компанией Ultimaker для своих FDM 3D принтеров. Может быть настроена под другие 3D принтеры.

Основные характеристики:

  • В бесплатном доступе
  • Может создавать древовидные поддержки
  • Предпросмотр послойно, предпросмотр анимации печати.
  • Поддерживает несколько форматов файлов для загрузки
  • Раздельные настройки для каждого экструдера
  • Наличие большого количества плагинов для расширения функциональности слайсера (например, добавление совместимости с файлами программы Blender)
  • Наличие отсутствующих у конкурентов типов заполнения, например "гироид"
  • Русификация
  • Автоматические поддержки генерируются в основном без необходимости ручного редактирования.
  • Нет возможности передать модель на печать через USB.

ideaMaker [3]

ideaMaker - программа для подготовки модели к печати на 3D принтерах, разработанная компанией Raise3D. На момент написания статьи слайсер идёт вместе с принтерами компании Raise3D, может быть скачан отдельно и настроен под другие 3D принтеры.

Основные характеристики:

  • Предпросмотр печати послойно
  • Отображение скорости печати и типов структур на подготовленной к печати 3D модели
  • Встроенное исправление модели
  • В бесплатном доступе
  • Совмещение моделей
  • Нарезка моделей на части
  • Автоматическая генерация поддержек
  • Возможность вручную добавить поддержки
  • Русификация
  • Автоматически поддержки не всегда верно генерируются.
  • Нет древовидных поддержек

KISSlicer [4]

KISSlicer — слайсер, принимающий файлы в STL-формате и генерирующий G-код для 3D-принтера.

Основные характеристики:

  • Предпросмотр печати послойно
  • Отображение скорости печати и типов структур на подготовленной к печати 3D модели
  • Встроенное исправление модели
  • Есть платная и бесплатная версии. Платная версия поддерживает печать для нескольких экструдеров.
  • Совмещение моделей
  • Нарезка моделей на части
  • Автоматическая генерация поддержек
  • Русификация
  • Автоматически поддержки не всегда верно генерируются.
  • Интерфейс может быть не понятен для пользователя

Slic3r[5]

Slic3r - бесплатный слайсер с открытым исходным кодом для 3D-принтеров.

Основные характеристики:

  • Предпросмотр печати послойно и в 2D проекции
  • Отображение типов структур на подготовленной к печати 3D модели
  • Встроенное исправление модели
  • В бесплатном доступе
  • Открытый исходный код
  • Совмещение моделей
  • Нарезка моделей на части
  • Автоматическая генерация поддержек
  • Только английский язык
  • Автоматически поддержки не всегда верно генерируются.
  • Нет ручной настройки поддержек

Triangulatica [6]

Triangulatica - отечественное программное обеспечение для подготовки печатных столов, формирования стратегий 3D печати любыми материалами, калибровке 3D оборудования, нарезки рабочей сцены и 3D печати. Cлайсер подходит для всех технологий 3D печати: SLA Laser, SLS, SLM, FDM/FFF, DMD/LMD/DMT MJM, SLA DLP/LCD, Bio-printing. На данный момент находится в стадии бета-тестирования. На момент написания статьи ПО для работы с FDM 3D принтерами находится в стадии разработки, поэтому программа не рассматривается в таблице аналогов. Программа платная, но имеет множество вариантов оплаты.

Предполагаемые преимущества:

  • Поддержка всех технологий 3D печати
  • Математика на GPU компьютера

Предполагаемые недостатки:

  • Высокая цена, так как самая дешёвая версия с неограниченными нарезками стоит около 18 750 рублей.

Критерии сравнения аналогов:

Наличие загрузки 3D модели из форматов файла .obj или .stl

Данные форматы наиболее распространены.

Слайсинг загруженной модели

Основная функциональность подобных программ.

Сохранение gcode в файл

Основная функциональность подобных программ.

Наличие русификации

Переведена ли программа на русский язык. Критерий критичный при выборе программы пользователем, знающим только русский язык.

Добавление поддержек. Наличие корректной автоматической генерации обычных поддержек на одной и той же модели с одним и тем же углом наклона (60), наличие возможности вручную добавить поддержки.

Поддержки необходимы для печати сложных моделей и должны легко отделяться после печати.

Бесплатность программы.

Бесплатность программы имеет преимущество, так как позволяет уменьшить издержки.

Наличие предпросмотра печати.

Позволяет заранее обнаружить и отредактировать ошибки или дефекты печати, сэкономив деньги на пластике для печати.

Функции, отсутствующие у конкурентов.

Позволяют определить возможное развитие программы и удачные решения.

Релиз под Windows

Одна из наиболее распространённых операционных систем.

Релиз под Linux

Одна из наиболее распространённых операционных систем.

Релиз под Mac OS

Одна из наиболее распространённых операционных систем.

Таблица сравнения по критериям

Сравнение слайсеров Simplify3D, Cura, ideaMaker, KISSlicer и Slic3R произведено в таблице 1.

Таблица 1.

Сравнение программ-слайсеров.

 

Simplify3D

Cura

ideaMaker

KISSlicer

Slic3r

Загрузка моделей

Да

Да

Да

Да

Да

Сохранение gcode в файл

Да

Да

Да

Да

Да

Русификация

С русификатором

Да

Да

С русификатором

Английский

Поддержки

Обычные, автогенерация, ручное редактирование

Обычные, древовидные, возможность ручного редактирования при установке расширения

Обычные, автогенерация, ручное редактирование

Обычные, автогенерация

Нет ручной настройки поддержек

Платность

Около 11 000 рублей

Бесплатно

Бесплатно

Если платная и бесплатная версии

Бесплатно

Предпросмотр печати

Послойно, анимация отдельных команд

Послойно, анимация отдельных команд

Послойно, просмотр отдельных команд

Нет послойного просмотра, есть полинейный

Просмотр слоёв в 2D или 3D проекции

Функции, отсутствующие у конкурентов

Возможность написания скриптов, анимация печати, исправление модели, работа с принтером по USB

Анимация печати, древовидные поддержки, большое количество расширений

-

Несколько шаблонов линейных поддержек

Проекции модели в 2D, просмотр слоёв в 2D проекции, нарезка модели, экспорт слоёв в формат svg.

Релиз под Windows

Windows Vista или выше

Windows Vista или выше (64-разрядная)

Microsoft Windows XP или выше

Microsoft Windows XP

+

Релиз под Linux

Ubuntu, Debian, and Fedora-based

Linux Ubuntu 14.04, Fedora 23, OpenSuse 13.2, ArchLinux или выше (64-разрядная)

Ubuntu 14.04 или выше

+

+

Релиз под Mac OS

Mac OS X 10.7 или выше

Mac OS X 10.7 или выше (64-разрядная)

Mac OS X v10.7 или выше

10.11 или выше

+

 

Вывод по итогам сравнения

Все приложения - современные слайсеры, имеющие релизы под наиболее популярные операционные системы. Данные программы спорят за лидерство на рынке слайсеров, и зачастую введение и усовершенствование алгоритмов работы может спровоцировать переход части пользователей на более продвинутую программу.

Выбор метода решения

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

  • Загрузка 3-D модели из форматов STL и OBJ
  • Предпросмотр загруженной модели
  • Слайсинг модели
  • Добавление поддержек вручную или их автоматическая генерация
  • Задание настроек печати
  • Генерация Gcode и сохранение его в файл
  • Послойное отображение предпросмотра печати
  • Работа слайсера с одним экструдером

По тем же соображениям программа должна иметь релиз только для операционной системы Microsoft Windows (как наиболее распространенной на настольных компьютерах), а разработка будет выполняться на языке C# в среде Microsoft Visual Studio. При этом в качестве графической библиотеки будет использоваться OpenGL. Программа должна иметь проработанный и интуитивно понятный пользовательский интерфейс на русском языке.

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

Описание метода решения

В процессе разработки программы должны быть выполнены следующие задачи:

  • Анализ существующих алгоритмов слайсинга и генерации поддержек;
  • Анализ особенностей 3D печати и существующих материалов;
  • Разработка рабочего прототипа программы, в том числе: загрузка модели из формата STL и ее визуализация;
  • Разработка классов данных 3-D модели;
  • Разработка модулей загрузки/импорта 3-D модели из форматов STL и OBJ;
  • Реализация выбранного алгоритма слайсинга;
  • Реализация послойного отбражения модели;
  • Разработка модуля генерации gcode;
  • Разработка симуляции/визуализации процесса печати;
  • Разработка дистрибутива и документации.

Разработка должна выполняться итеративно с постепенным наращиванием функционала программы. Длительность итерации не должна превышать 2 недель. В процессе разработки должна вестись доска планирования. Обязательно наличие модульных и функциональных тестов. Для повышения скорости слайсинга сложных моделей должна использоваться многопоточность.

В процессе выбора метода решения были разработаны прототип приложения и основные use cases для проектировки интерфейса приложения.

Use cases

Таблица 1.

UC1 – загрузка модели в систему

Действующие лица

Пользователь, Система

Цель

Загрузить 3D модель в программу

Предусловие

Программа запущена.

1.Пользователь выбирает «Загрузить модель»

2.Система отображает окно выбора.

3.Пользователь выбирает одну или несколько моделей и подтверждает выбор.

4.Система проверяет формат выбранных файлов.

5.Система загружает и отображает модель(модели).

Результат

Модель(модели) загружена и отображается на экране

Расширения:

a

Файл модели содержит ошибки, не позволяющие выполнить загрузку.

Система выдаёт сообщение.

Результат: переход на UC1.

 

Таблица 2

UC2 – выставление настроек печати

Действующие лица

Пользователь, Система

Цель

Выставить настройки печати

Предусловие

Программа запущена.

1.Пользователь выбирает «Настройки печати»

2.Система отображает окно настроек.

3.Пользователь задаёт настройки печати.

4.Система после ввода проверяет настройки на корректность. Если некорректны, то переход на расширение а.

5.Пользователь подтверждает их.

6.Система принимает настройки.

Результат

Выставлены настройки печати

Расширения:

a

Пользователь ввёл некорректные настройки.

Система выводит сообщение и выделяет настройки, которые были выставлены неправильно.

Результат: переход на пункт 3 UC2.

а1

Пользователь передумал выставлять настройки.

Пользователь отменяет действия.

Система возвращается в экран приложения.

Результат: отмена выставления настроек.

 

Таблица 3

UC3 – слайсинг модели

Действующие лица

Пользователь, Система

Цель

Выполнить слайсинг модели

Предусловие

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

1.Пользователь выбирает «Подготовить к печати».

2.Система отображает статус подготовки печати и выполняет слайсинг модели. После завершения отображается предпросмотр.

3.Пользователь изучает полученный результат.

Результат

Модель подготовлена к печати

Расширение

а

Во время слайсинга в системе произошла ошибка.

Система выводит пользователю сообщение.

Результат: модель не подготовлена к печати.

 

Таблица 4

UC4 - сохранение gcode в файл

Действующие лица

Пользователь, Система

Цель

Сохранить gcode

Предусловие

Программа запущена, загружена модель, выставлены настройки, выполнен слайсинг модели.

1.Пользователь выбирает «Сохранить»

2.Система отображает окно сохранения.

3.Пользователь вводит имя файла и выбирает сохранить.

4.Система сохраняет файл.

Результат

Сохранён файл gcode

Расширения

а

Во время сохранения произошла ошибка.

Система сообщает об ошибке и предлагает сохранить ещё раз.

Результат: переход на UC4.

а1

Пользователь передумал сохранять gcode.

Пользователь отменяет диалог сохранения.

Система возвращается в экран приложения.

Результат: отмена сохранения gcode.

 

Таблица 5

UC5 – печать модели по USB.

Действующие лица

Пользователь, Система

Цель

Напечатать модель по USB

Предусловие

Программа запущена, загружена модель, выставлены настройки, выполнен слайсинг модели.

1.Пользователь выбирает «Печать по USB».

2.Система автоматически подключается к принтеру и начинает печать.

3.Если система не нашла подключенный принтер, она показывает сообщение об ошибке и предлагает сохранить файл.

Результат

Началась печать модели

Расширения

а

Произошла ошибка работы принтера.

Система выводит сообщение об ошибке.

Результат: модель не допечатана.

a1

Пользователь решил отменить или приостановить печать.

Пользователь указывает, что необходимо остановить печать.

Система останавливает печать.

Результат: печать остановлена.

 

Прототип приложения

Прототип приложения представляет собой программу, написанную на языке C# с использованием библиотеки OpenGL. Интерфейс программы можно увидеть на рисунке 1.

Нажав пункт меню «файл», можно загрузить в формате STL. Программа отображает число треугольников, из которых состоит модель.

Примеры загруженной модели можно увидеть на рисунке 2.

 

Рисунок 1. Интерфейс программы-прототипа

 

Рисунок 2. Пример загруженной модели

 

Сейчас в программе доступны функции поворота камеры, масштабирования, демонстрации каркаса модели. Угол поворота камеры задаётся в градусах по осям X и Z.

Пример каркаса модели можно увидеть на рисунке 3.

 

Рисунок 3. Демонстрация каркаса модели

 

Заключение

В данной статье были описаны этапы подготовки модели к печати на 3D принтере, а также произведён анализ программ - слайсеров и выбрана функциональность для разработки собственной программы. Были обозначены технологии для разработки программы и основные задачи разработки. Эта программа сможет быть использована для решения проблемы отсутствия отечественных программ для подготовки 3D моделей к печати на 3D принтере FDM конструкции.

 

Список литературы:

  1. Зубрилин А. В., Тагильцев М. В. ПРЕДПЕЧАТНАЯ ПОДГОТОВКА 3Б-МОДЕЛЕЙ С ИСПОЛЬЗОВАНИЕМ СПЕЦИАЛИЗИРОВАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ //Известия Тульского государственного университета. Технические науки. – 2017. – №. 9-1.
  2. Кадыров Ф. М. Программное обеспечение FDM 3D-принтеров //П 78 Проблемы и возможности современной науки. Сборник материалов. – 2015. – С. 84.
  3. Литунов С. Н., Слободенюк В. С., Мельников Д. В. Обзор и анализ аддитивных технологий. Часть 1 //Омский научный вестник. – 2016. – №. 1 (145).
  4. Малков В. В. Аддитивная модель создания 3D-объекта //Вестник Московского государственного университета печати. – 2016. – №. 1.
  5. Сайт продукта Simplify3D URL: https://www.simplify3d.com/ (Дата обращения 20.11.2018)
  6. Сайт продукта Ultimaker Cura URL: https://ultimaker.com/en/products/ultimaker-cura-software (Дата обращения 20.11.2018)
  7. Страница продукта ideaMaker URL: https://www.raise3d.com/pages/ideamaker (Дата обращения 20.11.2018)
  8. Страница продукта KISSlicer: https://kisslicer.com/ (Дата обращения 10.02.2019)
  9. Страница продукта Slic3R: https://slic3r.org/ (Дата обращения 10.02.2019)
  10. Страница продукта Triangulatica URL: https://triangulatica.com/ru/ (Дата обращения 20.11.2018)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
Диплом Выбор редакционной коллегии

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.