В этой статье я рассмотрю классический подход к многоцветной печати с послойной заменой цвета, когда каждый новый цвет укладывается поверх предыдущего слоя. На примере печати нашивки из TPU.
Причины создания материала
Создать этот материал меня сподвиг ролик 3DiY о многоцветной печати, если кто не видел ролик – то ссылка тут, личный опыт использования многоцветной печати на одном экструдере и отсутствие адекватной инструкции, которая позволяет произвести такую печать качественно и комфортно.
Кратко о традиционно используемом подходе, для тех кто с ним ранее не сталкивался:
Многоцветная печать одним экструдером с заменой цвета слоев выполняется в определенном порядке – печатаем нужное число слоев одним цветом, выполняем команду замены филамента на нужном слое другого цвета(прописав команду M600 в код), заменяем филамент, продолжаем печать другим цветом.
В чем проблема?
Проблема в команде M600, которая предназначена для подобной манипуляции, но требует определенной настройки принтера для адекватной работы, что не каждому под силу, поэтому живет своей жизнью в зависимости от настроек конкретной прошивки конкретного принтера.
Лично меня не устраивает в этой команде отсутствие возможности управлять скоростью ретрактов и перемещений, что чаще всего приводит к подобному результату.
При отводе сопла повисает сопля пластика, а при возвращении сопла обратно — истекает слишком много пластика, образующего капли на печати.
Да и есть сообщения о том, что M600 может легко и непринужденно отключить нагрев сопла или стола, тут всё, зависит от того, что задано в прошивке.
Поэтому я не использую, и если спросят — не смогу порекомендовать M600 для какой-либо серьезной работы.
Больше чем уверен, в комментарии набегут люди, которые скажут, что я слишком усложняю, и они меняют филамент на ходу, просто выдергивая его из экструдера во время печати и у них всё хорошо.
Сразу отвечу – дергать на работающем принтере в момент печати пластик в противоход подаче, это мягко говоря непрофессионально, а по сути некорректно, поскольку слишком сильно ставит всю работу в зависимость от конкретной ловкости рук, а для директа и вовсе неприменимо.
По опыту предыдущего поста о калибровке стола — скажу сразу, это ни в коем случае не новизна, не оскорбление чувств верующих, например в то, что команда M600 работает хорошо и все-всё всегда нормально печатали и печатают, и только я криворукий печатник, у которого она не работает, а 3DIY вообще неграмотные и слабо разбирающиеся в теме люди. 🙂
Меня не устраивает команда M600 — я люблю контролировать процесс полностью, и мне лень лезть в прошивку, чтобы менять там параметры, если проще в нужные места скопировать блок текста. 🙂
Вы же можете использовать любой удобный метод на своё усмотрение.
Решение
Все прилагаемые команды заточены под диалект G-code Simplify3d, с абсолютным значением координат, но вы всегда можете, адаптировать алгоритм под себя.
В G-code перед началом слоя другого цвета требуется включить следующие действия.
- Сделать откат филамента на определенное расстояние назад с заданной скоростью, скажем на 2 мм со скоростью 10 мм/сек, командой G1 E-2 F600. Это необходимо, чтобы при перемещении пластик не истекал в момент перемещения в точку замены пластика
- Приподнять сопло над поверхностью слоя, на заданную высоту по вашему выбору, с вашей скоростью движения по оси Z, скажем на 0.4 мм над текущей высотой слоя со скоростью 5, командой G1 Zтекущая высота + 0.4 F300 (в моем случае для текущей высоты 0.2 команда выглядит так G1 Z0.6 F300)
- Переместить экструдер в зону замены пластика по вашим координатам с вашей скоростью холостого перемещения, где замена пластика будет удобна и безопасна для уже напечатанной модели, скажем в X10 Y10 со скоростью перемещения 100 мм\с, командой G1 X10 Y10 F6000
- Важно! Сбросить положение филамента в экструдере командой G92 E0.0000, это необходимо, чтобы после замены пластика экструдер не выдавил после замены пластика лишние 2 мм, которые мы откатили на шаге 1, и вы не получили шикарную переэкструзию в точке начала печати
- Отключить двигатель экструдера командой M18 E или M84 E, просто для банального удобства извлечения филамента, чтобы экструдер не держал двигатель заблокированным, двигатель снова включится в момент печати, включать его обратно вручную не обязательно
- Поднять экструдер по оси Z на комфортное расстояние для замены филамента, в моем случае это будет команда G1 Z10 F300
- Необязательный шаг – подать звуковой сигнал, например ноту ДО, длиной полторы секунды, командой M300 S261 P1500, просто для комфорта, ведь вы же не стоите над принтером постоянно, и занимаетесь своими делами, а так он вам напомнит о себе
- Поставить принтер на паузу, командой M0 PUSH THE BUTTON (или устаревшей M1), команда остановит печать и выведет PUSH THE BUTTON на экран дисплея. Тут стоит оговориться, что прошивка должна поддерживать эту команду, без этой поддержки магия не работает, но я пока не встречал принтера, который не умеет ставить печать на паузу
- Извлечь старый пруток, зарядить новый и продолжить печать
Весь код из моего примера выглядит так:
Только не надо его копировать в свой код, хорошо? Принтеры и слайсеры у нас разные.
G1 E-2 F600
G1 Z0.6 F300
G1 X10 Y10 F6000
G92 E0.0000
M84 E
G1 Z10 F300
M300 S261 P1500
M0 PUSH THE BUTTON
Мне удобнее для этих целей использовать блокнот, да, SIMPLIFY3D умеет заменять код, но если необходимо выставить блок, лучше блокнот, так нагляднее.
И да, это в какой-то мере повторяет действие команды M600 E2 X10 Y10 Z10, но не отключает нагрев сопла при смене филамента, перемещает экструдер с нужной скоростью и полностью контролируется человеком, а не автоматом, который, повторюсь, еще и настроить необходимо.
Аналогичный код настроенный для ваших параметров, поможет комфортно поменять филамент и осуществить многоцветную печать, если его разместить перед необходимым слоем другого цвета.
Еще раз повторюсь – этот код под мой принтер, для себя вы должны его адаптировать под ваши параметры.
А для качественной многоцветной печати, вы должны использовать черновую башенку – опция Use Prime Pilar в Simplify3d, или аналогичный в вашем слайсере.
К сожалению, в CURA я подобного не нашел, кроме как в пункте «два экструдера», если кто знает, как эту башню напечать в CURA – напишите.Эта башенка позволяет очистить сопло перед печатью от предыдущего пластика, и вернуть стабильную подачу, чтобы на деталь пластик лег ровно и сразу в момент печати.
А еще не забудьте выставить адекватный ретракт и, что важно, подъем экструдера по оси Z при ретракте, чтобы не получать тянущиеся за соплом линии другого цвета.
Вот как тут, где я попытался распечатать нашивку 3D TODAY из TPU трех разных цветов, слишком текучий пластик, забыл уже как им печатать чисто.
Да, TPU, из чего еще нашивки печатать? 🙂
Дефекты-пропуски на поверхности — это что-то механическое с моим принтером, проявляются только с высоты 1.0 мм и с ними я буду еще разбираться.
А вот результат после подъема по оси Z при ретракте
TPU, все-же, не очень хорошо подходит на роль материала для многоцветной печати.
В следующей статье расскажу, как печатать двумя и более цветами в одном слое, одним экструдером.
Всем чистой печати продолжение следует.
P.s. возможно кто-либо, когда-либо даже плагин для многоцветной печати к слайсеру выпустит. 🙂