Переменные Cura и начальные команды G-кода

Ender 3 Pro, PLA, температура 200 °C и 60 °C.

Я хочу не нагревать сопло до завершения автоматического выравнивания стола (CR Touch). Я могу сделать это в стартовом G-коде, но к тому времени Cura уже нагрела сопло до температуры, указанной в разделе "Материал", и филамент начинает вытекать во время выравнивания стола. Я бы предпочел присвоить переменной это значение и вызвать ее с помощью M104, когда буду готов.

Это начало g-кода Cura:

;FLAVOR:Marlin
;TIME:2888
;Filament used: 1.96332m
;Layer height: 0.2
;MINX:93.266
;MINY:10.195
;MINZ:0.2
;MAXX:126.734
;MAXY:210.658
;MAXZ:4.2
;Generated with Cura_SteamEngine 4.13.1
M140 S60
M105
M190 S60
M104 S200
M105
M109 S200
M82 ;absolute extrusion mode
; Ender 3 Custom Start G-code
G92 E0 ; Reset Extruder
G28 ; Home all axes
G29 ; Auto Bed Level (CR Touch)
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
...

Строки сразу после "Сгенерировано с помощью Cura_SteamEngine" - это те, которые я хотел бы изменить, но я не могу найти их в приложении Cura. Я знаю, что 60 ° C и 200 ° C - это температуры, определенные для стола и сопла. Cura вставляет их в качестве констант для команд M140 и M104. Я бы хотел, чтобы Cura устанавливала переменным эти значения (например, {bed_temp} = 60), чтобы я мог ссылаться на эту переменную, когда вставляю команду M140 в свой пользовательский запуск G-кода. Можно ли это сделать?

Связанный с этим вопрос был задан несколько лет назад, и тогда часть примера начального кода была следующей:

; Ender 3 Custom Start G-code
M104 S{material_print_temperature_layer_0} ; Set Extruder temperature
M140 S{material_bed_temperature_layer_0} ; Set Heat Bed temperature
G28 ; Home all axes
G29 ; BLTOUCH Mesh Generation
M190 S{material_bed_temperature_layer_0} ; Wait for Heat Bed temperature
M109 S{material_print_temperature_layer_0} ; Wait for Extruder temperature

Переменная {material_bed_temperature_layer_0} уже была установлена, но я не знаю, где и как это было сделано.

, 👍2


2 ответа


0

Перейдите в меню Настройки -> Принтеры из верхнего меню,

выберите ваш активный принтер (или активируйте его) и управляйте настройками принтера через устройство.

Это откроет настройки принтера,

там вы сможете изменить нужные строки в разделе Start G-code.

Примечание. G-код запуска по умолчанию не включает в себя нагрев рабочего стола и ядра, в вашем случае вам нужно добавить их после G29. Лично я использую heat up desk и продолжаю (M140), затем нагреваю ядро и жду, пока не будет достигнута температура (M109), затем нагреваю и жду, пока не будет достигнута температура стола (M190).


,

3

Я с этим разобрался. ЕСЛИ я включу свои собственные команды нагрева в свой начальный G-код, Cura знает, что НЕ следует добавлять свои собственные команды нагрева в начале файла G-кода.

Переменные, о которых я говорил, имеют специальные имена. material_print_temperature_layer_0 - это температура печати (экструдера / сопла), установленная в разделе Material в Cura. material_bed_temperature_layer_0 - это температура пластины сборки, установленная в разделе Material в Cura.

Cura заменяет значения этих переменных именами переменных в файле G-code.

Поэтому, чтобы избежать просачивания филамента во время автоматического выравнивания стола, я устанавливаю температуру сопла на 150 ° C (горячая, но ниже заданной температуры печати и достаточно низкая, чтобы избежать просачивания). Я устанавливаю температуру рабочего стола на заданную температуру.

Затем я автоматически выравниваю стол.

Затем я нагреваю сопло до заданной температуры печати и запускаю задание на печать.

Это мой Стартовый G-код:

; Пользовательский G-код запуска Ender 3
G92 E0 ; Сброс экструдера
G28 ; Главная страница по всем осям
M104 S150 ; Настройка температуры экструдера для выравнивания стола
M140 S{material_bed_temperature_layer_0} ; Установить температуру нагревательного стола
M109 S150; Дождитесь температуры экструдера для выравнивания стола
M190 S{material_bed_temperature_layer_0} ; Дождитесь температуры нагревательного стола
G29; Автоматический уровень стола (CR Touch)
M104 S{material_print_temperature_layer_0} ; Установить температуру экструдера
M109 S{material_print_temperature_layer_0} ; Дождитесь температуры экструдера
G1 Z2.0 F3000; Немного сдвиньте ось Z вверх, чтобы предотвратить царапание теплового слоя
G1 X0.1 Y20 Z0.3 F5000.0; Переместиться в исходное положение
G1 X0.1 Y200.0 Z0.3 F1500.0 E15; Нарисуйте первую линию
G1 X0.4 Y200.0 Z0.3 F5000.0; Немного сдвинуться в сторону
G1 X0.4 Y20 Z0.3 F1500.0 E30; Нарисуйте вторую линию
G92 E0 ; Сброс экструдера
G1 Z2.0 F3000; Немного сдвиньте ось Z вверх, чтобы предотвратить царапание теплового слоя
G1 X5 Y20 Z0.3 F5000.0; Переместитесь, чтобы предотвратить раздавливание капли

И вот как Cura записывает файл G-code:

;FLAVOR:Marlin
;TIME:2888
;Filament used: 1.96332m
;Layer height: 0.2
;MINX:93.266
;MINY:10.195
;MINZ:0.2
;MAXX:126.734
;MAXY:210.658
;MAXZ:4.2
;Generated with Cura_SteamEngine 4.13.1
M82 ;absolute extrusion mode
; Ender 3 Custom Start G-code
G92 E0 ; Reset Extruder
G28 ; Home all axes
M104 S150 ; Set Extruder temperature for bed leveling
M140 S60 ; Set Heat Bed temperature
M109 S150 ; Wait for Extruder temperature for bed leveling
M190 S60 ; Wait for Heat Bed temperature
G29 ; Auto Bed Level (CR Touch)
M104 S200 ; Set Extruder temperature
M109 S200 ; Wait for Extruder temperature
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish
G92 E0
...

Я надеюсь, что это поможет кому-то с подобным вопросом.

Ваше здоровье.

,