Как настроить Cura для запуска Z-зонда перед нагревом
Я использую Cura в качестве программного обеспечения для нарезки/печати, и я только начал использовать печатную поверхность BuildTak.
BuildTak повреждается, вдавливая в него горячее сопло, а функция автоматического выравнивания 3д-принтера (Robo3D R1+) работает, вдавливая сопло в поверхность сборки.
Есть ли способ настроить Cura так, чтобы он сначала запускал Z-зонд, а затем нагревал сопло?
Мой первый лист BuildTak уже имеет 10 небольших отверстий (в положении самонаведения и в 9 точках касания выравнивания).
@Nir, 👍12
2 ответа
Лучший ответ:
В Cura (и Slic3r) вы можете на 100% настроить работу принтера перед печатью фактической модели с помощью пользовательского начального/конечного g-кода.
Если вы перейдете на вкладку Start/End-GCode в Cura
, а затем выберите start.gcode
, вы сможете увидеть, какие операции выполняются перед началом каждой печати. Строки с префиксом ;
являются комментариями и никак не влияют на печать.
По сути, мы хотим вручную указать принтеру выполнить автоматическое выравнивание перед нагревом сопла, отредактировав g-код в файле start.gcode
.
G-код, сгенерированный с помощью стандартного start.gcode:
Если вы попытаетесь срезать некоторую модель с кодом по умолчанию, найденным в start.gcode
, вы получите что-то вроде следующего (в зависимости от вашего принтера):
; CURA AUTOMATICALLY INSERTS THESE TEMPERATURE CODES
M190 S70.000000 ; Set bed temperature to 70 degrees
M109 S210.000000 ; Set nozzle temperature to 210 degrees
; THESE ARE THE CODES FROM START.GCODE (for a ROBO 3D R1)
G28 ;move printer to endstops (the home position)
G92 E0 ;zero the extruded filament length
M565 Z-1 ;set z-probe offset
G1 Z5 F5000 ;move the printer 5mm above the bed
G29 ;run auto-leveling
; THE ACTUAL MODEL BEGINS HERE
;Layer count: 168
;LAYER:0
.
.
Анализ вывода g-кода
В верхней части этого фрагмента кода мы видим, что Cura автоматически вставляет g-код для нагрева стола и сопла до соответствующих температур с помощью g-кодов M190 и M109. Это означает, что принтер всегда будет нагревать сопло перед чтением установленного нами start.gcode
s. Однако если мы вручную переопределим код M109 в start.gcode
, то M109 вверху автоматически исчезнет из сгенерированного вывода g-кода! (Спасибо, @TomvanderZanden!)
Поэтому мы могли бы использовать команду автоматического выравнивания G29 перед ручной установкой температуры сопла с помощью M109; в частности, мы хотим добавить M109 S{print_temperature}
, который считывает базовую настройку температуры печати
в Cura и автоматически заменяет {print_temperature}
.
Манипулирование start.gcode:
Чтобы отложить нагрев хотенда до окончания зондирования, start.gcode
может быть примерно таким:
G28 ;move printer to endstops (the home position)
G92 E0 ;zero the extruded filament length
M565 Z-1 ;set z-probe offset <----- ( YOU HAVE TO ADJUST THIS, READ BELOW)
G1 Z5 F5000 ;move the printer 5mm above the bed
G29 ;run auto-leveling
M109 S{print_temperature} ;set nozzle temperature, and wait for it heat up
И это все! Затем вы можете использовать эти коды в своем start.gcode
. Однако вам, вероятно, придется перекалибровать смещение z-prove.
Отрегулируйте смещение z-зонда:
Обычно автонивелирование производится с нагретым соплом не просто так: когда сопло теплое, оно слегка расширяется, приближаясь к столу. Поэтому вам, возможно, придется отрегулировать смещение Z-зонда с помощью команды M565 (как показано в фрагменте), чтобы учесть увеличение длины сопла при нагревании.
Помните:
Помните, что при редактировании g-кода таким образом вы получите полный контроль над работой принтера. Поэтому вы вполне можете сделать что-то непреднамеренное, поэтому держите выключатель питания близко!
Как указано в комментарии Маркуса к ответу Tormod, {print_temperature}
необходимо заменить на {material_print_temperature}
, поэтому код теперь становится:
G28 ;переместить принтер в конечное положение (исходное положение)
G92 E0 ;нулевая длина экструдированной нити
M565 Z-1 ;установите смещение z-зонда <----- ( ВЫ ДОЛЖНЫ ОТРЕГУЛИРОВАТЬ ЭТО, ЧИТАЙТЕ НИЖЕ)
G1 Z5 F5000 ;переместить принтер на 5 мм выше стола
G29 ;запуск автоматического выравнивания
M109 S{material_print_temperature} ;установите температуру сопла и дождитесь его нагрева
- Auto Desk Leveling неправильно компенсирует наклон стола (Anycubic Kobra Neo)
- Как построить CuraEngine?
- Мой отпечаток оказался не таким, как я ожидал. С чего начать устранение неполадок?
- Указание смещения Z в прошивке Marlin
- Почему принято устанавливать ширину линии > диаметр сопла?
- Почему нижняя часть 3д-отпечатка не гладкая
- Настройки режима вазы в CURA?
- Грязный верхний слой с нитью PETG?
В этом ответе упускается очень важный момент: в Cura (и что-то подобное работает для Slic3r и Simplify3D) вы можете вставить "M109 S{print_temperature}" в свой G-код. Он заменит {print_temperature} установленной температурой печати и не добавит свой собственный M109. Таким образом, вам не нужно делать уродливый взлом установки температуры на 0., @Tom van der Zanden
@TomvanderZanden, вы совершенно правы! Я не думал, что Cura будет достаточно умна, чтобы удалить первый M109, если вы установите его вручную в start.gcode, но похоже, что это так! Я обновлю ответ., @Tormod Haugene
{print_temperature}
не сработало для меня.{material_print_temperature}
сделал это. (Посмотрите здесь подробнее.) (https://ultimaker.com/en/community/49978-changing-cura-generated-start-code), @Markus Hütter