What's new
VORON Design

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members!

Question Prusa-Style purge at start of print


Well-known member
I'm finding using a skirt as a purge/prime solution doesn't work well for me because at the very start it deposits plastic "pebbles" that are hard to remove and have to be "printed over" in order to remove them (basically combining them with the model I'm printing). This isn't ideal when using different colored filaments. So instead I am using a "purge slab" of sorts that I print in the top right or left in the same place. Some folks don't like this for the potential for wear but I haven't noticed any real issue there and simply don't print over to that corner except under special cases.

The problem with the slab is I'm doing it by adding a box in SuperSlicer but sometimes I forget to make sure to put it at the first object. It's not at all helpful if it prints 3rd since I've already "primed" by printing the first layer of a model.

So what I'd like to do is take the GCODE that prints the box and simply use that as the start GCODE for the printer or filament. I suppose with Klipper I could even use a macro that I just call to keep the start gcode short.

Has anyone done this and have recomendations? Doing it manually is fine except when I forget the order as noted above then it sucks because I have to rub an ice cube on over the primed area to try and get all the plastic bits off.

Hopefully all that made sense :p
I have a Prusa-style prime line in the start g-code in my printer config in the slicer. It works well - the only "gotcha" is that if I place an object on the front of the bed, it could interfere. I haven't had an issue with that.

It would probably work well to move this into a macro in my printer config.

Here's my prime line (inspired by bobstro):

G0 Z0.15 ; Restore nozzle position
M900 K0; Disable Linear Advance for prime line
G92 E0.0 ; reset extrusion distance
G1 X20.0 Y0 F10000.0 ; go outside print area
G1 E8 F1000 ; de-retract and push ooze
G1 X30.0 E6  F1000.0 ; fat 10mm intro line @ 0.30
G1 X60.0 E3.2  F1000.0 ; thin +30mm intro line @ 0.08
G1 X90.0 E6  F1000.0 ; fat +30mm intro line @ 0.15
G1 E-0.8 F3000; retract to avoid stringing
G1 X89.5 E0 F1000.0 ; -0.5mm wipe action to avoid string
G1 X118.0 E0 F1000.0 ; intro line @ 0.00
G1 E0.6 F1500; de-retract
G92 E0.0 ; reset extrusion distance
You should check out KAMP (Klipper Adaptive Meshing Purging)!

Not only does it do a purge line, but it uses object tagging to place it close to your object, automatically moving it if necessary.
(KAMP does other nice things too - like restricting your mesh leveling to only the area used by the object being printed.)

Oh yeah I've been keeping an eye on KAMP. Looked at it this morning in fact and yeah it's pretty fantastic! Looking at the docs it looks like it doesn't work with Octoprint though. I know Octo isn't super popular for Vorons but I have a bunch of telemetry and and notifications and things that integrate it for my tiny print farm and really want to keep that integration. I need to get time to migrate those over to Mainsail (and/or perhaps hope a KAMP Octoprint plugin drops). I keep checking in on it though!

In the meantime, I went with a Prusa-style purge line for my start G-code:

; Prime line
G1 X2.0 Y2.0 F18000            ; go to edge of bed
G1 Z0.2 F5000                      ; lower nozzle
G92 E0.0                               ; reset extruder position
G1 X200.0 E32.0 F1000.0          ; start intro line
G1 X50.0 E14.0 F1000.0          ; finish thicker
G92 E0.0

Nothing special but it does seem to do the job well. Of note it doesn't leave "dirt" on my build plate either like just having the skrit was doing (I guess because it's intentionally extruding more?).