大概是23年做的,当时P1S刚出
此段用于开始打印前
[gcode_macro PRINT_START]
gcode:
{% set bedtemp = params.BED|int %} #设置热床温度
M109 S150
M140 S{bedtemp}
BED_MESH_CLEAR
G28 #归位所有轴
WIPE_NOZZLE
QUAD_GANTRY_LEVEL
G28 Z
{% set bedtemp = params.BED|int %} #设置热床温度
{% set hotendtemp = params.EXTRUDER|int %} #打印头温度
M190 S{bedtemp}
M109 S{hotendtemp}
BED_MESH_PROFILE LOAD=default
#CALIBRATE_Z
#G28
G92 E0; #重置挤出
# Draw Line
G90
G0 X110 Y0 Z0.2 F9000 # Move to start position
G92 E0 # Reset Extruder
G1 E10 F600 # Extrude a little
G1 X10 E20 F1000 # Draw line
G92 E0 # Reset Extruder
G91 # relative positioning
G0 X50 F18000 # Wipe line 1
G0 X-40 F18000 # Wipe line 2
G0 Z5 F1000 # Raise nozzle
G0 Y5 F1000 # move nozzle away a little
G90
#M221 S96
用于擦嘴
[gcode_macro WIPE_NOZZLE]
gcode:
{% set WIPE_TEMP = 220 %}
{% set MIN_TEMP = WIPE_TEMP - 30 %}
{% set ACTUAL_TEMP = printer.extruder.temperature %}
{% set TARGET_TEMP = printer.extruder.target %}
{% if TARGET_TEMP < WIPE_TEMP %}
{ action_respond_info('Extruder temperature target of %.1fC is too LOW, heating to %.1fC' % (TARGET_TEMP, WIPE_TEMP)) } #温度判断
M109 S{ WIPE_TEMP }
{% endif %}
G90
G0 X180 Y258.5 F9000 # Move to start position
G0 Z-1
G1 X230 F6000 # Extrude a little
G1 X180 F6000 # Draw line
G1 X230 F6000 # Extrude a little
G1 X180 F6000 # Draw line
G1 X230 F6000 # Extrude a little
G1 X170 F6000 # Draw line
G1 X230 Z1 F6000 # Draw line
M106 S255
M104 S150
G0 X125 Y258
G0 Z0.5 F20000
G0 X125 Y257 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y258.5
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y258
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y258.5
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y257
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y258
G0 Z-1.01
G0 X131 F211
G0 X124
G0 Z0.5 F20000
G0 X125 Y257
G0 Z-1.01
G0 X131 F211
G0 X124
G0 X128
G2 I0.5 J0 F300
G2 I0.5 J0 F300
G0 Z1
G1 X210 Y258.5 F6000 # Extrude a little
G1 X185 F6000 # Draw line
G1 Y240 Z10
M106 S0
#M221 S96
打印结束后打印头归位
[gcode_macro PRINT_END]
gcode:
M400 ; 等待当前移动完成
G92 E0 ; 设置挤出机相对坐标0
G1 E-10.0 F3600 ; 挤出机回抽10mm
G91 ; 设置相对坐标系
G0 Z1.00 ; Z轴抬升1mm
G90 ; 设置绝对坐标系
G0 X125 Y250.0 F20000 ; 移动至X125 Y20
TURN_OFF_HEATERS
M107 ; turn off fan
BED_MESH_CLEAR
#M84
用于取消打印
[gcode_macro CANCEL_PRINT]
rename_existing: CANCEL_PRINT_BASE
gcode:
M400 ; 等待当前移动完成
G92 E0 ; 设置挤出机相对坐标0
G1 E-10.0 F3600 ; 挤出机回抽10mm
G91 ; 设置相对坐标系
G0 Z1.00 ; Z轴抬升1mm
G90 ; 设置绝对坐标系
G0 X125 Y250 F20000 ; 移动至X125 Y20
TURN_OFF_HEATERS
M107 ; turn off fan
BED_MESH_CLEAR
#M84
CANCEL_PRINT_BASE
用于加载与卸载耗材
[gcode_macro LOAD_FILAMENT]
gcode:
M83 ; set extruder to relative
FORCE_MOVE STEPPER=extruder DISTANCE=5 VELOCITY=5 [ACCEL=100]
{% set LOAD_TEMP = 250 %}
{% set MIN_TEMP = LOAD_TEMP - 10 %}
{% set ACTUAL_TEMP = printer.extruder.temperature %}
{% set TARGET_TEMP = printer.extruder.target %}
{% if TARGET_TEMP < LOAD_TEMP %}
{ action_respond_info('Extruder temperature target of %.1fC is too LOW, heating to %.1fC' % (TARGET_TEMP, LOAD_TEMP)) }
M109 S{ LOAD_TEMP }
{% endif %}
G1 E60 F1800 ; load
G1 E60 F500 ; prime nozzle with filament
G1 E-5 F3600
M82 ; set extruder to absolute
TURN_OFF_HEATERS
[gcode_macro UNLOAD_FILAMENT]
gcode:
M83 ; set extruder to relative
{% set LOAD_TEMP = 250 %}
{% set MIN_TEMP = LOAD_TEMP - 10 %}
{% set ACTUAL_TEMP = printer.extruder.temperature %}
{% set TARGET_TEMP = printer.extruder.target %}
{% if TARGET_TEMP < LOAD_TEMP %}
{ action_respond_info('Extruder temperature target of %.1fC is too LOW, heating to %.1fC' % (TARGET_TEMP, LOAD_TEMP)) }
M109 S{ LOAD_TEMP }
{% endif %}
G1 E20 F500
G1 E80 F300
M82
TURN_OFF_HEATERS
优化无限位归零
[homing_override]
axes: xyz
set_position_z: 0
gcode:
G90
G0 Z5 F600
{% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %}
{% if home_all or 'X' in params %}
_HOME_X
{% endif %}
{% if home_all or 'Y' in params %}
_HOME_Y
{% endif %}
{% if home_all or 'Z' in params %}
_HOME_Z
{% endif %}
[gcode_macro _HOME_X]
gcode:
# Always use consistent run_current on A/B steppers during sensorless homing
{% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %}
{% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %}
{% set HOME_CURRENT = 0.5 %} # replace the XX with a current value that is about 70% less than your run_current value for X and Y
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT * RUN_CURRENT_X}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT * RUN_CURRENT_Y}
# Home
G28 X
# Move away
G91
G1 X-10 F1200
# Wait just a second… (give StallGuard registers time to clear)
G4 P1000
G90
# Set current during print
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y}
[gcode_macro _HOME_Y]
gcode:
# Set current for sensorless homing
{% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %}
{% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %}
{% set HOME_CURRENT = 0.5 %} # replace the XX with a current value that is about 70% less than your run_current value for X and Y
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT * RUN_CURRENT_X}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT * RUN_CURRENT_X}
# Home
G28 Y
# Move away
G91
G1 Y-10 F1200
# Wait just a second… (give StallGuard registers time to clear)
G4 P1000
G90
# Set current during print
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y}
[gcode_macro _HOME_Z]
gcode:
G90
G1 X125 Y125 F20000
G28 Z
G1 Z30
Comments NOTHING