Saturday, September 16, 2017

Blobs when using ColorPrint on a Prusa i3 MK2(s)

Are you experiencing big blobs at color changes during a muti-color print (single mode, not multi-material mode)?
The problem is caused by Prusa's ColorPrint when you have any retraction amount above 0 in the extruder settings of Slic3r PE.  If you need/use retraction, and I almost always use it, you have to modify the gcode spit out by ColorPrint.  Here's how, and why.

Open the gcode file in wordpad

Use "Find" to look for "M600"

The next line after the M600 will look something like this if you have retraction set to .8 in Slic3r

G1 E0.80000 F2100.00000

"E" is an extrude command and the figure after E is the retraction or extrusion distance.  The F is speed.

If the figure after E is positive, it means extrude.  Negative means retract.

So when you ask for a color change at Z1.00, Color Print will insert the following into your original
gcode right after the G1 Z1.0 line:

M600
G1 E0.80000 F2100.00000

There's a problem with this.  The M600 command calls up the filament change subroutine.  It moves the nozzle to the RF of the bed, ejects the filament, sets off an alarm and waits for you to insert the next filament. Once you insert the new filament and click the wheel, it extrudes to clean the nozzle of the former filament. You are then prompted to check if the extrusion is clean.  If you answer yes, (grab that extruded cleanout filament!) the nozzle will immediately go right back to the place where it stopped printing and this is the end of the M600 subroutine....and here's where the problem occurs.

The nozzle is full at this point.  So full that it is already oozing, and the next line of gcode says "spit out .8mm."
This causes a blob on your model where your new color begins!  And it is going to make a blob based on the retraction amount you set in Slic3r, the higher your retraction setting, the bigger the blob! Deleting the line of code in this example (G1 E0.80000 F2100.00000) after the M600 will get rid of the blob.  You have to check after each M600 line, so go back to "Find" in Wordpad and click "next."
Save the revised gcode and you are ready to print!