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
Feature Request: Secondary location for JSON machine definitions #847
Comments
Cura already supports loading from the local user storage directories: On linux, you can put them into ~/.local/share/cura/machines for 2.1 or ~/.local/share/cura/definitions for 2.2 |
But this isn't well documented or clear. We should perhaps always create the folders, even though nothing is found. That would make it a bit more clear. |
I think ~/.cura/machines already exists and contains the .cfg files. Please mention these 3 locations in |
those seeds to be a bug when stories json files there. |
s/rocket /ticket |
@nallath For users like @MarcusWolschon it would be more useful to log this instead of doing mess I think. Or for the case an user just wants to override definitions. |
Yeah, good point. |
Is this still true for Cura-2.4.0-BETA.AppImage?
shows no signs of trying to load definitions from |
We create "pickled" files of the definitions. It should try and read all the json files and then create caches, but it seems that isn't working correctly. |
+1 for this on the documentation side. Is this still valid for cura 2.4 ? Can we add materials, meshes and quality profiles in the same manner ? |
Figured out what was going wrong. We never tried to read from the definitions or other directories since they are not considered "writable" and thus were never added to the list of locations to consider when loading. That is now fixed. |
Things like definitions are not writable, so trying to get a storage path for them fails. However, we still want to be able to read those files from local config data dirs, since that allows overrides and similar. Contributes to Ultimaker/Cura#847
@arthurlutz Materials and qualities were already handled properly, but now everything else that is considered a "resource" will also be loaded from local config. In addition, local config is read first which allows overriding definitions and other files with customised versions. (Note that in case of definitions, you may need to clear the cache before the changes show up.) |
@awhiemstra great news. thanks for the heads up. How do I clear the cache ? |
On Windows and Mac, Delete the "cache" dir in your local configuration folder. On Linux, delete ~/.cache/cura . |
Excellent. Do you provide a nightly AppImage somewhere for me to test? |
Not yet, I'm afraid. We are working on a continuous integration system at the moment that should be able to better take care of it. In addition, I would like to backport it to 2.4 so it will be in final 2.4, but I am not sure if it will be considered important enough. |
With cura 2.4 on ubuntu linux (installed via PPA) the customization in userland is still partial. At least "definitions" and "meshes" are not searched by cura the locations mentioned above. Copying the resources in /usr/share/cura/resources/meshes/ get cura to take them into account. |
With the 2.4 AppImage they still don't seem to get loaded from |
Yeah, the commit was not backported unfortunately. It will be fixed in 2.5. |
In the meantime, on Linux you can mount the AppImage, copy out its contents, and modify them like so:
Then you can either repack the AppImage or run the |
This has been implemented in the meanwhile. |
Looks like in 2.7, |
But then, I can't get it to show a definition from there. |
What's is the correct path for 2.5? |
@cr41g1w I think it is being implemented only beginning with 2.7 Beta. |
@probonopd I am trying to use FABtotum configs designed for Cura 2.5 from https://github.com/FABtotum/FAB_Configs/tree/master/Cura2.x_configs_FABtotum but not 100% sure how to load them. Documentation is lacking. |
Putting the contents of /resources/ in to ~/.local/share/cura/. has maybe worked. I'm waiting on confirmation. |
Please reopen. This is not working properly in 2.7 BETA yet.
|
But I can confirm that when manually doing
and then placing a new printer definition there, then it gets picked up in 2.7 BETA. 👍 However, To reproduce: Place https://raw.githubusercontent.com/probonopd/RF100-Firmware/community/cura/renkforce_rf100.def.json into Now open Cura 2.7 BETA, add a new printer, select Renkforce RF100. I would expect it to use the (newer) definiton from |
~/.local/share/cura/ does seem the correct path for Cura 2.5. |
This was the commit that implemented it, I think: Ultimaker/Uranium@c0e057b |
Please keep it on |
Sorry @Ghostkeeper, my mistake. I had misinterpreted the meaning of the key. So my only wish would be that Cura would create an empty directory at |
I second @probonopd 's request |
I agree. I've added the definitions folder to be created upon start-up: Ultimaker/Uranium@a3c77e8 |
Thank you very much. |
Currently all machine definitions are JSON files in Cura 2.1.x itself.
(On MacOS this makes them part of the .app package)
Feature Request:
I propose locations:
The text was updated successfully, but these errors were encountered: