Moving the nozzle wipe
Hi,
Is there any way to move the nozzle wipe? There's a large area at the front of the build plate that could be used, but the printer always uses the bottom left section and in exactly the same place. After lots of prints, it's getting increasingly difficult to remove the wipe from the build plate and it occurred to me that if it moved 2 mm further forward or back, or alternatively moved 60+ mm to the right, it'd be wiping on a fresh bit of build plate.
Is this something that's possible to configure?
In case I'm using the wrong terminology, it's this that I'd like to move:
Thanks
Al
RE:
in the 'printer settings>Custom Gcode>Start GCode, you will probably have something like this
G1 Z0.2 F720
G1 Y-3 F1000 ; go outside print area
G92 E0
G1 X60 E9 F1000 ; intro line
G1 X100 E12.5 F1000 ; intro line
G92 E0
Will give a Intro line to the left of the build plate
which effectively:-
positions the extruder Nozzle at 0.2mm above the build plate, G1 Z0.2 F720
Moves the extruder Nozzle to the front of the build area, outside the normal build area, G1 Y-3 F1000 ; go outside print area
Sets the Extruder axis to 'Home Position'G92 E0
Prints part of the intro line G1 X60 E9 F1000 ; intro line
Prints the remainder of the intro line G1 X100 E12.5 F1000 ; intro line
Resets the extruder Axis to a new 'Home Position'G92 E0
I suspect Adding G1 X100 then changing X60 to X160 and X100 to X200, will move the purge line towards the end of the X axis
G1 Z0.2 F720
G1 Y-3 F1000 ; go outside print area
G92 E0
G1 X100 ;Move Extruder nozzle to X100
G1 X160 E9 F1000 ; intro line
G1 X200 E12.5 F1000 ; intro line
G92 E0
will give a revised Intro line
regards Joan
I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK
RE: Moving the nozzle wipe
Thank you, that worked perfectly and the nozzle wipe was much easier to remove.
Sorry for the slow reply: I did a few prints after changing the setting and it didn't work and it took me a while to realise there was an "if" statement in the custom g-code and I'd edited the code in the "if" block but not the "else" block. As a result, it did absolutely nothing. Once I'd fixed that, it worked like a charm.
Thanks again
RE: Moving the nozzle wipe
@dral
This is my Prime Line
Started with Bobstros code and did some changes to it.
Puts the Prime line in 6 different places depending on minute and second you "Export G-code
Necessary? Guess not!
Educational? Yes!
Overkill? Yes, waaay overkill 😀
; ** START Prime line routine M117 Printing prime line M900 K0; Disable Linear Advance for prime line ; Adjust start position depending on minute and second ; My development on random X-position from RetireeJay and filip.m2 G1 Y{if minute >=40}-3 {elsif minute >=20}-2.5 {else}-2 {endif} F1000.0 ; move Y to -2, -2.5, or -3 depending on minute G1 X{if second >=30}0 {else}125 {endif} F8000.0 ; move X to 0 or 125 depending on second G0 Z0.30 ; Restore nozzle position a bit higher for less adhesion G92 E0.0 ; reset extrusion distance G1 E2 F1000 ; de-retract and push ooze G91 ;Use relative positions (starting from the current X-position) ; Start prime line G1 X20.0 E6 F1000.0 ; fat 20mm intro line @ 0.30 G1 X40.0 E3.2 F1000.0 ; thin +40mm intro line @ 0.08 G1 X40.0 E6 F1000.0 ; fat +40mm intro line @ 0.15 G1 E-0.8 F3000; retract to avoid stringing G1 X-0.5 E0 F1000.0 ; -0.5mm wipe action to avoid string G1 X10.0 E0 F1000.0 ; +10mm intro line @ 0.00 G1 E0.6 F1500; de-retract G92 E0.0 ; reset extrusion distance G90 ;Use absolute positions ; ** END Prime line routine
Prusa i3 MK3S+ FW 3.11.0 (kit dec -20), PrusaSlicer 2.6.1+win64, Fusion 360, Windows 10
RE: Moving the nozzle wipe
Love it!
Randomized to one of 8 spots
I got bored.
Having spent my life writing computer code (and GCode feels like code to me) and after reading this thread, inspired by @Ringarn67 and @joantabb, and a bit of research I'm using the following which wipes to one of 4 start positions at Y-2 or Y-3. That is it randomises over 8 different locations.
(I used completely separate locations to ensure there was not additional wear in areas of overlap).
The wipe lengths etc are the same as the default Prusa slicer wipe.
It uses the current second of the time to determine the location, make an absolute move to that spot and then uses relative moves to do the wipe. And the code returns back to absolute positioning
I did consider wiping right to left to get an extra location left of 40mm but I didn't want the head to come back across its tracks and risk picking up rubbish it had already dropped.
On a MK3 with a 250mm bed (bed needs to be more than 230mm) I'm using:
[Use at your own risk, I'm certainly not qualified to debug Gcode for the specific printer and its mods that you use]
;Random Wipe
G1 Z0.2 F720 ;As prusa wipe (Set Z height)
;Move to Y-2 or Y-3, and 0, 40, 80, or 120 to start move
G1 X{int(second/15)*40} Y{-2-int(second/30)} F1000 ;Move to start with no extrude
G92 E0 ;As prusa wipe (Set extrude position)
G91 ;Set relative positioning
G1 X60 E9 F1000 ; intro line (as prusa wipe, executed relative)
G1 X40 E12.5 F1000 ; intro line (as prusa wipe, relative 40)
G90 ;Return to absolute positioning
;End Randow Wipe
For me this code is all I have between the {Else} and {endif} of the "{if filament_settings_id[initial_tool]=~/.*Prusament PA11.*/}" block.
Have fun with it and thanks for this forum thread and the contributions.
RE: Moving the nozzle wipe
The MK4 has a much improved purge/wipe which has a little curly handle on it. I've merged that from the MK4 startup g-code and added it to my MK2.5S+ (which is essentially a MK3 except for 12V electronics). Mesh-bed levelling at 170C to avoid oozing then the cute little squiggle it does to purge/prime the nozzle. With this I get perfect prints every time with no dingleberries, and removing the purge/wipe line is a breeze.
M862.3 P "[printer_model]" ; printer model check M862.1 P[nozzle_diameter] ; nozzle diameter check G90 ; use absolute coordinates M83 ; extruder relative mode ; initial warmup routine M104 S170 ; set extruder temp 170 to minimize oozing M140 S[first_layer_bed_temperature] ; set bed temp M190 S[first_layer_bed_temperature] ; wait for bed temp M109 S170 ; wait for extruder temp ; bed levelling G28 W ; home all without mesh bed level G80 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])} ; mesh bed levelling ; prepare for purge G0 X0 Y-4 Z15 F4800 M104 S[first_layer_temperature] M109 S[first_layer_temperature] ; purge line G92 E0 ; reset extruder position G1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning G0 E7 X15 Z0.2 F500 ; purge G0 X25 E4 F500 ; purge G0 X35 E4 F650 ; purge G0 X45 E4 F800 ; purge G0 X{45 + 3} Z{0.05} F{8000} ; wipe, move close to the bed G0 X{45 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed ; reset extrusion distance G92 E0
RE: Moving the nozzle wipe
I've had my MK3 since 2018. I've always been annoyed at the oozing filament in the startup sequence.
I finally looked into it and found this post. Replacing the default startup code with this is exactly what I didn't know I was missing all these years. THANK YOU!
The MK4 has a much improved purge/wipe which has a little curly handle on it. I've merged that from the MK4 startup g-code and added it to my MK2.5S+ (which is essentially a MK3 except for 12V electronics). Mesh-bed levelling at 170C to avoid oozing then the cute little squiggle it does to purge/prime the nozzle. With this I get perfect prints every time with no dingleberries, and removing the purge/wipe line is a breeze.
M862.3 P "[printer_model]" ; printer model check M862.1 P[nozzle_diameter] ; nozzle diameter check G90 ; use absolute coordinates M83 ; extruder relative mode ; initial warmup routine M104 S170 ; set extruder temp 170 to minimize oozing M140 S[first_layer_bed_temperature] ; set bed temp M190 S[first_layer_bed_temperature] ; wait for bed temp M109 S170 ; wait for extruder temp ; bed levelling G28 W ; home all without mesh bed level G80 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])} ; mesh bed levelling ; prepare for purge G0 X0 Y-4 Z15 F4800 M104 S[first_layer_temperature] M109 S[first_layer_temperature] ; purge line G92 E0 ; reset extruder position G1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning G0 E7 X15 Z0.2 F500 ; purge G0 X25 E4 F500 ; purge G0 X35 E4 F650 ; purge G0 X45 E4 F800 ; purge G0 X{45 + 3} Z{0.05} F{8000} ; wipe, move close to the bed G0 X{45 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed ; reset extrusion distance G92 E0