Move out of range despite no move out of range in G-Code
There is no move out of range in the G-Code however the printer tries to move out of range. The primeblob had to be adjusted because the printhead is a customized, ultra slim designed:
1 Reply
[gcode_macro PRIME_BLOB]
description: Prints a primeblob, used internally, if configured, as part of the START_PRINT macro. Slower than PRIME_LINE but much more effective.
gcode:
SAVE_GCODE_STATE NAME=prime_blob_state
M117 Priming nozzle with prime blob..
RESPOND MSG="Priming nozzle with prime blob.."
{% set speed = printer["gcode_macro RatOS"].macro_travel_speed|float * 60 %}
{% set z_speed = printer["gcode_macro RatOS"].macro_z_speed|float * 60 %}
{% set fan_speed = printer["gcode_macro RatOS"].nozzle_prime_bridge_fan|float %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'min' %}
{% set x_start = 20 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_x|lower == 'max' %}
{% set x_start = printer.toolhead.axis_maximum.x - 20 %}
{% else %}
{% set x_start = printer["gcode_macro RatOS"].nozzle_prime_start_x|float %}
{% endif %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'min' %}
{% set y_start = 60 %}
{% set y_factor = 1 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_start_y|lower == 'max' %}
{% set y_start = printer.toolhead.axis_maximum.y - 5 %}
{% set y_factor = -1 %}
{% else %}
{% set y_start = printer["gcode_macro RatOS"].nozzle_prime_start_y|float %}
{% if printer["gcode_macro RatOS"].nozzle_prime_start_y|float < printer.toolhead.axis_maximum.y / 2 %}
{% set y_factor = 1 %}
{% else %}
{% set y_factor = -1 %}
{% endif %}
{% endif %}
{% if printer["gcode_macro RatOS"].nozzle_prime_direction|lower == 'forwards' %}
{% set y_factor = 1 %}
{% elif printer["gcode_macro RatOS"].nozzle_prime_direction|lower == 'backwards' %}
{% set y_factor = -1 %}
{% endif %}
{% set z = printer["gcode_macro RatOS"].start_print_park_z_height|float %}
M117 Checking probe status...
RESPOND MSG="Checking probe status..."
{% if _ASSERT_PROBE_STATE == 0 %}
M117 Stowing probe, because why exactly?
RESPOND MSG="Stowing probe, because why exactly?"
STOW_PROBE
{% endif %}
# Absolute positioning
G90
# Relative extrusion
M83
# Lift to start print Z height
G0 Z{z} F{z_speed}
# move close to blob position along the edge of the bed
G1 X{x_start} F{speed}
G1 Y{y_start + (15 * y_factor)} F{speed}
# Lower to blob extrusion height
G1 Z0.5 F{z_speed}
# Move to final position horizontally
G1 Y{y_start} F{speed}
# Extrude a blob
G1 F60 E20
# 40% fan
M106 S{fan_speed}
# Move the extruder up by 5mm while extruding, breaks away from blob
G1 Z5 F100 E5
# Move to wipe position, but keep extruding so the wipe is attached to blob G1 F200 Y{y_start + (25 * y_factor)} E1 # Go down diagonally while extruding # Broken down in z moves under 2mm as a workaround for a tuning tower test. # The tuning tower command thinks a new print has been started when z moves over 2mm and aborts. G1 F200 Y{y_start + (30 * y_factor)} Z3.8 E0.5 G1 F200 Y{y_start + (35 * y_factor)} Z2.6 E0.5 G1 F200 Y{y_start + (40 * y_factor)} Z1.4 E0.5 G1 F200 Y{y_start + (45 * y_factor)} Z0.2 E0.5 # 0% fan M106 S0 # small wipe line G1 F200 Y{y_start + (50 * y_factor)} Z0.2 E0.6 # Break away wipe G1 F{speed} Y{y_start + (100 * y_factor)} RESTORE_GCODE_STATE NAME=prime_blob_state Only solution is to move 1 Element in the slicer and regenerate the G-Code.
# Move to wipe position, but keep extruding so the wipe is attached to blob G1 F200 Y{y_start + (25 * y_factor)} E1 # Go down diagonally while extruding # Broken down in z moves under 2mm as a workaround for a tuning tower test. # The tuning tower command thinks a new print has been started when z moves over 2mm and aborts. G1 F200 Y{y_start + (30 * y_factor)} Z3.8 E0.5 G1 F200 Y{y_start + (35 * y_factor)} Z2.6 E0.5 G1 F200 Y{y_start + (40 * y_factor)} Z1.4 E0.5 G1 F200 Y{y_start + (45 * y_factor)} Z0.2 E0.5 # 0% fan M106 S0 # small wipe line G1 F200 Y{y_start + (50 * y_factor)} Z0.2 E0.6 # Break away wipe G1 F{speed} Y{y_start + (100 * y_factor)} RESTORE_GCODE_STATE NAME=prime_blob_state Only solution is to move 1 Element in the slicer and regenerate the G-Code.