Приобрел китайский аналог экрана с картой sd RepRapDiscount Full Graphic Smart Controller. Перешел на печать с карты без компьютера. Но при этом нет никакой осмысленной информации об оставшемся времени печати, кроме малоинформативного прогресс бара. Текущий слой вычислял из координаты Z. Решил добавить отображение текущего слоя и общего количества слоев на экран. Написал скрипт на питоне, который ищет с помощью регулярного выражения изменение координат по оси Z и добавляет после нее строку с M117 в файл gcode. Заработало. Потом наткнулся на похожий скрипт на перле (разумеется до меня уже все написано). Там с помощью слайсера добавляли после изменения слоя команду и уже по ней искали без использования регулярок простым поиском. Так родился скрипт второй версии. Единственное неудобство второй верии - в исходном файле оказываются пустые строки с командой M117. Ниже обе версии. Порядок установки и настройки: 1.Устанавливаем питон второй ветки 2.x. При установке в опциях отмечаем пункт про добавление пути к питону в переменную PATH. 2. В опциях slic3r Print Settings - Output options - Post-processing scripts указываем путь к скрипту.
3. В опциях slic3r Printer Settings - Layer change G-code добавить M117 (в первой версии скрипта этот пункт не нужен).
Все готово. По окончании слайсинга запускается наш скрипт и создается новый gcode файл с индексом _M117. Если есть желание оставлять только новый файл, а исходный gcode файл удалять, то раскоментитруйте две строчки: