Добрый день!

Возникла необходимость в смене цвета на нужном слое в процессе печати. Погуляв по просторам интернета, так и не нашел подробной реализации этого принципа. Везде описаны общие моменты и приведены команды с рекомендациями, что их нужно пробовать. Перепробовав разные команды, остановился на M25 — но есть нюансы. Приведенная ниже методика работает только с slic3r. Итак, что нам нужно.
1) Открываем slic3r и во вкладке Printer Settings-Extruder1 ставим галочку на Retract on layer change (ретракт при изменении уровня).

Многоцветная печать ручной сменой пластика, правим G-code вставкой паузы

2) Грузим модель в slic3r и генерируем G-code.

Многоцветная печать ручной сменой пластика, правим G-code вставкой паузы

3) Переключаем отображение в slic3r на Previev.

Многоцветная печать ручной сменой пластика, правим G-code вставкой паузы

4) Боковым ползунком находим тот слой, с которого мы хотим печатать новым цветом. В своем примере я хочу напечатать основу зеленым цветом, а буквы белым. Двигая ползунок слоев с нуля я запоминаю на каком слое начинаются буквы. В моем случае это — 3.2

Многоцветная печать ручной сменой пластика, правим G-code вставкой паузыМногоцветная печать ручной сменой пластика, правим G-code вставкой паузы

5) Теперь открываем полученный G-code любым текстовым редактором (в примере блокнот), идем во вкладку правка-найти и пишем Z3.2, нажимаем найти далее, и у нас показалась та строчка где мы хотим сменить пластик.

Многоцветная печать ручной сменой пластика, правим G-code вставкой паузы

6) Теперь перед строкой G92 E0 мы вставляем следующие 2 строки (пометил жирным шрифтом):
G1 E1.21118 F3000.00000
M25
G28 X0
G92 E0
G1 Z3.200 F4200.000

7) Нажимаем сохранить изменения в блокноте и в печать. Когда принтер дойдет до этой строчки, он остановится и уйдет в home X. Мы выгружаем пластик, меняем на новый, продавливаем необходимое количества пластика до появления чистого цвета и выбираем в меню принтера продолжить печать. Хочу еще отметить, что для удобства смены пластика печатающую головку можно поднимать и опускать через меню принтера по оси Z. Благодаря тому, что шаговые двигатели заблокированы, а после продолжения печати принтер выставляет печатающую головку на нужную высоту — на качестве печати это никак не скажется (только не забываем что в меню принтера есть настройки по разблокировании шаговых двигателей по времени бездействии, нужно либо успеть в это время сменить пластик, либо увеличить это параметр до требуемого значения).

PS, для чего в slic3r мы ставили галочку ретракт при изменении уровня. Дело в том, что при загрузке и выгрузке пластика, внутренний счетчик количества пластика принтера может принять любое состояние и после того как мы сделали все операции по смене пластика и возобновили печать, строчка G92 E0 обнуляет этот счетчик и далее весь процесс печати продолжается в нужном порядке. Команда M25 — это пауза в печати. Команда G28 это дижение в home. В вики указано что можно поставить только координату, которую нам нужно двигать в ноль (X), без значений, но мой принтер не поехал. А когда я указал X0, голова уехала в home X. По такой же методике можно делать вплавляемые гайки, монеты и т.д. И немного фото результатов печати.

Многоцветная печать ручной сменой пластика, правим G-code вставкой паузыМногоцветная печать ручной сменой пластика, правим G-code вставкой паузыМногоцветная печать ручной сменой пластика, правим G-code вставкой паузыМногоцветная печать ручной сменой пластика, правим G-code вставкой паузы