PrusaSlicer - это слайсер, то есть программа, которая берёт 3D модель в виде сетки из обычных треугольников и конвертирует её в специальную программу управления трёхмерным принтером. Например в виде G-кода для FFF принтеров, в котором содержатся детальные инструкции о том, как нужно двигать печатающую головку (экструдер) в пространстве и сколько горячего пластика через неё выдавливать в конкретный момент времени. Кроме G-кода в этой версии добавили и генерацию слоёв растровых изображений для фотополимерных mSLA принтеров. Исходные 3D модели могут быть загружены из файлов форматов STL, OBJ или AMF.
Хотя PrusaSlicer разрабатывался с прицелом на опенсорсные принтеры Prusa, он может создавать G-код, совместимый с любым современным принтером на основе наработок RepRap, включая все с прошивками Marlin, Prusa (форк Marlin), Sprinter и Repetier. Также есть возможность генерации G-кода, поддерживаемого контроллерами Mach3, LinuxCNC и Machinekit.
PrusaSlicer является форком Slic3r, который в свою очередь был разработан Alessandro Ranelucci и сообществом RepRap. До версии 1.41 включительно, проект разрабатывался под названием Slic3r Prusa Edition, он же - Slic3r PE. Форк унаследовал своеобразный и не очень удобный пользовательский интерфейс оригинального Slic3r, так что разработчики из Prusa Research в какой-то момент сделали отдельный упрощённый интерфейс для Slic3r PE - PrusaControl. Но в дальнейшем, при разработке Slic3r PE 1.42, было решено полностью переделать оригинальный интерфейс, влив часть наработок PrusaControl и прекратив разработку последнего. Серьёзная переработка интерфейса и добавление большого количества новых возможностей стали основанием для переименования проекта.
Одной из отличительных особенностей PrusaSlicer (как и Slic3r) является наличие большого количество настроек, дающих пользователю контроль над процессом слайсинга.
PrusaSlicer написан в основном на C++, распространяется под лицензией AGPLv3 и работает на Linux, macOS и Windows.
Основные изменения относительно Slic3r PE 1.41.0
Видеообзор интерфейса и возможностей этой версии: https://www.youtube.com/watch?v=bzf20FxsN2Q.
- Интерфейс
- Теперь интерфейс нормально отображается на мониторах с HiDPI.
- Значительно улучшены возможности по манипуляции трёхмерными объектами:
- Теперь поддерживается перенос, вращение, масштабирование и отзеркаливание по всем трём осям и неравномерное масштабирование при помощи трёхмерных элементов управления прямо в окне 3D просмотра. Эти же элементы можно выбирать с клавиатуры:
m
- перенос,r
- вращение,s
- масштабирование,Esc
- выход из режима редактирования. - Теперь можно выделить несколько объектов, зажав
Ctrl
.Ctrl-A
выделяет все объекты. - При переносе, вращении и масштабировании можно задавать точные значения в панели под списком объектов. Когда соответствующее текстовое поле в фокусе, в окне 3D предпросмотра рисуются стрелки, показывающие что и в каком направлении изменяет данное число.
- Теперь поддерживается перенос, вращение, масштабирование и отзеркаливание по всем трём осям и неравномерное масштабирование при помощи трёхмерных элементов управления прямо в окне 3D просмотра. Эти же элементы можно выбирать с клавиатуры:
- Переделана работа с Project (ранее называлось Factory File). В файле проекта сохраняются все модели, настройки и модификаторы, необходимые для того, чтобы можно было получить точно такой же G-код на другом компьютере.
- Все настройки выделены в три разные категории: Simple, Advanced и Expert. По умолчанию показываются только настройки категории Simple, что сильно упрощает жизнь начинающим пользователям. Режимы Advanced и Expert можно легко включить при необходимости. Настройки разных категорий показываются разным цветом.
- Многие полезные возможности Slic3r теперь выведены на основную вкладку (Plater).
- Оценочная продолжительность печати теперь показывается сразу после выполнения действия «Slice» без необходимости экспорта G-кода.
- Многие действия теперь выполняются в фоновом режиме и не блокируют интерфейс. Например, отправка в OctoPrint.
- В списке объектов теперь показывается иерархия объектов, параметры объекта, объёмы объекта и модификаторы. Все параметры показываются или прямо в списке объектов (по нажатию правой кнопкой по иконке справа от названия) или в контекстной панели под списком.
- Модели с проблемами (зазоры между треугольниками, пересекающиеся треугольники) теперь отмечаются восклицательным знаком в списке объектов.
- Поддержка опций командной строки теперь основана на коде из Slic3r. Формат такой же, как у апстрима, с некоторыми изменениями:
--help-fff
и--help-sla
вместо--help-options
- у
--loglevel
есть дополительный параметр для настройки важности (severity) выводимых сообщений --export-sla
вместо--export-sla-svg
или--export-svg
- не поддерживаются:
--cut-grid
,--cut-x
,--cut-y
,--autosave
- Возможности трёхмерной печати
- Поддержка цветной печати при помощи модуля (аппаратного) автоматической смены филамента.
- Поддержка mSLA (стереолитография с помощью маски) и принтера Prusa SL1, использующего эту технологию. Может показаться, что поддержка mSLA проще, чем FFF, ведь для mSLA достаточно просто отрисовать двухмерные изображения для каждого слоя, но на самом деле это не совсем так. Проблема в том, что технология требует добавления поддерживающих конструкций правильной формы для более-менее сложных моделей. При печати с неправильными поддержками может получиться так, что часть печатаемого объекта останется на печатающей матрице и испортит все последующие слои.
- Добавлена поддержка плагина Cancelobject для OctoPrint. Это позволяет отменять печать отдельных объектов не прерывая печать остальных.
- Возможность добавления собственных и удаления автоматически сгенерированных поддержек при помощи модификаторов.
- Внутренние изменения
- Весь основной код переписан на C++. Теперь для работы не нужен Perl.
- Отказ от перла в движке слайсинга позволил доделать поддержку слайсинга в фоновом режиме с возможностью отмены в любой момент.
- Благодаря переработанной системе синхронизации фронтэнда с движком, небольшие изменения теперь инвалидируют не объекты целиком, а только те части, которые требуют перерасчёта.
- Теперь требуется OpenGL версии 2.0 или выше. Переход на новую версию помог упростить код и улучшить производительность на современном железе.
- Удалённые возможности
- Поддержка печати через последовательный порт прямо из программы. Разработчики ещё не решили, будут они возвращать эту возможность в будущих версиях или нет. (от автора новости: не понимаю зачем эта фича, когда есть OctoPrint, реализующий веб-интерфейс и HTTP API для принтеров, подключаемых последовательным портом)
- Предпросмотр 2D toolpath не реализован в новом интерфейсе. Его скорее всего вернут в одной из последующих версий. Временное решение: направить камеру 3D предпросмотра сверху вниз нажатием клавиши
1
и выбрать нужный слой.
- Всё ещё не реализованные возможности =)
- Отмена (Undo) и повтор (Redo) действий до сих пор отсутствуют.
Подробный список изменений
Описание всех изменений можно найти по этим ссылкам: 1.42.0-alpha1, 1.42.0-alpha2, 1.42.0-alpha3, 1.42.0-alpha4, 1.42.0-alpha5, 1.42.0-alpha7, 1.42.0-beta, 1.42.0-beta1, 1.42.0-beta2, 2.0.0-rc, 2.0.0-rc1, 2.0.0.