Jump to content

How are print settings inherited from machine settings, material settings and profiles


Go to solution Solved by Cuq,

Recommended Posts

Posted · How are print settings inherited from machine settings, material settings and profiles

Hi all,

 

I'm totally confused how exactly the print settings for a project are derived from machine settings, material settings and profile settings. I find my profiles constantly changing values I have entered in the profile(s) and saved. 

 

Now I for instance noticed my print speed for my 0.4 mm nozzle had changed to totally different values. I thought it might be drawn from the material, so I set the speed in the material, but it didn't update when choosing the material so I am totally baffled where the print settings for a project are coming from and why they constantly change. Please note that I just took the speed as an example but I'm noticing this for many other settings as well.

 

Can someone explain how exactly setting inheritance works and from where they should be correctly set so they will end up being the settings my project is using after choosing material, nozzle and profile. 

 

Palli

  • Link to post
    Share on other sites

    Posted (edited) · How are print settings inherited from machine settings, material settings and profiles

    Read the documentation

    https://github.com/Ultimaker/Cura/blob/main/docs/profiles/profiles.md

     

    Use the plugin ProfilAnalyser  https://marketplace.ultimaker.com/app/cura/plugins/5axes/ProfilAnalyser  To analyse why the settings ( generaly the temperature ) set in the material are not updated in the Global Values.

     

     !spoiler alert!  it's because these parameters have been change by the user, store in the Profile container (Custom in the bellow figure) and the value overwrites the parameter defined in the Material section.

     

    Three container stacks

    image.png

     

     

     

    Edited by Cuq
    • Like 1
    Link to post
    Share on other sites

    Posted · How are print settings inherited from machine settings, material settings and profiles

    Hi Cuq,

     

    Thanks for your reply and yes, I will most definitely check this plugin and use it for understanding the setting inheritance better. 

     

    Some of my lack of understanding may well be due to not fully understanding the UI so could you quickly explain the following. Let's say you want your line width change with nozzle diameter so that it is different on 0.4mm compared to what it is on 0.6mm nozzle.

     

    Since I can find no settings specifically for a nozzle diameter, what would be the workflow in the UI to accomplish that so that it will stick and change the project's settings when you switch nozzle diameter? 

     

    Palli

  • Link to post
    Share on other sites

    Posted (edited) · How are print settings inherited from machine settings, material settings and profiles

    You have a specific parameter for the Nozzle Diameter ... Most of the time it's hidden because it's in the Printer Settings section . And to have access to these parameters you need to use a specific plugin . https://marketplace.ultimaker.com/app/cura/plugins/fieldofview/PrinterSettingsPlugin

     

    image.png.9a20670c965c56b1378dc1ee6fa6ee97.png

     

    But Cura don't really care of this data , except for some specific parameter, the main parameter is the Line Width .  However if you look at the inheritance scheme above and use the profile analysis plugin looking at your active configuration. You should see that this parameter is certainly defined at the printer level (as default parameter).   That it may be redefined at the extruder level again as a default setting for that extruder and finally at the nozzle level which will give the real value that you can see in the Cura interface if you have installed the PrinterSettings plugin

     

     

    image.thumb.png.c6da41f0b3b2b82b379f38850cef729f.png

    Edited by Cuq
    • Like 1
    Link to post
    Share on other sites

    Posted (edited) · How are print settings inherited from machine settings, material settings and profiles

    If you decide to change the size of your Nozzle Size in Cura :

    image.thumb.png.5a7f5362123a6ae51f13a003f037ef9e.png

     

    Then the Nozzle size will be change in the Nozzle Container of your Extruder ... And finaly at the End ( Or at the TOP in the Profil Analyser representation ) the Nozzle Value is equal to 0.6.

    image.thumb.png.5ba9af5214ad351020694ce54762c32c.png

    Edited by Cuq
  • Link to post
    Share on other sites

    Posted · How are print settings inherited from machine settings, material settings and profiles

    Ok, so what I understand from what you are saying is that for Cura, it doesn't matter which Nozzle size you pick, as it's not used in Cura's calculations, rather the Line Width and or course Layer Height etc. is what matters and basically the nozzle diameter could as well be disregarded as far as Cura's slicing settings is concerned ?

     

    Palli

  • Link to post
    Share on other sites

    Posted (edited) · How are print settings inherited from machine settings, material settings and profiles

    Yes your right .     Nozzle size is used to define the minimum value and maximum value of the line_width . So it could be a problem if you want to print a 1. mm line width with a 0.4 nozzle . It will be not possible to change the value . But changing the Nozzle size will not change necessary your parameters. 

     

                    "line_width":
                    {
                        "label": "Line Width",
                        "description": "Width of a single line. Generally, the width of each line should correspond to the width of the nozzle. However, slightly reducing this value could produce better prints.",
                        "unit": "mm",
                        "minimum_value": "0.001",
                        "minimum_value_warning": "0.1 + 0.4 * machine_nozzle_size",
                        "maximum_value_warning": "2 * machine_nozzle_size",
                        "default_value": 0.4,
                        "type": "float",
                        "value": "machine_nozzle_size",
                        "settable_per_mesh": true,
                        "children":
                        {


    Unless you have in your config at the level of one of the containers a parameter that will link the line width to the nozzle size.

     

    image.png.71ccd6ab1c9dd846b3a57d67578efc76.png

     

    But it's not totaly true for every parameter since Cura have switch to Arachne Engine , then some parameter like : "Wall Transitioning Filter Margin", "Outer Wall Wipe Distance" , "Outer Wall Inset", "Minimum Wall Line Width"  ... are now changed by the Nozzle Diameter

    Edited by Cuq
    • Like 1
    Link to post
    Share on other sites

    Posted · How are print settings inherited from machine settings, material settings and profiles

    Thank you very much for your help. This will allow me to better figure out why some of my settings (apparently) randomly change and how to prevent that.

     

    One last thing. Looking at profile analyzer, I can see that for example Print Speed is defined on a printer, then overridden by a material in a profile and finally by Extruder 1.

     

    image.thumb.png.0d3605b0dd5ff239767684da524ce3b9.png

     

    What would be the procedure in Cura's UI to remove the override from the material for example?  I tried setting it to default of the printer, but it still shows as an override.

     

    Palli

  • Link to post
    Share on other sites

    • Solution
    Posted · How are print settings inherited from machine settings, material settings and profiles

    IF you don't want to define a Print Speed at the material Level .. Supress the Print speed in the Material Settings by unchecking the parameter in the list.

     

    image.thumb.png.4115eb64ca7560124a2f7dab360b4b44.png

     

    Note : I'm not sure but it could be also a function available via a plugin : https://marketplace.ultimaker.com/app/cura/plugins/fieldofview/MaterialSettingsPlugin

     

    And YES when you need 3 or 4 plugins to manage correctly your settings in a software there are certainly a problem of UX in Cura...  But some peoples are not agree with me 🙂   The "easy-to-use 3D printing software trusted by millions of users" cannot be wrong 🤣

     

    • Like 1
    Link to post
    Share on other sites

    Posted · How are print settings inherited from machine settings, material settings and profiles

    Haha, gotcha !

     

    Yeah, it feels a bit strange that you need to hide a setting to make it revert to default. Generally when you hide a setting, it still has some value, you just don't see it. 

     

    Again, thanks.

     

    Palli

  • Link to post
    Share on other sites

    Posted · How are print settings inherited from machine settings, material settings and profiles

    One additional thought....

     

    When opening a project, I get this dialog:

    image.thumb.png.5e3a31e8ab9a9a5e8e498f9a17afa1c8.png

     

    What does "Update existing" refer to here ?

     

    Is it taking the settings in the project that are different from the profile, and updating the profile, or is it the other way around, updating the project from the profile ?

     

    Palli

     

  • Link to post
    Share on other sites

    Posted · How are print settings inherited from machine settings, material settings and profiles

    I guess this answers the question: 

    So unless I save the dirty profile settings by "Updating Profile" button, the saved profile should not change.

     

    Palli

     

     

  • Link to post
    Share on other sites

    Posted (edited) · How are print settings inherited from machine settings, material settings and profiles

    Well, I don't believe this is entirely true and there is something fishy about all this.

     

    Lets take one setting, Print Speed, just to make this simple.

     

    I have a profile set for 60 mm/sec and on a new profile, viewing active configuration tells me it's set to 60 in the profile.

     

    Now I load a project using an older version of that profile where the print speed was set to 38 mm/sec. When I load, I leave the open project dialog at default "Update Existing" and the project loads and the print speed is 38 mm/sec.

     

    Viewing active configuration now tells me that the print speed is back to 38 mm/sec and that value is coming from my profile !!!

     

    It seems to me that the open project dialog's "Update existing" is basically updating existing profile from the project, at least partially, so after the project is loaded with "Update Existing", my profile is basically back to the old values.

     

    This explains my profile values going back and forth. 

     

    How on earth do I have Cura open a project and not updating my existing profiles, unless I use "Create New" every time I open a project ?

     

    Palli

     

    Edited by 3dpalli
  • Link to post
    Share on other sites

    Posted (edited) · How are print settings inherited from machine settings, material settings and profiles

    Here you are on the biggest problem of Cura and the point that confuses all users, both novices and experienced ones.  You don't really know which settings exist in your current profile and which ones exist in the project. What you know is that the current profile is usually the most up-to-date with your latest settings, so you don't want to destroy it by overwriting this data. So you will create a new profile and 10 days later you will have 50 profiles called Best-Profile#10, Best-Profile#20, Best-Profi#39 ...

     

    But without knowing where the Best Profile is.   Cura is developed by Ultimaker for UltiMaker. In this world the workflow makes sense, you use a software created by Ultimaker, on UltiMaker machines and  Ultimaker filaments with profiles validated by UltiMaker, Theoretically no need to update the profile.  This policy makes sense and is defensible. Now if you are not in this scheme it is more complicated.

     

    The Beta 5.3 version should improve this a bit but without conviction.

    Edited by Cuq
  • Link to post
    Share on other sites

    Posted (edited) · How are print settings inherited from machine settings, material settings and profiles

    Yeah,

     

    Although your assistance and guidance on this thread to understand the settings were perfect, I am back at where I started, that my profiles get overwritten. 

     

    I am already on the 5.3 beta and this is behaving exactly the same.

     

    Just to be clear on what workflow I need to follow in order to "defend" my profiles, if I'm at the open project dialog will I keep my existing profiles non-updated, if I use "Create new" on the open project dialog ?

     

    What is the workflow users follow when opening projects and they don't want their existing profiles updated?

     

    Just trying to get my head around all this so I can get along with profile settings that will hold through loading older projects.

     

    Palli

     

    Edited by 3dpalli
  • Link to post
    Share on other sites

    Posted · How are print settings inherited from machine settings, material settings and profiles

    Sorry, that should have read "Create new". I fixed it in my post.

     

    Palli

  • Link to post
    Share on other sites

    Posted · How are print settings inherited from machine settings, material settings and profiles

    As I said if you don't want to modify the existing profile you have to Create a New Profile, then reactivate your Profile in Cura and delete the newly created profile. Or eventually use the profile analysis plugin to see the differences between the two and decide which one you will keep.

     

    If Cura proposes a new profile, it is because it detects a difference between the project data and the current profile in Cura.

    • Like 1
    Link to post
    Share on other sites

    Posted (edited) · How are print settings inherited from machine settings, material settings and profiles

    Same type of discussion on the same subject  : 

     

    One request on the Github

    https://github.com/Ultimaker/Cura/issues/14564#issue-1585708583

    Edited by Cuq
    • Like 1
    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.9 stable released!
        Here comes Cura 5.9 and in this stable release we have lots of material and printer profiles for UltiMaker printers, including the newly released Sketch Sprint. Additionally, scarf seams have been introduced alongside even more print settings and improvements.  Check out the rest of this article to find out the details on all of that and more
          • Like
        • 5 replies
      • Introducing the UltiMaker Factor 4
        We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
          • Heart
          • Thanks
          • Like
        • 4 replies
    ×
    ×
    • Create New...