Jump to content

How exactly does "Compatible material diameter" affect the extrusion values in the gcode?


Recommended Posts

Posted · How exactly does "Compatible material diameter" affect the extrusion values in the gcode?



I am wondering how exactly the "compatible material diameter" parameter under "Machine settings" --> "Nozzle settings" affects the extrusion commands generated by Cura. I was unable to find a precise answer in the documentation or online.


The reason I ask is that I have an ender 3 that has been modified with a stepper-motor driven paste extruder. I have my steps/mm tuned such that when I send simple commands through repetier such as "G1 E20", I get reasonably close to 20mm of material extruded out of the 1.83mm diameter nozzle (it's tough to tune exactly because of the poor start/stop control of the extruder). However, I'm trying to make a Cura profile for simple geometries, and I'm noticing the "compatible material diameter" value has an impact on the extrusion commands in the GCode. I don't have any confidence in the GCode I'm generating in Cura despite having tuned the printer, because I have no understanding of how this value is impacting the code and what I should set it to for my needs. Currently I just have it set to 1.83, the same as my nozzle size, which seems to be yielding reasonable results, but I'd like to know for sure that Cura is using proper extrusion rates.


I'm using Cura 4.8.0.




  • Link to post
    Share on other sites

    Posted · How exactly does "Compatible material diameter" affect the extrusion values in the gcode?

    Your example of G1 E20 would normally provide 20mm of material out of the extruder, not the nozzle.  In the normal course of printing Cura knows the filament diameter and feeds the correct length of filament to provide an extrusion LayerHeight x LineWidth x ExtrusionLength.  The relationship is "mm of filament" to "mm of extrusion" and is by volume.  Knowing the diameter of the filament gives Cura the volume / mm of filament.

    Your line G1 E20 calls for 20mm of filament to move through the extruder, and the printer knows the steps/mm of the E motor.  The basic fact is that 1.75mm dia filament is 2.405mm².  An extrusion .4 wide x .2 high is .08mm² so that ratio would be 1mm of filament = 30mm of extrusion.  The Gcode would look something like

    G0 X0 Y0 Z.2 F7200 ;starting out at X0 Y0 Z.2

    G1 X30 Y0 Z.2 E1.0 F3000 ;30mm extrusion = 1mm of filament


    I'm sure you can get it to work other ways, but the above is what I understand of the relationship between the filament diameter and the Cura calculations.

    • Like 1
    Link to post
    Share on other sites

    Posted · How exactly does "Compatible material diameter" affect the extrusion values in the gcode?

    I haven't messed with this but your printer (called a "machine" in cura) has compatible filaments.  Then there are filaments with diameters.  You can tell cura that it is compatible with 1.83mm diameter filaments but you then have to select a filament that is "1.83mm in diameter".  The default is probably 1.75mm in diameter and so it's probably off by 4.6%.  Oh wait - it's squared.  So it's off by 9.35%.


    You probably also want to set your line width parameter to 1.83mm.  Typically you want the line width to be the same as the nozzle diameter.


  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
          • Like
        • 7 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    • Create New...