Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
Hey guys,
I just made a quick and dirty fork of PS that disables some of the checks meant to keep the less informed users from messing something up. It is located here: https://github.com/DoubleStrike/PrusaSlicer-MultiTool .
Specifically, this enables the wipe tower in several situations where PS normally blocks it - mismatching nozzle sizes, different slicing settings per object, and for adaptive layer heights.
This is not elegant, or well-tested, but if you are doing prints like me with 0.4+0.6mm nozzles and are using a sane layer height such as 0.2mm, then there's no technical reason you should be blocked.
Final warning: this code is likely to destroy your print, melt your printer, and make your wife or husband leave you. The world's end may be hastened, and cats and dogs will live together in an abomination of the natural order. You have been warned.
Brand new to 3D printing and my 5-tool XL is my first 3D Printer!Check out my Multi-Tool fork of PrusaSlicer to mix and match nozzle sizes.
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
As a quick follow-up, pre-compiled binaries are included for Win64. If you are on another platform, you'll have to build it yourself. If someone else can do that build, I'd be happy to attach those binaries, but please don't expect me to do it, as I only run Windows.
Brand new to 3D printing and my 5-tool XL is my first 3D Printer!Check out my Multi-Tool fork of PrusaSlicer to mix and match nozzle sizes.
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
So tried enabling the wipe tower for a 4x.25 nozzle, .6 support print with the .6 set for tower extruder. But the issue is PS sets the extrusion width to .25 or slightly wider whether you start with the .25 printer template or the .6 template. The result of that is that I couldn't get the .6 nozzle to print the first layer of the tower because it would extrude as if it were a .25 nozzle - very little. The filament would just clump onto the nozzle itself rather than stick to the bed. Super frustrating when it successfully prints the first layer of supports just fine because those are correctly sliced/extruded for a .6 nozzle.
I couldn't find a way to modify the tower's shell extrusion width, nor apply a modifier to it in the slicer itself. It might work if my support nozzle was a .4 instead, something less extremely different from .25 vs .6. So this idea is out the window for now.
I can think of a couple workarounds for my specific situation, but it doesn't remedy the issue. It also took me too long to notice/realize this, but now yall can avoid making my mistake.
XL-5T, MK3S MMU3 || GUIDE: How to print with multiple-nozzlesizes do read updated replies || PrusaSlicer Fork with multi-nozzlesize freedom || How Feasible is Printing PETG for PLA supports on XL very
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
So tried enabling the wipe tower for a 4x.25 nozzle, .6 support print with the .6 set for tower extruder. But the issue is PS sets the extrusion width to .25 or slightly wider whether you start with the .25 printer template or the .6 template. The result of that is that I couldn't get the .6 nozzle to print the first layer of the tower because it would extrude as if it were a .25 nozzle - very little. The filament would just clump onto the nozzle itself rather than stick to the bed. Super frustrating when it successfully prints the first layer of supports just fine because those are correctly sliced/extruded for a .6 nozzle.
I couldn't find a way to modify the tower's shell extrusion width, nor apply a modifier to it in the slicer itself. It might work if my support nozzle was a .4 instead, something less extremely different from .25 vs .6. So this idea is out the window for now.
I can think of a couple workarounds for my specific situation, but it doesn't remedy the issue. It also took me too long to notice/realize this, but now yall can avoid making my mistake.
I appreciate the feedback! I was just testing with 0.4 and 0.6 mixed and it was working really well. I have not taken out my 0.25 and 0.8 that I bought with the printer. I got one of each of 0.25/0.4/0.8 to test with, and based on that, I ordered (and just got today) a full set of 0.4s. I guess there's a limit. I could add some logic to scale the extrusion multiplier in such cases just for the wipe tower, but I have a sense I would wreck something else.
I'd bet going between 0.25 and 0.4 would be OK also.
On a different note, I was playing with disabling the helical lifts that it does when ramping lift is enabled. There's no way to have ramping lift without helical lift at the moment, so I am playing with just disabling helical lifting entirely, as I find it ruins the surface finish quite a bit. You can see the before/after for the tool paths here with identical slicing settings:
Brand new to 3D printing and my 5-tool XL is my first 3D Printer!Check out my Multi-Tool fork of PrusaSlicer to mix and match nozzle sizes.
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
I could do a Mac build (and maybe Linux too) if the features of multiple nozzle sizes on 5 toolheads mature a bit more....
Regards,
CJ
Modified Prusa XL w/ 5T, mix of 0.4 Diamond, 0.6 Diamond, 0.6 Prusa
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
I could do a Mac build (and maybe Linux too) if the features of multiple nozzle sizes on 5 toolheads mature a bit more....
Regards,
CJ
Modified Prusa XL w/ 5T, mix of 0.4 Diamond, 0.6 Diamond, 0.6 Prusa
Awesome. Again, just to restate, this is just a brute-force hack to allow people to play around with things the slicer blocks. Now that Superslicer is getting weekly commits again, and he is merging up to 2.7 RC1 right now, I have no doubt that will be a better long-term solution.
But in the interim, at least it lets us play. I'm trying to understand the settings interface now, so I can add a checkbox for disabling helical lifts. I have found a lot of improvement with leaving ramping lift on, but no helical lift.
Brand new to 3D printing and my 5-tool XL is my first 3D Printer!Check out my Multi-Tool fork of PrusaSlicer to mix and match nozzle sizes.
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
Given that, and the lack of demand I'm seeing here for those builds, I can just use the Windows one to play if 2.7 RC1 is on the nearterm horizon. Thanks for working on it! What's the big difference between what you are doing and https://forum.prusa3d.com/forum/original-prusa-xl-tool-changer-general-discussion-announcements-and-releases/fork-of-prusaslicer-that-enables-wipe-tower-for-mismatched-nozzle-sizes-highly-experimental/#post-694701 ?
RE:
Given that, and the lack of demand I'm seeing here for those builds, I can just use the Windows one to play if 2.7 RC1 is on the nearterm horizon. Thanks for working on it! What's the big difference between what you are doing and https://forum.prusa3d.com/forum/original-prusa-xl-tool-changer-general-discussion-announcements-and-releases/fork-of-prusaslicer-that-enables-wipe-tower-for-mismatched-nozzle-sizes-highly-experimental/#post-694701 ?
You quoted my build in the link above, so I'm a bit confused. If you mean what am I doing different vs. something like SuperSlicer, then the answer is "quite a lot."
The only thing I did in my custom build was to eliminate some of the things that block the use of a wipe tower in the normal code. You can go to the github link and look at the commits and see exactly what I disabled - it's actually pretty easy to see even if you are not a coder.
The commit in question is this one:
https://github.com/prusa3d/PrusaSlicer/commit/79c1ea7f86b44ee2b86acb377cd60f1f794eb0c5
Brand new to 3D printing and my 5-tool XL is my first 3D Printer!Check out my Multi-Tool fork of PrusaSlicer to mix and match nozzle sizes.
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
Maybe I'm not working the forum correctly, as I didn't notice the quotation action. Apologies for any confusion.
CJ
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
Hi guys, I'm curious if you've made any further progress here.
I'm currently using Nikhil S.'s build with the automatic width setting (all widths =0). I'm combining 0.25mm and 0.6mm nozzles, and it works quite well for simple objects. Printing labels with text or ornaments on a flat surface is especially useful and straight forward.
Do you have any interesting use cases that you've also tried? What limits you the most? I will be experimenting more in the upcoming days, so if you have some interesting ideas, let's share them! 🙂
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
Glad to hear you are having success. I have gotten a bit busy with work but I just completed a merge up to 2.8.0-rc1 and am compiling it now. That should get me back to being more current with the app version. I also posted a 2.7.5 version that I had uploaded earlier but set to private.
Hi guys, I'm curious if you've made any further progress here.
I'm currently using Nikhil S.'s build with the automatic width setting (all widths =0). I'm combining 0.25mm and 0.6mm nozzles, and it works quite well for simple objects. Printing labels with text or ornaments on a flat surface is especially useful and straight forward.
Do you have any interesting use cases that you've also tried? What limits you the most? I will be experimenting more in the upcoming days, so if you have some interesting ideas, let's share them! 🙂
Brand new to 3D printing and my 5-tool XL is my first 3D Printer!Check out my Multi-Tool fork of PrusaSlicer to mix and match nozzle sizes.
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
Hello Nikhil, this fork is just what i have been looking! But i have a problem, i downloaded latest release, but when i start prusa-slicer.exe nothing happens?
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
Glad to hear you are having success. I have gotten a bit busy with work but I just completed a merge up to 2.8.0-rc1 and am compiling it now. That should get me back to being more current with the app version. I also posted a 2.7.5 version that I had uploaded earlier but set to private.
Your 2.8.0 release doesn't seem to be working for me.
Here's a quick example file. Just one box using a .6 nozzle and a cylinder using a .4
2.8.0 wont allow slicing because nozzles differ:
Old 2.7.2-a2 slices fine:
Hello Nikhil, this fork is just what i have been looking! But i have a problem, i downloaded latest release, but when i start prusa-slicer.exe nothing happens?
You need to create a copy of the entire PrusaSlicer folder and then replace some of the files in the copied PS with those in the released zip.
XL-5T, MK3S MMU3 || GUIDE: How to print with multiple-nozzlesizes do read updated replies || PrusaSlicer Fork with multi-nozzlesize freedom || How Feasible is Printing PETG for PLA supports on XL very
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
@nikhil-s
If it helps at all, it seems that two different Objects of different sized nozzles wont allow the wipe tower. However, different Parts within a single Object can have different sized nozzles and the wipe tower is allowed.
XL-5T, MK3S MMU3 || GUIDE: How to print with multiple-nozzlesizes do read updated replies || PrusaSlicer Fork with multi-nozzlesize freedom || How Feasible is Printing PETG for PLA supports on XL very
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
Thanks for the feedback. Let me do some testing to see if some of the other 2.80 changes are conflicting somehow. I can hopefully work around that.
I'm really hoping the next version or 2 will officially start supporting this stuff. The current promise of the XL is not realized fully without it.
@nikhil-s
If it helps at all, it seems that two different Objects of different sized nozzles wont allow the wipe tower. However, different Parts within a single Object can have different sized nozzles and the wipe tower is allowed.
Brand new to 3D printing and my 5-tool XL is my first 3D Printer!Check out my Multi-Tool fork of PrusaSlicer to mix and match nozzle sizes.
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
Figured out the problem (on your 2.8.1 full release at least). If the "Layer height limits" of all the Extruders in Printer Settings arn't all the same (ex: all Min set to 0.07 and all Max set to 0.3, except Extruder 1 with Min set to 0.69) then PS won't let you slice with multiple objects of different nozzle sizes.
Seems the easy thing to do is to just set all Mins and Maxes to zero. I don't know what those two parameters actually affect otherwise; the default layer heights in the Print Settings dropdowns seem to be based off the nozzle sizes rather than layer height limits anyway.
Thanks for taking the time to do all these fork updates Nikhil 👍
XL-5T, MK3S MMU3 || GUIDE: How to print with multiple-nozzlesizes do read updated replies || PrusaSlicer Fork with multi-nozzlesize freedom || How Feasible is Printing PETG for PLA supports on XL very
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
Wow - great catch! I was trying different combinations, but since mine were set to 0 by default, I hadn't found the issue you did. I will put that in the project documentation on the front page of GitHub.
Figured out the problem (on your 2.8.1 full release at least). If the "Layer height limits" of all the Extruders in Printer Settings arn't all the same (ex: all Min set to 0.07 and all Max set to 0.3, except Extruder 1 with Min set to 0.69) then PS won't let you slice with multiple objects of different nozzle sizes.
Seems the easy thing to do is to just set all Mins and Maxes to zero. I don't know what those two parameters actually affect otherwise; the default layer heights in the Print Settings dropdowns seem to be based off the nozzle sizes rather than layer height limits anyway.
Thanks for taking the time to do all these fork updates Nikhil 👍
Brand new to 3D printing and my 5-tool XL is my first 3D Printer!Check out my Multi-Tool fork of PrusaSlicer to mix and match nozzle sizes.
RE: Fork of PrusaSlicer that enables wipe tower for mismatched nozzle sizes - HIGHLY experimental
Wow, a fork of PrusaSlicer that supports wipe towers for mismatched nozzle sizes? That’s like finding a treasure map for 3D printing! I can already picture my prints looking sharper than my cooking skills! For anyone feeling adventurous, this experimental feature sounds like a game changer. If you need more details or want to dive deeper into the world of slicing sorcery, just give Google a little nudge. It’s like having a wise wizard at your fingertips!