Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Management of files, settings and profiles #14564

Open
FoxtrotLimaOscar opened this issue Feb 15, 2023 · 9 comments
Open

Management of files, settings and profiles #14564

FoxtrotLimaOscar opened this issue Feb 15, 2023 · 9 comments
Labels
Status: Triage This ticket requires input from someone of the Cura team Type: New Feature Adding some entirely new functionality.

Comments

@FoxtrotLimaOscar
Copy link

FoxtrotLimaOscar commented Feb 15, 2023

Is your feature request related to a problem?

Assume you created several Cura profiles for different needs along with suitable printer and material settings. Let's say you used one of these profiles called "functional" to create a G-Code and print it. For later use, you save the Cura project as .3mf file.

Several months or even years later:
In the meantime you fine-tuned your "functional" profile, your printer settings (for example Start and End G-Code) and the material settings.
Now let's say you want to reprint your old project. So you load your old .3mf project file "as project".
It gives you the option to update existing printer, profile and material settings or to create new settings from the file.

  • I don't want to overwrite everything I optimized in the last year. But with one accidental click on "open" this is exactly what would happen
  • I don't want to create a completely new profile then called "functional#1", "functional#2" and so on. This clutters everything.

Why is there only the option to create a new profile (then containing the old settings) or to overwirte an existing optimized profile (again with old settings)? In my eyes this doens't reflect the usecase of a save / load functionallity.

Describe the solution you'd like

If you open an old .3mf Cura project to your current Cura setup, it should be possible to load the printer settings, the profile settings and the material settings contained in this old .3mf-file while neither overwriting the current profile nor creating a new profile or changing the current printer and material setup.

After the old project file was loaded, its stored old print settings should be shown as temporary changes from the current profile without acually changing the current profile. It should further be selectable to use the current printer and material setup instead of the setup from the old file. Adding two options each in the drop down menu appearing when opening a file should allow this selection and solve the problem:

- "Load as temporary change to current settings"
- "Use current settings

(An example is shown below in "additional information" section.)

Temporary changes to the currenct settings from the loaded file should be marked with the reset arrow to allow going back to the current setting's default value.
The choice "update existing" and "create new" should be removed imho. If desired, the print settings can still actively be saved as new profile afterwards or overwrite an existing profile. The "load as temporary change" setting should be the standard choice to avoid overwriting existing profiles with old ones.

I know, there is a global option to only load the model. But often I want to use the current pritner and material settings and still load the profile settings from an old file as changes to the existing profile.

With additive manufacturing being an important part of industry, research institutions and private persons nowadays, it should be expected, that an iterative optimization process will be performed on settings by all users. Why would anyone want to overwrite that effort with old settings with no going back?

Describe alternatives you've considered

Switch to another slicer tool. Cura's handling of settings loaded from old files is soooo annoying, that I'm willing to give up on all the other Cura benefits.

Affected users and/or printers

All

Additional information & file uploads

Illustration of the feature request:
CuraRequest2

Making use of the already existing Cura feature highlighting temporary changes to the current profile:
CuraRequest3

PS: In a discussion about this topic, other users also showed their frustration with the management of loading files/settings/profiles:
https://community.ultimaker.com/topic/39555-opening-project-files-vs-keeping-profiles-material-and-printer-settings-clean-update-create-new/

@FoxtrotLimaOscar FoxtrotLimaOscar added Status: Triage This ticket requires input from someone of the Cura team Type: New Feature Adding some entirely new functionality. labels Feb 15, 2023
@GoguyT3D
Copy link

Yes I have tried to read/understand this thoroughly and I completely agree. For me the problem arises when I load an old 3mf for my same printer,filament but I only want the "updated since last save" options to appear, and if I've changed the name of the profile I'm phuked because it pastes the name of the old not supported profile, crashes when I click it and can't be removed(without serious digging in python definition files all carefully linked like a big spiderweb ready to burst with a "your configuration seems to be corrupt ") What I wanted and need is the ability to select from a dropdown list of "Changed settings not similar to 3mf" and individually select what I want updated for a supported profile, no added profile, and my experience would be perfect.

@5axes
Copy link
Contributor

5axes commented Mar 9, 2023

Duplicate : #13223 ?

@FoxtrotLimaOscar
Copy link
Author

FoxtrotLimaOscar commented Mar 9, 2023

#13223 is quite similar to my request but not as specific in describing the problem and the desired / suggested solution. Most importantly, the suggested solution deviates from my request: Especially my desired "Open File(s)"-menu option to load a project file with the actual settings from the loaded project marked as change to the current profile instead of overwriting an existing or adding a new profile is not described in #13223. The "keep current" option alone as suggeted in #13223 would not satisfy my request. Therefore, i would not rate my request as duplicate - nevertheless it partly contains #13223.

@stopanko
Copy link

stopanko commented May 22, 2023

UPD. At Least FOR NOW make Create New One(new profile) As default option. To not change user`s setting accidentally.

UPD 2. For a Project you can save only Draft settings that are in the Profile currently using for it marked as Project specific
All base profile you can save marked as Base Profile.
And all the time opening Old project you will create ONLY ONE **Project_Profile_1` New profile.
Will load settings from the original one(If exists in a list). This allow me tune my profiles but have Project specific setting i used in place.
If not, use Base Profile things you have presaved.
Apply Project specific on Top as Draft.

So STORY:

  • I have a Profile_1 with speed 80 and infill 15%
  • I have a Project with speed 25.
  • I save Project.
  • I change Profile_1 speed to 60.
  • I save my profile changes.
  • I open Project as Open As a Project
  • Default Dialog option for profile changes is Create New
  • I opened Project
  • Profile Project_Profile_1 was created,
  • My speed setting is 25, As was saved in a Project before. I see it as Draft changes
  • I closed Project.

Turn_1

  • I Change Profile_1 infill to 25%.
  • I Opened a Project
  • I see Project_Profile_1 at Top corner.(Not a new one created again)
  • I see Speed as 25(Was set a specific for this Project)
  • I see Infill as 20%(Wasn't set specifically for a Project before, So loaded from Profile_1 as continuously tuned value)

Turn_2

  • I remove/rename Profile_1
  • i Open a Project
  • I see Project_Profile_1 at Top corner.(Not a new one created again)
  • I see Speed as 25(Was set a specific for this Project)
  • I see Infill as 15%(There is no newly Tuned profile anymore. So i see value from original Profile_1)

Fully AGREE. Have spent days changing, Printing, changing.. Opened Old Project ONCE. And have lost all my work.
That's a disaster.

Should be prioritized.

Why don't transfer Project settings if differ as YOUR(by hand) unsaved changes instead of overriding all my work.
I have lost my tuning couple of times now.

SHOULD BE PRIORITIZED!!!.

@Marskramer
Copy link

Marskramer commented Jul 10, 2023

In my opion there shouldn't be any options at all when you open a project.
When you open a project, 99 out of 100 times you don't remember the settings exactly. How can you ever diced if you want to do something with a profile that you can't even glance over?
Profile's or template file settings should never be connected to the saving or opening process of a project file. It should always be separate processes/tasks.

When you open a project, it should simply open with all the settings that it was saved with. Then if you want to update it to a newer profile, you load this profile from a database after opening the project. If you want to save a profile, you save it to the database. Simple and intuitive. This way project files can also work as some sort of backup database for profiles. All CAD software works like this for example.

Things will stay messy or tedious in some situations non the less, because so many settings are saved in just 2 (printer and material) profiles. But that's an other topic I guess. But overall it would be an improvement. Material profiles would be an solid and secure basis to start with for each new project. Something that has to be and also safely can be tweaked and copied to old projects. Instead of an insecure "hope this was a good one" and "crap, I lost the good one" situation.

I've had several prints with a burned top, because of an old end g-code bug that keeps coming back through opening project files that "update" (more like downdate) my printer profile in a whim.
Workaround for now is to open the project and let Cura make new profiles. Then load the correct printer profile and delete the new unwanted profile. Tedious.
OR import models only. Tedious, as I first have to fetch the old material profile from the project, taking care I don't overide anything.

@GoguyT3D
Copy link

In my opion there shouldn't be any options at all when you open a project. When you open a project, 99 out of 100 times you don't remember the settings exactly. How can you ever diced if you want to do something with a profile that you can't even glance over? Profile's or template file settings should never be connected to the saving or opening process of a project file. It should always be separate processes/tasks.

When you open a project, it should simply open with all the settings that it was saved with. Then if you want to update it to a newer profile, you load this profile from a database after opening the project. If you want to save a profile, you save it to the database. Simple and intuitive. This way project files can also work as some sort of backup database for profiles. All CAD software works like this for example.

Things will stay messy or tedious in some situations non the less, because so many settings are saved in just 2 (printer and material) profiles. But that's an other topic I guess. But overall it would be an improvement. Material profiles would be an solid and secure basis to start with for each new project. Something that has to be and also safely can be tweaked and copied to old projects. Instead of an insecure "hope this was a good one" and "crap, I lost the good one" situation.

I've had several prints with a burned top, because of an old end g-code bug that keeps coming back through opening project files that "update" (more like downdate) my printer profile in a whim. Workaround for now is to open the project and let Cura make new profiles. Then load the correct printer profile and delete the new unwanted profile. Tedious. OR import models only. Tedious, as I first have to fetch the old material profile from the project, taking care I don't overide anything.

I am no coder so it probably sounds more simple than it is to implement, but what you are currently describing sound to me like you would much rather "import models" more often than not because that's what I have to do without my previous comment coming back to haunt me. For me I am always "tweaking" my profiles so no/any 3mf doesn't bring up the updated settings I have recently saved per profile. Read my previous comment and you'll see were in the same boat.

@Marskramer
Copy link

I am no coder so it probably sounds more simple than it is to implement, but what you are currently describing sound to me like you would much rather "import models" more often than not because that's what I have to do without my previous comment coming back to haunt me. For me I am always "tweaking" my profiles so no/any 3mf doesn't bring up the updated settings I have recently saved per profile. Read my previous comment and you'll see were in the same boat.

That works in some situations, but the process feels awkward and doesn't work in half of the situation.

For example, I'm someone that doesn't print very frequently. Maybe once a month. What often happens when I want to print something new is that I remembered an old print that was similar to the new one and that went well. The old project was weeks ago, so I have no idea what profile I used back then. Easy way would be to find the old project that I cataloged nicely on my PC, open the .3mf and swap the 3D shape for the new one. Currently Cura forces me to make new profiles every time I want to do this. No other way to open the old project with the profiles. Resulting in a huge list of profiles of which you have no clue what to pick for a new project later on.

Different example. This month I'm actually working on many projects, consisting of many parts. Maybe one project is an assembly of 5 parts printed with the same material and quality. Only all 5 parts are in seperate .3mf files and have different bed adhesion, support types and infill settings. If I want to be able to open those projects several times, maybe because the 3D shape changed after printing the first prototype. I can no do this quickly. I either have to save a new profile in Cura for every .3mf ( with very specific settings that I never gone use on an other project) or override profiles with a risk of unwanted overrides of a more basic profile.

Printer profile even more so. Rarely change anything there, only got one printer. Currently Cura still forces me to be very careful when opening older projects if I ever happen to change anything.

I'm no coder ether, but doesn't seem hard at all to code my proposal. Settings are currently already saved in both the .3mf and in Cura. Just a matter of disabling the popup that shows up when you open a .3mf and instead load the settings form the .3mf without overriding any profiles that are saved in Cura. Probably dumping the settings from the .3mf in a temp file behind the scenes.

@batesman1
Copy link

I want this feature SO BADLY. I often go back to an old project file where I had the print settings dialed in. I HATE that it overwrites my machine settings and custom G-Code when I open it as a project. I don't understand why the machine settings cannot be decoupled from the project OR give the user the option to import them as well as the print settings.

I've had a number of prints fail when I re-printed an old project because I'm now using ABL, but wasn't in my old machine settings and the start G-Code didn't use the ABL.

@suttonb
Copy link

suttonb commented Mar 7, 2024

This has been a constant source of frustration for me as well. When opening a project file the program can clearly tell which settings have overrides, why can't these be loaded as temporary overrides to an existing profile instead of changing the profile stored on the disk?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Triage This ticket requires input from someone of the Cura team Type: New Feature Adding some entirely new functionality.
Projects
None yet
Development

No branches or pull requests

7 participants