/Разборы задач
31 октября 2026
Райтап на задачу «РоБОТы 2»
Разбираемся с TLS-отпечатками и обходим проверку браузера с помощью curl_cffi.5
20

Misc
Задача «1043 грамма PLA»
Для этой задачи не понадобится ничего, кроме приложенного файла, терминала и глаз.
Глянем-ка на название! Так, 1043 грамма… это про порошок, что ли? А нет, это просто пластик для печати. Узнаём это у великого Гугла:
Кстати, PLA — один из самых популярных биопластиков в мире, а ещё, по отзывам, он пахнет попкорном, ха-ха. Так, идём дальше.
Из этой информации ежу понятно, что Prusa i3 — это 3D-принтер, а делает такие принтеры компания Prusa. Покупать принтер за 117 тыс. рублей нам не нужно: хватит бесплатной программы от этой же компании — PrusaSlicer. Устанавливаем её:
Отдельно ничего скачивать не надо: просмотрщик G-code входит в PrusaSlicer. Распаковываем zip-файл из задачи и открываем 1043.gcode в режиме просмотра (prusa-slicer --gcodeviewer 1043.gcode либо через меню программы). Видим такое чудо:
Это куб размером около 175 × 175 × 160 мм из 400 слоёв. В Legend’е слева сверху видно, сколько прутка уходит на печать.
Так! В задаче написано про 15 часов работы принтера. Справа находится вертикальный ползунок по слоям (он показывает номер слоя и высоту). Нам нужен слой, который печатается на 15-м часу: в Legend’е слева можно переключить вид на время печати, а ориентиром служит высота около 80 мм, это середина модели.
Верхний бегунок «обрезает» модель на выбранном слое: всё, что выше, не показывается. Поэтому, поставив его на слои 200–206 (в нумерации PrusaSlicer: середина модели по высоте) и повернув камеру на вид сверху, мы видим слой, где в центре куба напечатана надпись… а! Так это ж заветный флаг! :))
Бежим вписывать!!!
Я бы посмотрел на того, кто это всерьёз напечатал бы.
Откуда число 1043? В шапке файла написано — ;Filament used: 349.606m. Для прутка 1,75 мм (сечение около 2,4 мм²) это около 841 см³, а при плотности PLA около 1,24 г/см³ получается ≈ 1043 г (расчёт приблизительный)
Сам PrusaSlicer на скриншоте показывает 1349,61 м и 1046,93 г: он считает по другим параметрам прутка, поэтому цифры не совпадают с шапкой Cura.
Что за файл. Файл сделан в Cura 5.11.0 для Prusa i3, диалект Marlin: 400 слоёв по 0,4 мм, общее время печати 111 086 секунд (около 30 ч 51 мин).
Почему именно 15 часов? В конце каждого слоя Cura пишет ;TIME_ELAPSED:. Обычный слой печатается около 238 секунд. Слои 199–205 по нумерации Cura в G-code (в PrusaSlicer это слои 200–206; высота ≈ 80–83 мм) печатаются по ≈ 320 секунд: на надпись уходит лишнее время. Она печатается примерно с 15 ч 20 мин до 15 ч 57 мин, то есть около 37 минут: это и есть «виден полчаса».
Другие способы решения! Подойдёт любой просмотрщик с ползунком по слоям (Cura, OrcaSlicer, онлайн-viewer). Можно и скриптом: взять в G-code только движения с подачей пластика (G1 ... E) и нарисовать слои в matplotlib. Слои без надписи будут пустым кубом.
Подсказка в самом файле! Если не знаешь, где искать, смотри на строки ;TIME_ELAPSED: у слоёв с флагом время заметно больше.