README.md

🖨️ Генератор STL по изображению для многоцветной 3D-печати

Скрипт преобразует изображение в набор STL-файлов, разделённых по цветам и слоям, для послойной FDM-печати с несколькими экструдерами или цветами.


📦 Что делает

  • Определяет до 3 преобладающих цветов
  • Создаёт:
    • Слой 0 — сплошная подложка (150×150 мм, 0.48 мм)
    • Слои 1+ — каждый слой содержит свой цвет + все менее распространённые
    • Промежуточные слои — для плавных переходов между цветами (опционально)
  • Каждый STL содержит только нужную геометрию слоя
  • Все STL объединяются в единый .3mf-файл для удобной печати

🛠 Установка

pip install -r requirements.txt

Или вручную:

pip install numpy opencv-python trimesh scikit-learn tk configparser

Для GUI может потребоваться установка:

sudo apt install python3-tk

🚀 Использование

  1. Поместите изображение (.png или .jpg) в любую папку.
  2. Запустите из терминала:
python3 img_print.py путь/к/изображению.png
  1. Для запуска графического интерфейса:
python3 gui.py

📂 Результат

В той же папке появится подкаталог __result, содержащий:

  • STL-файлы с подложкой и цветными слоями (*_layer.stl)
  • Маски-предпросмотры (*_preview.png)
  • Финальный .3mf-файл для загрузки в слайсер

Импортируйте все STL или .3mf в слайсер (например, Bambu Studio), объедините в один объект, назначьте цвет/экструдер для каждого слоя.


⚙️ Настройки по умолчанию

Параметр Значение Назначение
output_size_mm 150 Размер модели в мм по большей стороне (ширина или высота)
base_thickness_mm 0.48 Толщина базовой подложки, которая печатается первой
layer_thickness_mm 0.08 Толщина цветных слоёв, соответствующих сегментам изображения
shade_thickness_mm 0.08 Толщина дополнительных слоёв-затенений между цветами
max_colors 4 Максимальное количество выделяемых цветов изображения
target_resolution 1024 Размер изображения, к которому оно приводится перед анализом
smooth_kernel 3 Размер ядра для размытия масок (0 — без сглаживания)
shade_delta 100 Максимальное отличие цвета для попадания в зону тени
debug_mode false Только сохранять маски без генерации STL (для тестов)

Настройки можно изменить в файле config.ini или через графический интерфейс.

✅ Поддержка

Проект заточен под Bambu Lab A1 mini, но может работать и с другими принтерами. Ошибки, предложения и баг-репорты приветствуются!

Описание

Репозиторий чтоб превратить картинку в модели для печати несколькими цветами

Конвейеры
0 успешных
0 с ошибкой