Ultimaker / Cura

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

Can we make a better way to export and import printers into Cura? #19376

Open LilBub opened 4 months ago

LilBub commented 4 months ago

Is your feature request related to a problem?

Right now, Cura lacks a seamless way to export a printer so that it can be easily imported into another computer running Cura.

Currently I am using 5.7.2 and trying to move printers from an old laptop to a new one. I have been selecting a printer, placing a model on the bed and slicing it. I then export that 3MF file to an SD card. On the other computer. when I open that Project file, I am not seeing the prompt to Add the new printer (or create it). I tried this same file on a 3rd computer and that one DID allow me to add the printer & profile.

So, the current process is a bit frustrating.

Competing slicers have a simple way to export the printer so that it can be imported onto another easily. (For example, Simplify uses an FFF format.)

Describe the solution you'd like

A simple way for Cura to Export a selected printer so that it can be Imported into another Cura install.

It would make new user setups for various printers much easier.

Describe alternatives you've considered

I've had hit or miss luck with exporting and importing via Project files.

Affected users and/or printers

Given how slow companies are to provide Cura with new 3D printer settings, this would enable the community to share their setups much easier.

It also makes backing up printers possible in the event an installation goes awry. (We have that

Additional information & file uploads

Maybe like this?

image

HellAholic commented 4 months ago

Hey @LilBub, a quick an easy way to get around your problem is copying over the configuration folder from one device to another. That way all your plugins, printers, profiles, materials, etc are transferred over without exporting and importing them one by one.

LilBub commented 4 months ago

Hey @LilBub, a quick an easy way to get around your problem is copying over the configuration folder from one device to another. That way all your plugins, printers, profiles, materials, etc are transferred over without exporting and importing them one by one.

Thank you for taking the time to reply.

The problem with what you are suggesting is that you have novices and the like trying to play with very important file structures Cura relies on. If something goes wrong with that transfer, it is agonizing to determine which file is corrupt, what needs to be corrected and how. No one wants the task of tutoring someone into how to use Notepad++ and what to edit. You're too busy with other priorities.

I'm already dealing with this issue within this issue (https://github.com/Ultimaker/Cura/issues/19322) I utilized the vendor version of their Cura but due to the age of the build, it crashes after the first use. It's problematic for Ultimaker to fix an old version and when I was advised to graft over those folders, I began to encounter slicing errors not only on the new vendor machine, but a previous one (same vendor) as well. I've had to spend a few days trying to rebuild Cura on another machine to complete test prints for that product.

Ideally, the Import function would provide all of the needed checks and alert the user what issues are found to be compliant with Cura's standards.

In short, the less the user is messing around in the AppData folders, the sub-structures of the Cura folder could mean less headaches for the end user and the developers.

Please give it some thought amongst the team.

As a YouTube content creator/reviewer, I get a lot of machines in to test and many come with their own fork of various programs. Maybe this Import option could resolve people needing multiple versions of Cura?

HellAholic commented 4 months ago

If we're talking about the different forks of Cura then the issue becomes a bit more complex. Couple of things to consider including but not limited to (from the top of my head):

I'm using my own python script (semi-plugin) on Windows that makes a zip out of the AppData folder and imports it back from a zip, but that also is limited to the main version of Cura (doesn't check files and only works for the AppData folder and Cura 5.7+). It might be possible through the 3mf project files since they should (in theory) contain all the definitions of the printer the project was saved in. I'll talk it over with the developers to see if there are any solutions.

On another note (the compliance with Cura standards), there are some checks and warning systems in the Pull Request system for printer definitions on Cura repository you can use, but that also requires adding the files and making a Draft Pull Request. But there is no guarantee that it will work for the definitions from forked versions.

LilBub commented 4 months ago

Thanks for talking to the team about it!

HellAholic commented 4 months ago

Internal reference for Cura team: CURA-12041

LilBub commented 3 months ago

Re-visiting this! "Simplify3D saves each of these printer profiles as a FFF file. You can view this file by going to File > Export FFF Profile, and then selecting the profile you want to export. The FFF file is a plain-text XML file, so you can easily open this file in a text editor if you are curious about what is being saved."

If Cura had a similar ability, it would make is way easier for anyone to export their Printer Profile and share it with others. (Especially 3D printer manufacturers that do not work directly with the Cura team)