Jump to content

Quality setting for layer height based on nozzle diameter


LucidWolf
Go to solution Solved by Cray0,

Recommended Posts

Posted · Quality setting for layer height based on nozzle diameter

Greetings,

 

Is there a reason not to have a layer height defined by a nozzle diameter.  When i try to code that into my quality profile it does not seem to grab the updated nozzle size from the variant and instead defaults to the machine nozzle size.  Am I crazy yes.  But am i crazy because i want my quality setting to be based on speed, and % of nozzle height?

I think this is a much more intuitive way to set feeds and speeds now that quick changing nozzles are a thing.

 

Ex)

draft: 

layer_height = =machine_nozzle_size*0.5

speed_print = 100

 

standard:

layer_height = =machine_nozzle_size*0.4

speed_print = 50

 

ultra:

layer_height = =machine_nozzle_size*0.2

speed_print = 50

 

The stack documents show this should work.

  • extruder_stack.getProperty("layer_height", "value")
  • user.getProperty("layer_height", "value") -> Returns None
  • quality_changes.getProperty("layer_height", "value") -> Returns None
  • intent.getProperty("layer_height", "value") -> Returns None
  • quality.getProperty("layer_height", "value") -> Returns "=machine_nozzle_size*0.5"
  • user.getProperty("machine_nozzle_size", "value") -> returns None
  • quality_changes.getProperty("machine_nozzle_size", "value", "value) -> Returns None
  • intent.getProperty("machine_nozzle_size", "value") -> Returns None
  • quality.getProperty("machine_nozzle_size", "value") -> Returns None
  • material.getProperty("machine_nozzle_size", "value") -> Returns None
  • variant.getProperty("machine_nozzle_size", "value") -> Returns 0.6  <=

 

Is there some issue with using nozzle size and layer height on a quality call?

I did notice the upper window tab was updating just not the profile.

 

Thanks in advance.

cura_nozzle_to_layer.JPG

  • Link to post
    Share on other sites

    Posted · Quality setting for layer height based on nozzle diameter
    Quote

    I think this is a much more intuitive way to set feeds and speeds now that quick changing nozzles are a thing.

     

    I have been printing for 10 years with print widths from 0.3 mm to 0.7 mm with a 0.5 mm nozzle.
    Until now I have seen no reason to change the nozzle 🙂

  • Link to post
    Share on other sites

    Posted · Quality setting for layer height based on nozzle diameter
    On 5/2/2022 at 5:49 PM, curatori said:

     

    I have been printing for 10 years with print widths from 0.3 mm to 0.7 mm with a 0.5 mm nozzle.
    Until now I have seen no reason to change the nozzle 🙂

    I concur on the I never really changed my nozzle in the past.  I kept a 0.6mm tungsten carbide nozzle on my workhorse from whenever Dyze design made them.  I am only nozzle switching crazy now because of the Revo.  I also imagine Cura 5.0 is going to make line width less important.  But switching nozzles lets you get higher layer heights.  Just how Cura 5.0 makes line width less important to end users.  I would think quality settings based on nozzle size could make layer height less important to end users.  I think you could just have 3 quality settings and then based on nozzle they would adjust.  I did not think through dual nozzles for that kind of setting.  I guess default to the smallest nozzle for setting max layer height?

     

    Ramblings:

    Normally when you increase line width without a nozzle change and increase layer you have to slow it down to get that extra squishy goodness.  My thought now is change nozzle and keep speed since its so quick to change a nozzle.  To get really fast nozzle change speeds I don't even let the old nozzle cool down when i change it out:

    1. I heat up prime and retract to get the old nozzle clear of filament. 
    2. Shut off heating.
    3. Put on my mechanics gloves, pull the old nozzle while still hot (Risk of burns, why I imagine E3D tells you to wait and change it cold.  To me its no worse than a hot engine block or accidentally burning myself on old nozzle changing.)
    4. Screw in new nozzle command heat back on and wait for rewarm then run auto level (delta so quick to do and part of normal process).

    Its only about 2min mostly waiting on heat up for both nozzles.  Both nozzles usually beat my bed warm up anyways so really no loss of time.  I would normally run a delta level as part of my print.

    So for 2min I don't have to sacrifice my 100mm/s print profile. (I keep outer walls still 50 mm)

     

    I did have to make my nozzle holders out of stacked silicon/wood since the plastic holder I printed will not take a 200C nozzle for obvious reasons.  I didn't even keep the PLA holder in the area knowing i would put my nozzle in it at full temp and that would be a mess... ^^

  • Link to post
    Share on other sites

    • Solution
    Posted · Quality setting for layer height based on nozzle diameter
    Quote

    But am i crazy because i want my quality setting to be based on speed, and % of nozzle height?

    I don't think so. If it is crazy, then you and I are in the same asylum.

     

    Quote

    I think this is a much more intuitive way to set feeds and speeds now that quick changing nozzles are a thing.

    I agree completely. So much so that I have been working to make all of the quality settings to be based on a percentage of the nozzle size. This includes layer_height, but there seems to be a problem with how it is calculated out of the box, as you described. The upper display seems to be calculated properly from the full stack, but the actual setting seems to be on the extruder's default nozzle size only. In other words,

     

    layer_height = =machine_nozzle_size*0.5 

    always results in layer_height calculated as 0.2 (half of 0.4 nozzle, which is the default), no matter which nozzle size you select.

     

    I am happy to tell you, I have found a workaround in order to calculate layer_height from a nozzle variant. Try:

    layer_height = =round(0.5*extruderValueFromContainer(0, 'machine_nozzle_size', 1), 2)

    The first argument (0) of extruderValueFromContainer() is the extruder number (0 is the first, and probably only extruder for most people), and the last argument (1) is (I think) the amount of containers/stack to skip, and it seems that the first container is the one that miss-calculates. Or something like that anyway.

  • 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

      • 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
      • Ultimaker Cura 5.6 stable released
        Cura now supports Method series printers!
         
        A year after the merger of Ultimaker and MakerBotQQ, we have unlocked the ability for users of our Method series printers to slice files using UltiMaker Cura. As of this release, users can find profiles for our Method and Method XL printers, as well as material profiles for ABS-R, ABS-CF, and RapidRinse. Meaning it’s now possible to use either Cura or the existing cloud-slicing software CloudPrint when printing with these printers or materials
        • 48 replies
    ×
    ×
    • Create New...