В Cura (и Slic3r) вы можете на 100% настроить то, что делает принтер, перед печатью вашей фактической модели с помощью пользовательского g-кода начала / конца .
Если вы перейдете к Start/End-GCode tab in 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, которые мы установили. Однако, если мы вручную переопределим код M109start.gcode
, M109 вверху автоматически исчезнет из сгенерированного вывода g-кода! (Спасибо, @TomvanderZanden!)
Поэтому мы могли бы использовать команду автоматического выравнивания G29, прежде чем вручную устанавливать температуру форсунки с помощью M109 ; в частности, мы хотим добавить M109 S{print_temperature}
, который читает Basic -> Print Temperature
-setting в 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.
Отрегулируйте смещение z-зонда:
Обычно автоматическое выравнивание выполняется с нагретой форсункой по определенной причине: когда форсунка теплая, она слегка расширяется, приближаясь к кровати. Поэтому вам, возможно, придется отрегулировать смещение Z-зонда с помощью команды M565 (как показано во фрагменте), чтобы учесть увеличение длины сопла в тепле.
Помнить:
Помните, что при редактировании g-кода таким способом вы получите полный контроль над работой принтера. Поэтому вы вполне можете сделать что-то непреднамеренное, поэтому держите выключатель питания закрытым!