Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
2.4 kB
1
Indexable
Never
[gcode_macro PRIME_NOZZLE] 
gcode: 
    SAVE_GCODE_STATE NAME=PRIME_NOZZLE_STATE 
    
    M117 Priming ...
    G28
    G1 X6.0 Y4.0 F18000            ; go to edge of bed
    G1 Z0.2 F5000                      ; lower nozzle
    G92 E0.0                               ; reset extruder position
    G1 X200.0 E8.0 F1000.0          ; start intro line
    G1 X300.0 E9.0 F1000.0          ; finish thicker
    G1 X300.0 Y6 E9.0 F1000.0          ; finish thicker
    G1 X6.0 E9.0 F1000.0          ; finish thicker
    G92 E0.0
    M117 Printing ...                      ; display message
    
    RESTORE_GCODE_STATE NAME=PRIME_NOZZLE_STATE

[gcode_macro G32]
gcode:
    SAVE_GCODE_STATE NAME=STATE_G32
    BED_MESH_CLEAR #TODO: should we use this here?
    G90
    CLEAN_NOZZLE
    G28

    QUAD_GANTRY_LEVEL
    CLEAN_NOZZLE
    
    G28
    CALIBRATE_Z
    BED_MESH_CALIBRATE
    
    CLEAN_NOZZLE
    G28

    BED_MESH_PROFILE LOAD="default" #TODO: Should we use this here?

    RESTORE_GCODE_STATE NAME=STATE_G32
   
[gcode_macro PRINT_START]
#   Use PRINT_START for the slicer starting script - please customise for your slicer of choice
gcode:
    G32                            ; home all axesbsolute positioning
    G90                            ; a
    G1 Z20 F3000                   ; move nozzle away from bed
    STATUS_PRINTING
    #PRIME_NOZZLE
	
[gcode_macro PRINT_END]
#   Use PRINT_END for the slicer ending script - please customise for your slicer of choice
gcode:
    # safe anti-stringing move coords
    {% set th = printer.toolhead %}
    {% set x_safe = th.position.x + 20 * (1 if th.axis_maximum.x - th.position.x > 20 else -1) %}
    {% set y_safe = th.position.y + 20 * (1 if th.axis_maximum.y - th.position.y > 20 else -1) %}
    {% set z_safe = [th.position.z + 2, th.axis_maximum.z]|min %}
    
    SAVE_GCODE_STATE NAME=STATE_PRINT_END
    
    M400                           ; wait for buffer to clear
    G92 E0                         ; zero the extruder
    G1 E-5.0 F1800                 ; retract filament
    
    TURN_OFF_HEATERS
    
    G90                                      ; absolute positioning
    CLEAN_NOZZLE
    G0 X{x_safe} Y{y_safe} Z{z_safe} F20000  ; move nozzle to remove stringing
    G0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y - 2} F3600  ; park nozzle at rear
    M107                                     ; turn off fan
    
    BED_MESH_CLEAR
    RESTORE_GCODE_STATE NAME=STATE_PRINT_END