Металл2024 Реклама
Метобр2024 Реклама

Продолжение прерванной печати, всё в кучу и с плюшками

eta4ever
Идет загрузка
Загрузка
22.08.2016
48100
23
3D-печать

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

59
Продолжение прерванной печати, всё в кучу и с плюшками
Вопросы по восстановлению прерванной по какой-то причине печати возникают регулярно. Материалы по этой теме на портале тоже имеются, но, я думаю, все будут только за единение причин, следствий, 'кто виноват', 'что делать' и 'едят ли курицу руками'. Но главная задача - чтобы можно было потом давать ссылку на этот пост, а не искать в закладках наиболее подходящий под конкретный случай.

Итак, у нас есть принтер, который печатал-печатал, а затем по какой-то причине произошла шайтанама. В результате мы получили недопечатанную деталь. Причины - сбой электропитания, разрыв связи с компьютером, таинственные электрические процессы в мозгах принтера, пробка в экструдере (или ролик перегрыз филамент, или пруток кончился, в общем, принтер жужжит вхолостую). А нам нужна цельная деталь.

Возможны три варианта действий. Первый - плюнуть и напечатать заново. Наименее трудозатратный. Если время позволяет и не жаль потраченного пластика, лучше прибегнуть к нему. Но если это не наш метод, то остается еще два. Второй - снять напечатанное со стола, отслайсить недостающее, напечатать, склеить. Третий - джедайский, продолжить печать.

Определение высоты

Независимо от того, к какому решению (второму или третьему) мы приходим, возникает основополагающий вопрос - на какой высоте остановилась печать. От точности определения во многом зависит качество (и объемы постобработки) шва. И тут, опять же, есть варианты. Самый халявный - если удается точно определить, где закончилась печать. Например, если электроника принтера зависла (или связь прервалась), а на дисплее остались заветные цифры 'Z-что-то-там'. Или есть возможность поглядеть лог терминала до разрыва. Идеальный случай - когда есть последняя команда перемещения по XY (G1 Xxxx Yyyy Eeee) и можно прокрутить лог вверх до ближайшего начала слоя (G1 Zzzz). Это позволяет точно определить даже не высоту а точку!

Маленькая хитрость номер раз. Если печатаете из Repetier-Host, программа пишет лог взаимодействий с принтером. Оно очищается при запуске программы или успешном завершении печати. То есть. Если у вас вырубился компьютер с Repetier-Host, НЕ ЗАПУСКАЙТЕ программу. Вместо этого надо проследовать по маршруту типа C:Users<имя пользователя>AppDataLocalRepetierHost и найти там repetier.log. Лог-файл простенький, но там сохраняются прекрасные сообщения типа '< 14:22:57.158 : Печать слоя 131 из 204'. Так мы можем узнать, на какой высоте прекратилась печать при выключении компьютера.

Маленькая хитрость номер два. Если печатаете из Pronterface, настройте вывод лога в файл (Settings - Options - User interface - Log path). В этом случае программа будет дублировать в текстовый файл то, что вы видите в окне терминала. Что, опять же, позволит определить высоту прекращения печати.
Продолжение прерванной печати, всё в кучу и с плюшками

Где прячется настройка лога Pronterface



А вот если вы печатали с SD-карты - ну, это серьезнее. Придется определять положение каким-то волшебным образом. Для особо усидчивых и печатающих относительно толстым слоем, можно взять иголочку и посчитать слои. Можно немного проще (но тоже требует внимательности).

Прикидываем, можем ли в какой-то точке стола запарковать принтер по Z. Если да, то паркуем по XY (если сопло прилеплено к модели, надо его сначала нагреть, а потом поднять немного Z!), подводим к точке безопасной парковки Z и выполняем ее. Для тех, у кого 'дом' в максимальном положении Z, красота - можно парковаться безбоязненно. Если Z запарковать нельзя, об этом ниже.

Теперь поднимаем Z выше модели, подводим к ней по XY, и потихоньку опускаем. Вот как будет касание, положение найдено.
Далее я буду не единожды упоминать код G92. Как он работает, поясню на примере: G92 X100 заставляет принтер считать, что его текущая координата X равна 100, и дальше он будет плясать от этой установки.
Если нельзя запарковать

Если будем отдельно печатать верхнюю часть детали, то снимаем имеющееся со стола и меряем штангенциркулем. А если хочется стоя и в гамаке, то и здесь есть решение. Приподнимаем Z и паркуем XY, как описано выше. Подводим к модели (до касания, лучше холодным чистым соплом) и даем принтеру команду G92 Z0. Теперь он думает, что Z запаркована, соответственно, готовить к печати верхнюю часть детали надо будет, как будто она печатается на столе. Ну, об этом далее.

Подготовка нового G-кода

Если выбираем вариант с отдельным допечатыванием, то нам нужно отслайсить модель с определенной высоты. В Cura на вкладке Advanced в разделе Quality есть пункт Cut off object bottom. То есть, отрезать нижнюю часть модели. В Slic3r нужно порезать (Cut) модель по Z и оставить только верхнюю часть. В Simplify3D (я им не пользуюсь, поэтому точно не расскажу) немного по-другому, там можно печатать именно с заданной высоты, а не с нуля. Тут будет небольшой пробел в повествовании. Наконец, модель можно порезать в netfabb и отслайсить.

Итак, у нас есть новый G-код для верхней половины модели. Печатаем.

Если хотим печатать по имеющейся нижней части, тут опять варианты. Можно подготовить G-код как в абзаце выше, выбросить из него все подготовительные операции (парковку), запарковать XY вручную, выставить нужную Z, дать G92 Z0, прогреть нагреватели и запустить печать. Можно взять имеющийся G-код модели, выбросить из него все до G1 Zzzz, где zzz - наша высота начала печати. Это годится, если мы можем запарковать Z. Паркуем в доступной точке Z, поднимаем выше модели, прогреваем нагреватели, запускаем обрезанный G-код.
Продолжение прерванной печати, всё в кучу и с плюшками

Ищем нужное

Продолжение прерванной печати, всё в кучу и с плюшками

Начало 'обрезка' кода с абсолютной подачей. Можно G92 просто в терминале выполнить, лишь бы не забыть.



С обрезанием G-кода есть нюанс. Если у нас G-код сгенерирован с относительной подачей (строки вида G1 Xxxx Yyyy E<небольшое число>;), то ничего чудить не нужно. А если подача абсолютная (координата E постоянно растет), нужно перед запуском печати 'обрезка' дать принтеру команду G92 Eeee, где eee - последняя координата E в удаленной части G-кода.

Кстати, обрезанный G-код можно использовать и для отдельной допечатки верхней половины детали. Для этого надо запарковать вручную все оси, дать G92 Zzzz (где zzz - высота имеющейся нижней части), и можно пускать 'обрезок'. Не забываем прогревать хотэнд и стол до нужных температур, или оставлять соответствующие команды в G-код.

Тонкость

Допустим, у нас высота отпечатанной части 10.0 мм. Для слоя 0.2 это означает, что отпечатано 50 слоев (если первый слой тоже 0.2) Не факт, что последний завершен. Тут хорошо бы прикинуть. Если слой завершен, или близок к тому, то продолжать печать лучше с 10.2. А если слой только начат, то лучше напечатать его повторно. В общем, в зависимости от степени джедайства, у нас будет либо выдавленный слой (который можно подрезать или подшлифовать), либо щель, которую заделывать сложнее. На мой взгляд, выдавленный предпочтительней из-за большей простоты ликвидации (хотя, от детали зависит) и лучшей прочности соединения.

Подборка постов по данной теме

Отдельная допечатка, склейка, Cura.

Допечатка поверх, Simplify3D.

Допечатка поверх, Simplify3D. Еще. Допечатка поверх, Cura. Кратко о подрезке G-кода.

Интересно, что параллельно с подготовкой этого материала вышел еще один, тоже про восстановление. К счастью, не слишком пересекающийся с моей компиляцией. Там очень крутая штука упомянута, которая минимизирует использование бубна. Речь идет о совместной работе умного дисплейного модуля MKS TFT и датчика пропадания питающего напряжения. Без небольшого ИБП тут, конечно, не обошлось, но зато какая красота: модуль понимает, что нет питания, фиксирует текущие координаты, паркует голову и ждет, когда хозяин позволит продолжить работу.

Что забыл? Жду в комментариях. Вот, например, вспомнил, что в Slic3r есть Z offset, тоже можно использовать при подготовке G-кода для печати поверх. Главное, потом не забыть убрать, это касается и других волшебных параметров вроде обрезки в Cura.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

59
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама