I just have to ask the question to then find out my answer later. I understood the inheritance but failed on the syntax
Correct answer is strings in data file need '' as well as ' ... actually am shamelessly copying flying bears file. They use as defaults what i would as well. Thank you flying bears.
Have you had any luck on making a quality default profile for your machine defaults.
I added to my machine definition:
I made a folder in quality called micromake_d1 copied all the base profiles and then changed definition = micromake_d1.
Cleared all the speed properties issues that were causing me problems under values that were overriding my values but when i start Cura it goes sideways. My material selection is orange and my profiles all say "Not supported". I did not think i would need to add individual profiles for each material/quality if i did not state "has materials" in the machine definition.
now i can fix this issue in my personal install by just modifying the defaults quality for fdmprinter, but i want something that can merge into the Cura base and I imagine Cura does not want me modifying that file... I am concerned that what Cura wants is a file for each material/nozzle/quality setting and that not a data structure that is non-trivial to set defaults.Edited by LucidWolf
Many (if not all) of the settings are contained in "fdmprinter.def.json". I'll use my Ender as an example as I'm most familiar with it.
At the top of the creality_ender3pro.def.json file is a line "inherits": "creality_base",.
OK I open creality_base.def.json and there is a line "inherits": "fdmprinter". Progress.
So all the settings in the fdmprinter.def.json go to the creality_base file which is much smaller and where there is a section for "overrides". Any settings in the "fdm" file that don't fit the Creality line of printers get changed in the overrides section. The final file "creality_ender3pro.def.json" is specific to my printer and also has an overrides section. Those final overrides tweak the settings for my particular machine.
The "kossel_mini.def.json" file has an overrides section. That is where you want to put your changes to settings. In line 1988 of fdmprinter.def.json you will find the section dealing with the infill types and yes the "default_value": "grid" is in there. If you were to add (properly formatted and punctuated) lines to the override section in your machine definition file:
Then when you start Cura it will be read in.
I keep copies of my personalized Ender files in a folder and when I update Cura I overwrite the stock Cura files with my own files. So I can do things like add up to 4 extruders on any Creality printer because I've customized the creality_base.def.json file. I have my personalized Start and End gcodes in there as well. Those are "machine specific" things.
If you changes are "preferences" (like Gyroid instead of Grid) then an easier way to do it is with Settings Profiles. When you have the settings in the Custom view then Profiles become available. Clicking on the active profile will open a drop down list and at the bottom are some options. One is "Create Profile from Current Settings/Overrides". Then you get to name it. I have one for PLA fast, PLA slow, PETG, and TPU. The speeds, temperatures, infill type, etc. are all in there. No matter how I make changes for a particular model if I click on PLA Fast I get that set of defaults and I can start customizing for another model. Those profiles carry over from version to version where custom machine definition changes do not.
Link to post
Share on other sites