Введение в макросы
Макрос запуска
- Установите
PRINT_START
как макрос, выполняемый при начале печати, чтобы настроить действия перед печатью - Обратите внимание, что имя макроса может быть любым, главное — сослаться на него в коде начала слайсинга
[gcode_macro PRINT_START]
gcode:
G92 E0 # Сброс экструдера
BED_MESH_CLEAR # Очистка сетки стола
G28 # Парковка всех осей
#Z_TILT_ADJUST # Выравнивание порталов
#quad_gantry_level # Выравнивание порталов
#G28 # Парковка всех осей
G1 Z20 F3000 # Поднятие сопла от стола
BED_MESH_PROFILE LOAD=default # Загрузить профиль сетки стола
Рекомендации по выравниванию и настройке сетки стола
1. Выбор метода выравнивания
Z_TILT_ADJUST
иquad_gantry_level
— взаимоисключающие методы выравнивания- Выберите один в соответствии с конструкцией вашего устройства, использовать оба одновременно нельзя
- Если не требуется, удалите или закомментируйте соответствующую настройку
- После выполнения выравнивания рекомендуется выполнить парковку
2. Стандартная команда загрузки сетки стола
BED_MESH_PROFILE LOAD=default
- Можно загрузить только одну конфигурацию сетки стола, несколько конфигураций одновременно не поддерживаются
default
в командеBED_MESH_PROFILE LOAD=default
— это имя предустановленного профиля- Если сетка не была предварительно создана или имеет другое имя, возможна ошибка
3. Стандартная команда калибровки сетки стола
BED_MESH_CALIBRATE horizontal_move_z=2 METHOD=rapid_scan
horizontal_move_z=2
— высота подъема сопла при сканировании (единица измерения: мм)METHOD=rapid_scan
— использовать метод быстрого сканирования
4. Команда адаптивного сканирования
BED_MESH_CALIBRATE adaptive=1
- Упрощенная команда, специально разработанная для датчиков автоматического выравнивания
- Подходит для систем датчиков
TAP
,klicky
,PL08
и т. д. - Высота и способ перемещения при сканировании автоматически контролируются датчиком, ручная настройка параметров не требуется
Макрос завершения
- Назначьте
PRINT_END
как макрос, выполняемый при завершении печати, чтобы настроить действия после печати - Обратите внимание, что имя макроса может быть любым, главное — сослаться на него в коде завершения слайсинга
[gcode_macro PRINT_END]
gcode:
# Получить границы рабочей области
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
{% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %}
# Проверить текущую позицию для определения безопасного направления движения
{% if printer.toolhead.position.x < (max_x - 20) %}
{% set x_safe = 20.0 %}
{% else %}
{% set x_safe = -20.0 %}
{% endif %}
{% if printer.toolhead.position.y < (max_y - 20) %}
{% set y_safe = 20.0 %}
{% else %}
{% set y_safe = -20.0 %}
{% endif %}
{% if printer.toolhead.position.z < (max_z - 2) %}
{% set z_safe = 2.0 %}
{% else %}
{% set z_safe = max_z - printer.toolhead.position.z %}
{% endif %}
M400 # Дождаться очистки буфера
G92 E0 # Обнулить экструдер
G1 E-10.0 F3600 # Отмотать филамент
G91 # Переключиться на относительные координаты
G0 Z{z_safe} F3600 # Поднять портал
G0 X{x_safe} Y{y_safe} F20000 # Переместить сопло для убирания нитей
M104 S0 # Выключить экструдер
M140 S0 # Выключить стол
M106 S0 # Выключить вентилятор модели
G90 # Переключиться на абсолютные координаты
G0 X{max_x / 2} Y{max_y} F3600 # Переместить сопло назад
BED_MESH_CLEAR # Очистить сетку стола
Loading...