Volumetric extrusion: Add nozzle-diameter (M404)?



  • Hi,
    I have no clue about volumetric extrusion, but the summaries that I have read sound really cool! A more practical everyday thing then changing filament-diameter is changing nozzle diameter (M404)... and it also is just a volumetric thing that happens here (though it maybe/for sure affects other values more or less then the filamentdiameter does...)

    So please educate me if I am missing something here and this is already solved or super complicated, but if I would like to stay with my 1.75mmDiameter filament but would like to test frequently different nozzle-bore-diameters from 0.4-1.0 it would be cool to not have to export filament-templates and e.g. "one-liners" like "sprialized-geometries" or "1-liner-slices", but simply change within the controllerboard the nozzlediameter e.g. via M404 and reuse those files 🙂

    Known limitations/difficulties: Would not (so easy) work with G-code-files that are "multi-attached-liners-within-one-slice" with lots and lots of parallel lines build-up because these lines will be either too wide or too thin to bond with each others for what is necessary for the given geometry...

    (Edit: added M404 for better cross-reference...)



  • https://duet3d.dozuki.com/Wiki/Gcode#Section_M404_Filament_width_and_nozzle_diameter

    If you've sliced the object with volumetric extrusion values then yes, you should be able to do exactly what you wish.

    I gave it a shot a while back and had very poor results. Never could get a single good print. Not sure if it was a slic3r issue or what. I gave up. Slicing is so fast now it almost never makes sense to re-use gcode, because if the nozzle has changed I would likely want to change other things as well. So might as well reslice.



  • All the paths change if extrusion width changes. I assume that's what you want, not nozzle diameter. I don't see how changing the nozzle diameter would do anything. X amount of material will still get squeezed through it. It's sort of like asking "why can't a train with smaller track run on wider tracks and vice-versa". The train tracks are placed with certain spacing to take the size of the train into account and just changing the wheels does nothing.

    If you'd like to simply extrude more material, then you can use the extrusion multipliers.



  • @edgars-batna
    But a file that was exported in the non-volumetric-world for a 0.4mm nozzle with e-vals will have for sure diffrent e-vals for 1.0mm bore-diameter in the nozzle when used with the same extrudermotor in both cases, or am I understanding something wrong here? ("X amount of material will still get squeezed through it" in case 1 less then in case 2 for which volumetric-extrusion exists?)
    @Phaedrux
    (I think Phaedrux already answered it: Volumetric extrusion takes nozzlediameter into account, rigth? Will have to start doing tests with it, to see results)



  • Here's a couple old threads about it.

    https://reprap.org/forum/read.php?262,654085

    https://forum.duet3d.com/topic/4548/slic3r-volumetric-speed

    Not sure I really understand how it's implemented and how it's supposed to work. I think the main idea back in the day was for gcode portability between printers and to allow for using the same gcode to print 1.75 and 3mm filament which used to be much more common. Slicing used to be a very slow thing as well, so once you had gcode that worked you wanted to hang on to it.

    I think in a modern context it doesn't really make sense anymore. 1.75 is the standard. Slicers have come a long way in both reliability and speed. Having profiles for multiple printers is easy and you can usually upload directly to the printer.

    I'm unsure if it actually takes nozzle diameter into consideration. I would think not because that would be a geometry change and the paths would be different. Filament diameter only effects the speed at which the the extruder has to move to put out the correct amount plastic. So specifying e moves by volume allows the firmware to determine the speed rather than the slicer specifying the extruder speed.



  • I don't think the volumetric extrusion was so much about being able to switch between 3mm and 1.75 mm filament as it was reprinting a gcode file with different 1.75 mm spools. It used to be that when you bought a spool of 1.75 mm filament, you never knew exactly what you were going to get. In the last couple years filament makers have figured out how to control the diameter, so now when you buy 1.75 mm filament, that's what you get. Amazon.com is full of cheap, no-name Chinese filament that is advertised as 1.75mm +/- 0.03mm. I have used a lot of that stuff and always measure it (usually in 30 places, and calculate the average) before I print with it. I have been pleasantly surprised by the accuracy of their diameter claims.


Log in to reply