Где живёт превью
Когда принтер показывает маленькую картинку модели рядом с именем файла, эта картинка лежит внутри самого .gcode — записанная как последовательность комментариев в base64:
; thumbnail begin 220x124 12345
; iVBORw0KGgoAAAANSUhEUg…
; thumbnail end
Этот инструмент находит такие блоки, декодирует их, показывает все найденные и позволяет сохранить их по одному или все сразу в ZIP.
Какие подробности он показывает
Для каждого блока вы видите тип, заявленный в заголовке, формат, определённый по сигнатуре самих байтов, размер в пикселях, число символов base64 рядом с числом, которое записал слайсер, число декодированных байтов и строку исходника. Эта предпоследняя пара важна: число в заголовке ; thumbnail begin — это количество символов base64, а не размер после декодирования. Именно поэтому некоторые извлекатели сообщают о несоответствии размера на совершенно исправных файлах. Здесь такого нет.
Форматы
Блоки PNG и JPEG отдаются побайтово в том виде, в каком их записал слайсер. QOI — компактный формат, который используют свежие сборки PrusaSlicer и RepRapFirmware, потому что он быстро декодируется на микроконтроллере принтера, — декодируется здесь и перекодируется в PNG, поскольку ни один браузер не показывает его напрямую.
Что поддерживается
Блоки PrusaSlicer, SuperSlicer, OrcaSlicer и Bambu Studio, включая варианты _QOI, _JPG и _PNG, а также файлы Duet, которые открывают блок QOI, а закрывают простым ; thumbnail end.
Ultimaker Cura поддерживается только если применялся скрипт постобработки «Create Thumbnail». Собственное превью Cura лежит в пакете .ufp — это ZIP, где изображение является отдельной частью, — а не в .gcode.
Что не поддерживается
Двоичный контейнер .bgcode от PrusaSlicer распознаётся и называется по имени, а не портится: экспортируйте обычный текстовый G-code, чтобы прочитать превью. Проприетарные двоичные BMP-заголовки, которые добавляют некоторые машины FlashForge и Weedo, тоже не читаются.
Всё выполняется в браузере. Ни файл, ни изображения не покидают ваш компьютер.
Tiny Online Tools






