Use 2 different Nozzles on one print?

I’m printing a larger item in PLA with very fine text and graphic on the top face. The text is too fine to print with a 0.4 mm nozzle even using Wall Generator: “Arachne”. If I use a 0.2 mm nozzle the text turns out great, but I can hear the infill (10% Gyroid) breaking if I press on the top and bottom surfaces.

Making the text larger so it prints cleanly isn’t an option. I also don’t want to print it as two separate pieces and then glue it together since I’m making a few hundred of these and I can’t hide the glue seam.

I was trying to figure out how to print most of the item with a 0.4 mm nozzle and then finish the print with a 0.2 mm nozzle either on the same printer with a nozzle swap or by moving the build plate to a 2nd printer with the smaller nozzle already configured.

For now I’m going to ignore the other potential problems that could make exact alignment difficult. (e.g. part shrinkage from cooling during a nozzle/printer swap, alignment differences between printers, etc) I’m just trying to figure out if this is even possible.

I’ve thought of a few approaches that could work. Here they are in no particular order:

  1. Split it into two print jobs on the same printer without moving the build plate. One print for the body of the item with a larger nozzle then a second print with the smaller nozzle for the text using custom g-code to add a z-offset before the first layer of the text prints.

  2. Same as above only move the build plate to a second printer with the smaller nozzle for the 2nd print.

  3. Print infill cores with 2 walls using the larger nozzle for the first print job then, on a different build plate, print the outer shell with a 0.2 mm nozzle. Pause the print just before the first layer of the top shell starts, coat the inside with glue, drop in the infill core and resume the print to close the top print the text.

  4. Slice the model for both larger and smaller nozzles, merge the g-code, save it to the SD Card and print the g-code from the SD Card. Use the g-code for the large nozzle up to the top surface and the g-code for the smaller nozzle for the text. Add a filament unload, pause and filament load after the top surface is printed and before the text starts. Swap the nozzle during the pause. (this one is my favorite)

I have multiple X1Cs and an A1 mini (quick change nozzle) to try this on. Anyone aware of software/firmware limitations that could block these solutions from working?

1 Like

I have been looking at this also (option 4) as I could use the same feature. This is not really possible on the X1 because you need to unplug/plug the electronics when changing the nozzle. If it’s not supported by the hardware you could damage the printer, so you need to turn the printer off to change the nozzle.

On the other hand there is no such issue with the A1. If you have a file you will print a hundred times it’s probably worth manually tweaking the gcode, until (and if) the feature is added to the slicer. I would start with a simple filament change in the slicer just to make it easy to find the line in the gcode file and go from there.

If you go that route please let me know if you had success!

Glad I posted this. I was thinking, “I’ve got multiple complete X1C hotends. It won’t be painless, but I can swap them if I need to.”

I didn’t even think about errors from unplugging the thermistor, heater and fan. Looks like option 4 can currently only work on the A1 if at all.

I’ve had similar thoughts. Huge prints requiring 0.2 nozzle just because of a little detail needed at layer #845

Somewhere (here? or maybe GitHub) a user suggested a “change hotend mode” for printer (available from touchscreen, I presume), allowing replacement of hotend with power on. It would basically just disable the thermal runaway protection but could also lower the bed, put toolhead at some convenient position or whatever.

This would allow for option 4 (as long as that changing routine can preserve the homing).

1 Like

Vertical joints are pretty hard to hide due to corner rounding - but flat horizontal joints become fairly invisible if you pull the parts tightly together - either with designed in joints or bolting them.

In terms of using two nozzle on the same print - or ideally separate printers or the same non jointed part. I have been thinking about this too.

I wouldn’t recommend moving built plates around to to alignment issues - but what I have been toying with the idea of doing is

  1. print the first half on the part on one build plate, removing the part,
  2. Then on a 2nd built plate (either on the same or a different printer), print some sort of simple alignment / hold down guide, then pause the print, and I
  3. Insert the half printed part from step 1 into the alignment / hold down guide and then continue the print.

There shouldn’t be a problem with alignment - because the alignment guides will make sure that the part is inserted onto the plate in exactly the right place / height etc.

This is a similar technique what is used when CNCing multiple sides of an object.

The same technique could I think be used to for example print multi colour really efficiently horizontally on the top of say 4 says of an object by printing the basic model with blank sides and a coloured top, then remove the part and rotate it so that each side in turn is facing upwards.

1 Like

interesting idea, i’m following for my a1

You may cheat the machine if you want to change hotends in the middle of the print without popping out errors.
During the set-up pause, just power off the printer (remove the power cable!!), replace the hotend, plug the cord again and select resume printing.

I wouldn’t advise following such a procedure, as many issues may occur. If you go that way, do not forget to set up a good parking position and use proper equipment. Depending on the material, you may need to be swift as if you were in an F1 pitch stop.

1 Like

Nice idea - if they use the cool plate for the print it would take some of the time pressure off.

1 Like

I don’t know your modell, but maybe this video can help find a solution for the problem.

Maybe it was me: https://forum.bambulab.com/t/hot-swappable-nozzle/. If there is another post it would be great to have the link here as well.

Another potential issue when changing the nozzle is the Z positioning. The printer cannot probe for Z height on the bed mid print so it has to rely on the dimension tolerance and positioning repeatability. The first is hard to know without testing over several nozzles, the second I would not worry too much as the design already requires very good repeatability to work in the first place, on all the bambu machines.

Ah, yes I remember that! But also this GitHub issue.

Thanks I missed this one

You´re right… as the z-offset values are inaccessible, I would print a small calibration to assess if the z-offset is significant and, if positive, measure (roughly) the difference. Also, doing some tests to check for unforeseen problems would be good.
Afterwards, you can add it to the god using e.g.:
G29.1 Z{-0.AA}

where AA is the measure z pfff.

If you go forward, please share the experience.
Whilst not in my plans, I would be interested.

I have had good success on a 0.4 nozzle with increasing the line width for infill (I usually go for 0.6mm). I also activate infill combination.
I wonder if that technique wouldn’t help with your problem.

So you’re suggesting setting the infill line width to ~0.3mm with the 0.2mm nozzle?

I suppose my trick can be transposed to a 0.2mm like this, yes.

The limiting factor with the 0.2mm nozzle is the flow rate so the line width won’t help reducing the print time.