Skip to content

Commit 6d5ae7c

Browse files
authored
Merge pull request #644 from tehniemer/prime-line-wipe
Prime line wipe
2 parents 55a6908 + 64bad33 commit 6d5ae7c

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

macros/helpers/prime_line.cfg

+9-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ gcode:
77
{% set prime_line_height = params.LINE_HEIGHT|default(printer["gcode_macro _USER_VARIABLES"].prime_line_height)|default(0.6)|float %}
88
{% set prime_line_adaptive = params.ADAPTIVE_MODE|default(1)|int %}
99
{% set prime_line_margin = params.LINE_MARGIN|default(printer["gcode_macro _USER_VARIABLES"].prime_line_margin)|default(5.0)|float %} # Used only in adaptive mode
10-
10+
{% set prime_line_wipe = printer["gcode_macro _USER_VARIABLES"].prime_line_wipe|default(False) %}
11+
{% set prime_line_wipe_length = prime_line_length * 0.8 %}
12+
1113
# If the SIZE parameter is defined and not a dummy placeholder, we use it to do the adaptive bed mesh logic
1214
{% set coordinatesFound = false %}
1315
{% if params.SIZE is defined and params.SIZE != "0_0_0_0" %}
@@ -116,8 +118,14 @@ gcode:
116118
G92 E0
117119
{% if prime_line_direction == "X" %}
118120
G1 X{prime_line_x + prime_line_way*prime_line_length} E{prime_line_purge_distance} F{speed}
121+
{% if prime_line_wipe %}
122+
G0 X{prime_line_x + prime_line_way*prime_line_wipe_length} F{St}
123+
{% endif %}
119124
{% elif prime_line_direction == "Y" %}
120125
G1 Y{prime_line_y + prime_line_way*prime_line_length} E{prime_line_purge_distance} F{speed}
126+
{% if prime_line_wipe %}
127+
G0 Y{prime_line_y + prime_line_way*prime_line_wipe_length} F{St}
128+
{% endif %}
121129
{% else %}
122130
{ action_respond_error("Prime line direction is not valid. Choose either X or Y in the variables.cfg file!") }
123131
{% endif %}

user_templates/variables.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ variable_prime_line_purge_distance: 30 # length of filament to purge (in mm)
5959
variable_prime_line_flowrate: 10 # mm3/s used for the prime line
6060
variable_prime_line_height: 0.6 # mm, used for actual cross section computation
6161
variable_prime_line_margin: 5 # distance of purge line from fl_size rectangle
62+
variable_prime_line_wipe: False # enable a wipe of the nozzle after completing the prime line
6263

6364
## Park position used when pause, end_print, etc...
6465
variable_park_position_xy: -1, -1

0 commit comments

Comments
 (0)