When printing multicolor with a single nozzle, traditional methods require at least one purge for every layer that uses more than one filament. Multiply that by the number of colors and layers in your print, and you'll quickly fill up your poop bin.
I had a thought: most print heads have some clearance between the nozzle and the build plate. Why not use that space to print several layers of one color at a time, then backfill the gaps with another color?
Turns out, someone actually wrote a research paper on this exact concept a few years ago, but as far as I could tell, it never made it into a practical tool.
Well, I couldn't leave it at that. After burning some tokens, I put together a post-processing tool that attempts to do exactly this. I'm calling it ColorStack.
The workflow is simple:
- Slice your model as usual.
- Open the sliced file in ColorStack.
- Process and export it.
- Send the modified file to your printer.
Full instructions are available on GitHub.
In an ideal, best-case test print, I was able to reduce filament purges from 49 to just 9. Since filament changes on a single-nozzle printer can be pretty slow, that also cut the print time for my test model from 1 hour 10 minutes to just 30 minutes.
Obviously, this isn't going to work equally well for every model, but I've found that most multicolor models offer at least some marginal benefit.
Ideally, this would be a built-in slicer feature, but I'm not really equipped to implement that myself. So I'm releasing ColorStack for anyone to freely use, copy, modify, and hopefully improve.
I'm sharing it here because I don't want the idea to sit forgotten in my GitHub repo and disappear into the void.