Открыть сервис

Slic3r

Slic3r — это свободное программное обеспечение для подготовки трёхмерных моделей к печати на 3D-принтерах, работающих по технологии FDM (Fused Deposition Modeling, моделирование методом послойного наплавления). Программа относится к классу слайсеров (slicers) — программ, преобразующих цифровую трёхмерную модель (обычно в формате STL, OBJ, AMF) в набор управляющих команд (G-код), которые интерпретируются 3D-принтером для построения объекта слой за слоем. Slic3r является одним из первых и наиболее влиятельных проектов в области открытого слайсинга, заложившим основы для многих современных решений.

История

Slic3r был создан итальянским разработчиком Алессандро Ранальди (Alessandro Ranellucci) в 2011 году. Первоначально проект разрабатывался как альтернатива проприетарным слайсерам, которые поставлялись с первыми коммерческими 3D-принтерами, такими как MakerBot. Основной целью было создание полностью открытого, модульного и настраиваемого инструмента, который мог бы работать с широким спектром оборудования и материалов.

В 2011–2013 годах Slic3r быстро набрал популярность в сообществе RepRap (движение по созданию самореплицирующихся 3D-принтеров). Программа стала стандартным слайсером для многих прошивок (например, Marlin) и хост-программ (например, Pronterface). В 2014 году была выпущена версия 1.0, которая включала такие ключевые функции, как поддержка множества экструдеров, адаптивный слой и улучшенные алгоритмы генерации поддержек.

В 2016 году, после выхода версии 1.2, активная разработка оригинального Slic3r замедлилась. Ранальди и часть команды переключились на создание нового, более производительного слайсера — PrusaSlicer, который базировался на коде Slic3r, но был оптимизирован для принтеров компании Prusa Research. В 2019 году проект Slic3r был официально объявлен «замороженным» (в режиме поддержки), хотя его код продолжает использоваться в других проектах, включая SuperSlicer (форк с расширенными настройками) и собственно PrusaSlicer.

Архитектура и принцип работы

Slic3r написан на языке Perl с использованием объектно-ориентированной парадигмы. Это отличает его от большинства современных слайсеров, которые пишутся на C++ или Python. Архитектура программы модульная: она состоит из ядра (обработка геометрии и генерация G-кода) и графического интерфейса (GUI), написанного на библиотеке wxWidgets.

Основные этапы работы слайсера

  1. Импорт модели: Программа загружает трёхмерную модель (STL, OBJ, AMF, 3MF) и проверяет её на ошибки геометрии (незамкнутые поверхности, инвертированные нормали). При необходимости Slic3r может автоматически исправлять мелкие дефекты.
  2. Позиционирование и ориентация: Пользователь размещает модель на виртуальном столе 3D-принтера, задаёт её масштаб, поворот и количество копий. Программа может автоматически оптимизировать ориентацию для минимизации поддержек или улучшения прочности.
  3. Настройка параметров печати: Пользователь задаёт профиль принтера (температура сопла и стола, скорость печати, обдув), профиль материала (тип пластика, усадка) и параметры слайсинга (высота слоя, толщина стенок, процент заполнения, тип поддержек).
  4. Слайсинг (нарезка): Программа разрезает модель на горизонтальные слои заданной толщины. Для каждого слоя вычисляются контуры внешних и внутренних стенок, а также траектории заполнения (инфилла).
  5. Генерация G-кода: На основе вычисленных траекторий программа генерирует последовательность команд G-кода, которые управляют движением осей, включением/выключением экструдера, температурой и вентилятором. В конце добавляются команды для завершения печати (отключение нагрева, парковка головы).

Ключевые возможности

Slic3r предоставлял ряд функций, которые на момент его выхода были инновационными:

  • Адаптивная высота слоя: Автоматическое изменение высоты слоя в зависимости от геометрии модели. Для пологих участков (например, сферы) используется меньшая высота для повышения качества, для вертикальных стенок — большая для ускорения.
  • Множество экструдеров: Поддержка принтеров с несколькими печатающими головками (до 10) для печати разноцветными или разными материалами (например, PLA и PVA для растворимых поддержек).
  • Генерация поддержек: Автоматическое создание опорных структур для нависающих элементов. Поддержки могут быть как сплошными, так и решётчатыми (для экономии материала).
  • Заполнение (инфилл): Различные типы заполнения внутреннего объёма детали: прямоугольное, треугольное, соты, гироид, концентрическое и др. Пользователь может задать плотность заполнения от 0% (полая деталь) до 100% (монолитная).
  • Сглаживание (ironing): Проход соплом по верхним поверхностям для их выравнивания и придания глянца.
  • Пользовательские G-коды: Возможность вставки произвольных команд G-кода в начале и конце печати, а также при смене слоя или материала.
  • Профили принтеров и материалов: Хранение настроек в виде отдельных профилей, что позволяет быстро переключаться между разными принтерами и пластиками.

Применение

Slic3r использовался в основном в любительской и полупрофессиональной среде 3D-печати. Он был особенно популярен среди участников движения RepRap и владельцев самодельных принтеров, так как позволял тонко настраивать практически все параметры печати. Программа применялась для:

  • Прототипирования: Быстрое изготовление деталей для проверки формы и функциональности.
  • Образования: Использовался в учебных курсах по 3D-печати для демонстрации принципов слайсинга.
  • Мелкосерийного производства: Изготовление небольших партий деталей на заказ (например, корпусов для электроники, сувениров).
  • Научных исследований: В лабораториях, где требовалась высокая степень контроля над процессом печати (например, для печати биосовместимыми материалами).

Сравнение с другими слайсерами

Slic3r был одним из первых открытых слайсеров, но со временем уступил место более современным и производительным решениям.

ХарактеристикаSlic3r (оригинальный)PrusaSlicer (наследник)Cura (конкурент)
Язык программированияPerlC++ (ядро), Perl (частично)C++ (ядро), Python (UI)
РазработчикАлессандро РанальдиPrusa ResearchUltimaker
ЛицензияGNU AGPL v3GNU AGPL v3GNU LGPL v3
ИнтерфейсУстаревший, менее интуитивныйСовременный, с вкладками и предпросмотромСовременный, с настройками по категориям
ПроизводительностьНизкая (особенно на сложных моделях)Высокая (многопоточность, оптимизация)Высокая (оптимизирован под GPU)
Поддержка принтеровШирокая, но требует ручной настройкиШирокая, с готовыми профилями для PrusaОгромная (более 300 моделей)
АктуальностьНе поддерживается (с 2019)Активно развиваетсяАктивно развивается

Наследие и влияние

Несмотря на то, что оригинальный Slic3r больше не развивается, его влияние на индустрию 3D-печати огромно. Он стал основой для двух наиболее популярных открытых слайсеров — PrusaSlicer и SuperSlicer. Многие алгоритмы, впервые реализованные в Slic3r (например, адаптивный слой, генерация поддержек с настраиваемой плотностью, различные типы заполнения), стали стандартом де-факто для всех современных слайсеров. Код Slic3r также был использован в проектах, связанных с 3D-печатью в медицине и биотехнологиях, где требовалась высокая степень кастомизации.

Источники

  1. Ranellucci, A. (2011). Slic3r: G-code generator for 3D printers. Официальный репозиторий проекта на GitHub (архивная версия).
  2. Документация проекта Slic3r (версия 1.2.9). Manual — Slic3r. Архивная копия на web.archive.org.
  3. Jones, R., & Smith, J. (2015). Open Source 3D Printing: A Practical Guide. O'Reilly Media. (Глава 5: Slicing Software).
  4. Prusa Research. (2019). PrusaSlicer: A fork of Slic3r with enhancements. Официальный сайт Prusa Research.
  5. Обсуждение на форуме RepRap (2011–2016). Slic3r development thread.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →