Giter Site home page Giter Site logo

Comments (6)

rgomezjnr avatar rgomezjnr commented on June 26, 2024

Hi growlybear1972!

How many printers do you have?
How do you switch between printers when preparing to print? Do you use Octoprint? Or do you move USB cables?
Do you use the same format string in GcodeFilenameFormat for all your printers?

Maybe the simplest implementation for this feature request in Gocde Filename Format could be a checkbox "Remember last save location per printer".

Maybe this feature could be a separate plugin that maps printers to filesystem save locations.

I could also see this being a feature of Cura itself. I'm adding some contributors to see if they have any recommendations:
@Ultimaker @Ghostkeeper @fieldOfView @nallath

from gcodefilenameformat.

Ghostkeeper avatar Ghostkeeper commented on June 26, 2024

When you save g-code, it currently automatically remembers which location you saved a file in (globally). This is done in the preferences file under the name local_file/dialog_save_path.

A plug-in can read these preferences with UM.Preferences.Preferences.getInstance().getValue("local_file/dialog_save_path") and change the preference with UM.Preferences.Preferences.getInstance().setValue("local_file/dialog_save_path", "/path/to/directory"). So this way, a plug-in could register a function that saves the current preference value to a metadata field in the Global Stack when switching away from a printer, and loads that metadata field from the printer you're switching to. That would make it effectively save this preference per printer.

I don't think we'd implement this by default in Cura though. It can be quite confusing to have the dialogue path change when changing printers because it's not something people normally associate with each other.

from gcodefilenameformat.

rgomezjnr avatar rgomezjnr commented on June 26, 2024

Thanks for the detailed info @Ghostkeeper.

So this way, a plug-in could register a function that saves the current preference value to a metadata field in the Global Stack when switching away from a printer, and loads that metadata field from the printer you're switching to.

That's what I was thinking, thanks for your insight.

@growlybear1972 I think this feature would be better implemented as a separate plugin than including it in GcodeFilenameFormat. I will experiment with an implementation for this feature and get back to you.

from gcodefilenameformat.

rgomezjnr avatar rgomezjnr commented on June 26, 2024

Hey @growlybear1972,

I've made a simple implementation of this feature you requested, can you test it please? You will need to download and install this version manually.

  1. In Cura, select Help -> Show Configuration File
  2. In Cura, select the Marketplace button in the upper righthand corner
  3. Select the Installed tab
  4. Uncheck Gcode Filename Format to disable it
  5. Select the Quit Ultimaker Cura button
  6. Download https://github.com/rgomezjnr/GcodeFilenameFormat/archive/per-printer-save-paths.zip
  7. Extract the download to your Cura plugins folder e.g. C:\Users\growlybear1972\AppData\Roaming\cura\4.6\plugins\GcodeFilenameFormat-per-printer-save-paths\GcodeFilenameFormat-per-printer-save-paths
  8. Relaunch Cura
  9. Test the new behavior by selecting different printers and saving gcode into different folders

A few notes on this implementation:

  • If Cura is closed the per printer save paths will be lost
  • Only works when pressing Save Gcode button (using GFF), not using Save to File, the default Cura button

from gcodefilenameformat.

rgomezjnr avatar rgomezjnr commented on June 26, 2024

Hello @growlybear1972 did you test the new version I linked previously? Does it work for you?

from gcodefilenameformat.

rgomezjnr avatar rgomezjnr commented on June 26, 2024

Closing due to inactivity

from gcodefilenameformat.

Related Issues (19)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.