Files
Ender-3_V3_KE_Klipper/config/F005/gcode_macro.cfg
T
2024-01-09 17:33:02 +08:00

407 lines
10 KiB
INI
Executable File

# Ender-3V3 KE
[exclude_object]
[virtual_sdcard]
#path: /home/rock/gcode_files
path: /usr/data/printer_data/gcodes
[pause_resume]
[display_status]
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
gcode:
TURN_OFF_HEATERS
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z2
G90
{% else %}
{action_respond_info("Printer not homed")}
G28 X Y
{% endif %}
G1 F3000X0Y222
M104 S0
M140 S0
M107
M84
CANCEL_PRINT_BASE
FINISH_INIT
[gcode_macro PRINT_CALIBRATION]
# This part of the command is replaced by the application side without passing parameters
gcode:
CX_PRINT_LEVELING_CALIBRATION
[gcode_macro FIRST_FLOOR_PAUSE_POSITION]
gcode:
{% set extruder_temp = printer.custom_macro.g28_ext_temp %}
M104 S{extruder_temp}
{% set y_park = printer.toolhead.axis_maximum.y/2 %}
{% set x_park = printer['gcode_macro PRINTER_PARAM'].max_x_position|float %}
G90
G1 Z2 F600
G1 X{x_park} Y{y_park} F6000
G1 Z0.2 F600
[gcode_macro FIRST_FLOOR_RESUME]
description: Resume the first floor print
gcode:
##### read E from pause macro #####
{% set E = printer["gcode_macro FIRST_FLOOR_PAUSE"].extrude|float + 1.0 %}
#### get VELOCITY parameter if specified ####
{% if 'VELOCITY' in params|upper %}
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
{%else %}
{% set get_params = "" %}
{% endif %}
##### end of definitions #####
{% if printer.extruder.can_extrude|lower == 'true' %}
G91
G1 E{E} F2100
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
RESUME_BASE {get_params}
[gcode_macro FIRST_FLOOR_PAUSE]
description: Pause the first floor print
# change this if you need more or less extrusion
variable_extrude: 2.0
gcode:
##### read E from pause macro #####
{% set E = printer["gcode_macro FIRST_FLOOR_PAUSE"].extrude|float %}
##### set park positon for x and y #####
# default is your max posion from your printer.cfg
{% set y_park = printer.toolhead.axis_maximum.y/2 %}
{% set x_park = printer.toolhead.axis_maximum.x|float - 10.0 %}
##### calculate save lift position #####
{% set max_z = printer["gcode_macro PRINTER_PARAM"].max_z_position|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% set z_safe = 0.0 %}
{% if act_z < (max_z - 2.0) %}
{% set z_safe = 2.0 %}
{% elif act_z < max_z %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
SET_GCODE_VARIABLE MACRO=PRINTER_PARAM VARIABLE=z_safe_pause VALUE={z_safe|float}
PAUSE_BASE
G91
{% if "xyz" in printer.toolhead.homed_axes %}
{% if printer.extruder.can_extrude|lower == 'true' %}
G1 E-1.0 F180
G1 E-{E} F4000
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
G1 Z{z_safe} F600
G90
G1 X{x_park} Y{y_park} F30000
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
# change this if you need more or less extrusion
variable_extrude: 1.0
gcode:
##### read E from pause macro #####
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
##### set park positon for x and y #####
# default is your max posion from your printer.cfg
# {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
# {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
{% set x_park = 0 %}
{% set y_park = 222 %}
##### calculate save lift position #####
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% if act_z < 48.0 %}
{% set z_safe = 50.0 - act_z %}
{% elif act_z < (max_z - 2.0) %}
{% set z_safe = 2.0 %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
SET_GCODE_VARIABLE MACRO=PRINTER_PARAM VARIABLE=z_safe_pause VALUE={z_safe|float}
##### end of definitions #####
PAUSE_BASE
G91
SET_GCODE_VARIABLE MACRO=PRINTER_PARAM VARIABLE=hotend_temp VALUE={printer.extruder.target}
M104 S140
{% if printer.extruder.can_extrude|lower == 'true' %}
G1 E-{E} F2100
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
G1 Z{z_safe} F600
M400
G90
G1 X{x_park} Y{y_park} F6000
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
[gcode_macro RESUME]
description: Resume the actual running print
rename_existing: RESUME_BASE
gcode:
{% if printer['gcode_macro PRINTER_PARAM'].hotend_temp|int != 0 %}
{% if printer['gcode_macro PRINTER_PARAM'].hotend_temp|int > printer.extruder.temperature %}
M109 S{printer['gcode_macro PRINTER_PARAM'].hotend_temp|int}
{% else %}
M104 S{printer['gcode_macro PRINTER_PARAM'].hotend_temp|int}
{% endif %}
SET_GCODE_VARIABLE MACRO=PRINTER_PARAM VARIABLE=hotend_temp VALUE=0
{% endif %}
##### read E from pause macro #####
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
#### get VELOCITY parameter if specified ####
{% if 'VELOCITY' in params|upper %}
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
{%else %}
{% set get_params = "" %}
{% endif %}
{% set z_resume_move = printer['gcode_macro PRINTER_PARAM'].z_safe_pause|int %}
{% if z_resume_move > 2 %}
{% set z_resume_move = z_resume_move - 2 %}
G91
G1 Z-{z_resume_move} F600
M400
{% endif %}
##### end of definitions #####
{% if printer.extruder.can_extrude|lower == 'true' %}
G91
G1 E{E} F2100
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
RESUME_BASE {get_params}
[gcode_macro PRINTER_PARAM]
variable_z_safe_pause: 0.0
variable_max_x_position: 220.0
variable_max_y_position: 220.0
variable_max_z_position: 240.0
variable_fans: 3
variable_auto_g29: 0
variable_default_bed_temp: 50
variable_default_extruder_temp: 240
variable_g28_extruder_temp: 140
variable_print_calibration: 0
variable_fan0_min: 140
variable_hotend_temp: 200
gcode:
[gcode_macro STRUCTURE_PARAM]
variable_bed_length: 220
variable_bed_width: 220
variable_bed_hight: 240
variable_laser_x_offset: 45.0
variable_laser_y_offset: -8.0
variable_laser_z_offset: 3.0
variable_cali_x_offset: 204.0
variable_cali_y_offset: 14.0
variable_cali_z_offset: 3.0
gcode:
[gcode_macro M900]
gcode:
{% if 'K' in params %}
{% if 'E' in params %}
SET_PRESSURE_ADVANCE EXTRUDER={params.E} ADVANCE={params.K}
{% else %}
SET_PRESSURE_ADVANCE ADVANCE={params.K}
{% endif %}
{% endif %}
[gcode_arcs]#打印圆
resolution: 1.0
[gcode_macro M204]
rename_existing: M204.1
gcode:
# {% if printer['gcode_macro Qmode'].flag|int == 0 %}
{% set get_params = "" %}
{% if 'S' in params|upper %}
{% set get_params = (get_params + ' ' + 'S' + params.S) %}
{% endif %}
{% if 'P' in params|upper %}
{% set get_params = (get_params + ' ' + 'P' + params.P) %}
{% endif %}
{% if 'T' in params|upper %}
{% set get_params = (get_params + ' ' + 'T' + params.T) %}
{% endif %}
M204.1 {get_params}
# {% endif %}
[gcode_macro M205]
gcode:
{% if 'X' in params %}
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={params.X}
{% elif 'Y' in params %}
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={params.Y}
{% endif %}
[gcode_macro G29]
gcode:
M204 S5000
G90
M104S0
M107
G28
BED_MESH_CALIBRATE
G1 X110Y110Z10
M140S0
CXSAVE_CONFIG
[gcode_macro INPUTSHAPER_X]
gcode:
M84
G90
G28
SHAPER_CALIBRATE AXIS=x
CXSAVE_CONFIG
[gcode_macro INPUTSHAPER_Y]
gcode:
M84
G90
G28
SHAPER_CALIBRATE AXIS=y
CXSAVE_CONFIG
[gcode_macro INPUTSHAPER]
gcode:
G90
{% if "xyz" not in printer.toolhead.homed_axes %}
G28
{% endif %}
{% if 'X' in params.AXES|upper %}
SHAPER_CALIBRATE AXIS=X
{% elif 'Y' in params.AXES|upper %}
SHAPER_CALIBRATE AXIS=Y
{% else %}
SHAPER_CALIBRATE
{% endif %}
CXSAVE_CONFIG
[gcode_macro AUTOTUNE_SHAPERS]
variable_autotune_shapers: 'mzv'
gcode:
[gcode_macro Z_OFFSET_TEST]
gcode:
G28
Z_OFFSET_CALIBRATION
CXSAVE_CONFIG
[gcode_macro ZZ_OFFSET_TEST]
gcode:
G28
Z_OFFSET_AUTO
CXSAVE_CONFIG
[gcode_macro Z_COMPENSATE_TEST]
gcode:
G28
CRTENSE_NOZZLE_CLEAR
Z_OFFSET_CALIBRATION
[gcode_macro M106]
gcode:
{% set fan = 0 %}
{% set value = 255 %}
{% if params.S is defined %}
{% set tmp = params.S|int %}
{% if tmp <= 255 %}
{% set value = tmp %}
{% endif %}
{% endif %}
{% if params.P is defined %}
{% if params.P|int == 0 %}
{% set value = printer["gcode_macro PRINTER_PARAM"].fan0_min + (255 - printer["gcode_macro PRINTER_PARAM"].fan0_min) / 255 * tmp %}
{% if tmp < 1 %}
{% set value = tmp %}
{% endif %}
SET_PIN PIN=fan0 VALUE={value}
{% endif %}
{% else %}
{% set value = printer["gcode_macro PRINTER_PARAM"].fan0_min + (255 - printer["gcode_macro PRINTER_PARAM"].fan0_min) / 255 * tmp %}
{% if tmp < 1 %}
{% set value = tmp %}
{% endif %}
SET_PIN PIN=fan0 VALUE={value}
{% endif %}
[gcode_macro M107]
gcode:
{% if params.P is defined %}
SET_PIN PIN=fan0 VALUE=0
{% else %}
SET_PIN PIN=fan0 VALUE=0
# SET_PIN PIN=fan2 VALUE=0
{% endif %}
[gcode_macro LOAD_MATERIAL]
gcode:
SAVE_GCODE_STATE NAME=myMoveState
M109 S{printer.custom_macro.default_extruder_temp}
G91
G1 E150 F180
RESTORE_GCODE_STATE NAME=myMoveState
[gcode_macro QUIT_MATERIAL]
gcode:
SAVE_GCODE_STATE NAME=myMoveState
M109 S{printer.custom_macro.default_extruder_temp}
G91
G1 E20 F180
G1 E-30 F180
G1 E-50 F2000
RESTORE_GCODE_STATE NAME=myMoveState
[gcode_macro M600]
gcode:
PAUSE
{% set act_e = printer.toolhead.position.e|float %}
G91
G1 E20 F180
G1 E-30 F180
G1 E-50 F2000
G90
G92 E{act_e}
[gcode_macro FINISH_INIT]
gcode:
{% set extruder = printer.configfile.settings['extruder'] %}
{% set printer = printer.configfile.settings['printer'] %}
SET_PRESSURE_ADVANCE ADVANCE={extruder.pressure_advance}
SET_VELOCITY_LIMIT ACCEL_TO_DECEL={printer.max_accel_to_decel}
#转角速度:5mm/s
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=5
#加速度:5000mm/s²
M204 S5000
#减速加速度:5000mm/s²
SET_VELOCITY_LIMIT ACCEL_TO_DECEL=5000
#移动速率:100%
M220 S100
#挤出流量:100%
M221 S100