Ultimaker / Cura

3D printer / slicing GUI built on top of the Uranium framework
GNU Lesser General Public License v3.0
6.18k stars 2.08k forks source link

Reset button to get original Start-/Endgcode back in Printer settings #11474

Open NilsRo opened 2 years ago

NilsRo commented 2 years ago

Is your feature request related to a problem?

More or less...I upgrading the Mega S printer profile continuously and changed the Start-/Endgcode also. But if somebody simply upgrading to a new Cura Version the Start-/Endcode is not changed. E.g. I fixed a bug and the endusers does not know it and run the old (or custom) Gcode forever.

Describe the solution you'd like

Only some ideas:

Describe alternatives you've considered

Affected users and/or printers

All printers, all users

Additional information & file uploads

No response

GregValiant commented 2 years ago

This raises an interesting point...and a philosophical question.

Let me just say that I hate when I screw-up when opening a 3mf file and my custom Start and End gcodes get over-written. It would also bother me if Cura changed/updated them when I install a new version of Cura. There are reasons I have altered them the way I have. There are no bugs in my Startup or Ending gcode.

If there was a bug in the Start or End gcode of a printer definition file (and there has been at least one), and the bug was fixed in the next version of Cura - how would those "less savvy" users know?
Should there be some mechanism in place to tell them "The printer definition file for your "BrandX Doodle 3 Pro" has been altered. Do you want to install the new definition?". Would those people understand it or would it just be quickly dismissed? My guess would be that a very large percentage of the casual Cura users have no idea that there is such a thing as "StartUp G-Code" or "End G-Code". For a user such as myself (I would not call myself a "typical" end user) I have mine the way I want them and so I would always select "No".

If something like this were to be considered, maybe the option to "Install" another printer instance that would have the new definition could be an option. Then a user could compare the newly installed BrandX Doodle #2 with their previously installed instance.

Then there is the code required to implement this. Iterating through the 300+ printer definition files (most of which are 3rd party) to determine which ones have changed since the last version of Cura, and then going through the list of the user's installed printers to see if there is a match, I think would slow down the Cura installation a lot. It already is no speed demon.

The philosophical point is - would Ultimaker (and we are talking "Ultimaker Cura") want to put the resources ($$$) into adding such a feature? Where would be the benefit to Ultimaker? Shouldn't it be on the third party manufacturer to inform their customers that something changed and that the customer needs to install a new printer instance in Cura?

I can see certain benefits in this to a small group of end users. I just don't see it happening.

NilsRo commented 2 years ago

I think the new users will benefit as they simply want to use a printer. Perhaps a new idea: a checkbox with 'use printer default Start-/Endcode'

This applies to all users also Ultimaker printers. There is marketing that the profiles would work well but if everybody overwrites it's start GCode and stay on a version years old...

fvrmr commented 2 years ago

Hi @NilsRo thank you for your request. I will bring it up with the team. Keep you posted.

fvrmr commented 2 years ago

We have discussed it with the team and decided to create a ticket for this. Devs see CURA-8974

Ghostkeeper commented 2 years ago

If there was a bug in the Start or End gcode of a printer definition file (and there has been at least one), and the bug was fixed in the next version of Cura - how would those "less savvy" users know?

One of the ways would be through the change log, but of course you'd have to read that then. And especially when upgrading multiple versions at a time (4.11 -> 4.13) few people really do that.

I think PrusaSlicer has this feature where it tells you when it's upgrading the defaults and then asks the user whether they want to keep their current settings or change to the new defaults. Cura, for better or worse, has a different approach where it doesn't ask, but uses the new defaults iff the user didn't change the setting away from the default, but retains any changes the user made. It's easier for the user (with Cura's frequent updates especially) but doesn't notify the user either and has a chance of creating a combination of settings that work individually but not together. I think this is the same for start/end g-code as for any other setting. I also think that we're not about to change that, since it's indeed quite complex to build and maintain that, and there's still the possibility that a setting doesn't work together with a reworked algorithm. Like the time we realised the dimension of the Maximum Resolution was actually halved and we doubled all the users' values for that setting due to an algorithm change!

The reset button itself is still a good idea, of course.