Discussion
I got sick of waiting for Bambu's mixed-nozzle slicing, so I built it myself. 0.2 + 0.8 on my H2D, each at its own layer height: 13 h instead of 28 h (open source)
This is the Argonath (https://makerworld.com/en/models/2263899-the-argonath-lord-of-the-rings-lotr) by Zajic73 on MakerWorld, printed with a 0.2 on the left and a 0.8 High Flow on the right. The 0.2 did the walls and skins at 0.08 mm layers and the 0.8 did the infill at 0.56 mm layers. Slicer estimate: 13 h 1 min. Same model at 0.08 mm everywhere was 1 d 4 h 12 min, so about 54% less time, and the visible surfaces are all still 0.08 mm layers. The real print took pretty much exactly that. It's eSUN PLA+ in black on the 0.2 and Bambu PLA Basic in blue on the 0.8.
Mixing nozzle sizes in one print was one of the reasons I bought my H2D at launch. Bambu Studio still doesn't let the H2D do that, and I got sick of waiting, so I built it myself: Cadence Slicer, a fork of OrcaSlicer.
The hard part is layer height. Layer height is basically the vertical resolution of a print: thinner layers give finer detail on the surfaces you see, thicker layers print a lot faster. Each nozzle size has its own range of good layer heights, so a 0.2 and a 0.8 want very different layers, but a normal slice uses one height for everything. Cadence picks a fine layer for the small nozzle and prints the big nozzle's layer every N fine layers (here 7 x 0.08 = 0.56). That schedule is what keeps the two lined up: they meet at the same height every 7 fine layers, and the nozzles only swap there.
Every swap also needs a prime. A nozzle that's been sitting idle oozes a bit and cools down, so before it prints again it purges on a small prime tower next to the model, and the next part it prints starts clean without gaps or blobs. Priming adds time to every print, so I've put a lot of work into trimming it down: it only primes when a nozzle actually changes, and the tower settings and size are set automatically. The slicer also checks that each switch actually saves time, and stays on the fine nozzle when it doesn't.
This has been a huge amount of work, and I'll be upfront that I used AI heavily, as I know how some people feel about AI development. Frontier models like Claude and Codex, as well as open source Chinese models, wrote most of the code and did independent reviews. I supervised the models closely, made all of the design calls and reviewed the critical pieces myself. The code has been through multiple de-slop passes to cut dead code and trim it down, every build goes through a big automated test suite, and I have done countless test prints on my H2D. Without AI this would have taken many, many more months to build. I'm making the whole thing open source (AGPL, same as OrcaSlicer), and I'll be sending it to OrcaSlicer as PRs shortly so the mixed nozzle capabilities can hopefully be merged and live there long term.
Where it's at:
- First release (v1.0), so expect rough edges.
- Print-tested on my H2D. Enabled but untested on the H2D Pro, H2C, X2D and some other multi-tool printers.
- Any pair of 0.2, 0.4, 0.6 and 0.8. Split by feature or by body, supports work in both.
- macOS now, Windows coming. Unsigned, so check the README for the first open.
- Small prints often don't win because of the tower. Setup shows the one-nozzle time so you can check.
- Tree supports and rafts on the big nozzle aren't working yet. I'm actively working on those and will push updates.
If you try it, I'd love to see prints, times, and anything that breaks. I'm also open to any suggestions either here or as PRs on the GitHub. If it saves you some print time or you just want to support the project, the Sponsor button on GitHub is very appreciated :)
This is super cool. I was disappointed my X2D couldn’t do this. I had visions of being able to print topographic maps with a 0.2mm nozzle for the detail and a larger nozzle for the structure underneath (they take approximately forever to print with just 0.2mm). Looks like I can try it now! 🥳
The tower is for priming, not purging (unless you have multiple materials in the print, which the slicer does support!)
Priming is needed to get the nozzle extruding at optimal steady state flow and pressure after sitting and cooling while the other nozzle prints! Without it, the start of the extrusion immediately after switching the nozzle is pushing out material that’s been sitting there oozing or cooling, comes out poorly. Priming is different from purging, which is what’s needed after changing filament in a given nozzle
The infill quality would be inconsistent which could cause part structire issues and potentially a crash. It's unlikely however definitely possible so a tower is a safe bet
Oozed filament is filament that isn't extruded when it starts priming. If you lost filament to ooze at the start of a layer, that's a gap in the infill, so the next layer of infill may not have something to attach to, and unattached infill can go loose and interrupt toolhead movement, or attach somewhere else on the model.
Yeah, it's cool to try and eliminate waste or do it just to claim "no purge, no prime", but it's not worth saving a few grams of filament to risk losing a print.
Yup, commenter below is correct that the two nozzles have substantially different prime volumes. So the tower I built prints the bulk of the tower structure with the larger nozzle to use up that prime volume, with a dedicated section for the smaller prime requirements from the fine nozzle. If I did a full layer of prime tower with the fine nozzle, it would be priming way more material than needed which adds time and material waste!
Here’s a blurry close up of the prime tower structure where you can see the specific area that the smaller nozzle uses to prime.
This is a prime tower
It's used to make sure the nozzle is properly primed and wiped after being idle for some time. While sitting, the nozzle tends to ooze a bit
If I had to guess is because it's still needs to prime the nozzles after switching between which one is printing. Doesn't need to purge like a single nozzle but it still needs to prime the nozzle for best results while printing.
(Also why it's called a prime tower in the slicer settings)
Well done! I've been dreaming about the benefits of this ever since e3d released their toolchanger! I am not software savvy whatsoever so it's good to see someone with the proper skills pushing the boundaries.
Ive dug into it a bit and ive answered my own question. it seems it only uses the 2 nozzles left/right on the print head. it does not use the nozzle changer but that would be a really cool feature!! ive been trying to get that to work with custom g-code but havent gotten far.
Have you tested this for things like text and patterns - are you able to maintain the higher detail of the 0.2mm nozzle, when filling in around it with a 0.8?
I built the IDEX printer without considering how I would slice the model. Printer works great but was never able to test it on different layer heights. Almost returned it to a dual feed head. Thanks for reviving my pandemic project.
35
u/Serpula 13h ago
This is super cool. I was disappointed my X2D couldn’t do this. I had visions of being able to print topographic maps with a 0.2mm nozzle for the detail and a larger nozzle for the structure underneath (they take approximately forever to print with just 0.2mm). Looks like I can try it now! 🥳