Am I right, that there is no Gcode-script/Slicer that supports different nozzle heights during

Am I right, that there is no Gcode-script/Slicer that supports different nozzle heights during dual extrusion?

I think you set this with Z Offset for each nozzle in the slicer.

This seems physically impossible. If one nozzle is higher than the other, the lower one will drag through the plastic that the higher one lays down.

Are you talking about nozzles mounted at different heights (which would cause a collision as @Carlton_Dodd ​ mentions, but in cases where it wouldn’t, you could use the tool change gcode and/or a postprocessing script), or printing with different later heights fit each extruder?

Do you mean different layer thickness? As has been already mentioned the physical tips of the nozzles need to be the same height or one will wipe out the print of the other.

I can see where it could be useful to have one nozzle lay down two 0.1 mm layers (0.2 total) and then a second one lay down a 0.2 mm layer and still clear the print of the first. There would need to be a specific order to the layer profile for this to work with the second thicker layer head always being second. I’m not aware of any slicer that allows this type of control.

There are a couple of ways that nozzles at different heights might not be a problem. Obviously, if they move independently, one can be parked while the other is printing, and it’s height doesn’t matter. There have also been some experimental mechanisms that lifted the unused nozzle, and if the nozzles could be at different heights, you could keep one fixed and drop the other below it when it’s in use, and lift above it when you’re using the fixed one. Also, of course, if your entire print fits in the space between the nozzles, each one will never touch what the other is working on. These unusual cases aside, it’s obviously important that both nozzles be at the same height. I’ve even seen artifacts in prints where the inactive nozzle drags over the top of the print without damaging it, but it lifts both extruders slightly, causing a ripple in the surface of the print that is offset from one side by the space between the nozzles.

Like @Whosa_whatsis imagined, my nozzles are independend. And they are at different heights. For example: At Printing the first layer, the first nozzle is perfectly aligned, while the other is way to high and therefor doesnt get bedadhesion. I can change the height via the toolchange-script, but this seems to be a nonelegant solution.

I take back what I said. At least in S3D it is not possible to acchieve this via the toolchange-script. S3D parses in absolute positioning and does a layerchange in each toolcycle to safe on total toolchanges. Therefore a height-adjustment gets nullified at the next layerchange.
Time to change the slicer in charge, I think…

So, after some painfull hours of trial and error, I got S3D to work with different nozzle-heights. This includes heavy scripting via the toolchange-scripts and replacing commands with own code via postprocessing-option. I will write a blogpost about it, to safe some time for comrades :wink:

@Rene_Jurack Could you post some pictures of your set up and what the S3D modifications do for you?

Ahh, I guess that will show up on your blog spot…

@Rene_Jurack You’re not trying to do it without G92, are you? That would be a huge pain…

This is more of the control’s/firmware’s job. Reprapfirmware takes a z operator in it’s g10 command so you could use that to change the z offsets without any interaction from the slicer. T0 would have a Z offset, T1 would have it’s own Z offset, etc… Machinekit can do this too. I was surprised there is nothing in smoothieware that I can find. You could implement work offsets and activate g54 when you have T0 active, g55 for T1, etc… The different workoffsets would just be mirrored except for the Z differences.

Maybe ask the smoothie guys, I could have missed something.