Hi, Why it has to be in XML? Right now it is saved as a JSON file in %appdata%\FlatCAM\defaults.json That file can be opened with a TXT editor in case you want to fiddle with it (but I can't see the reason since you can do it in the GUI). Right now, all the values in the Options Tab -> Application Defaults are saved automatically each 20 seconds or when the user is clicking File -> Save Defaults (or in my builds, for convenience, also when you click the Save button found in the upper side of the Options Tab -> Application Defaults). Those values are automatically loaded at each startup of FlatCAM and then propagated within FlatCAM. I always set my defaults with the values that I use. So you can modify those values in Options Tab, save them and "happy usage". :)
It doesn't need to be XML - JSON is fine. Just human readable text is all it needs. Anyway, the problem is it doesn't save the information I need it to save when I save defaults - Some things like tool diameters just return to the original default after "saving defaults" - manually editing the file you suggested works well though - thank you. BTW, the tool dia bug is still present in the new version. It's quite common in PCB design for inch settings to run 10 thou tracks, separated by 15 thou of gap. If the tool size is set to 15 thou, then this should work, however it fails. I find I have to set the tool size to 14.99 thou ( 0.01499 ) or else it will not cut between the tracks. So one of two options would be handy here - or even both. 1) Cut geometry where tool size = gap size and; 2) Have a "Force Geometry" override to force it to cut into a gap where necessary Being able to force the cut into smaller spaces might remove some unanticipated material when the tool is pushed through, but will allow for tolerance errors to be ignored at the manufacture stage if the gerber files didn't have perfect clearances, such as when pads are very close to diagonal tracks, as losing more copper than anticipated is a preferred outcome over having the tracks bridged. Thanks again for the help - I am genuinely amazed at the effort and features going into this product.
Are you using the units for FlatCAM in INCH? If you are referring to one of the Nightly's that I post, I'm guilty. Because I don't use INCH but I use METRIC all the time, I don't always check if there are issues when in INCH. I may have to learn how to use the "tests". About what you call : "tool bug". FlatCAM use a library named Shapely. Almost everything in FlatCAM is treated as a point, or linestring or polygon or multipolygon that are processed by shapely. And shapely says that no polygon can touch themselves in more than one point. Maybe that's the issue. Don't know for sure, it requires some time to research but isolation paths are made using a Shapely method named "buffer". If this method is the culprit, nothing can be done. If not, who knows. But I see you have a solution, just subtract something like 0.000001 from your tool diameter and you are good to go.
I agree. If this is endemic to the library, then better to work around it. Though there is a limit to the number's resolution - This much I found through experimentation. And yes, tool sizes and pass overlaps in FlatCAM all defaulted to inches for me, which is fine since most through-hold PCB work is in inches. The nightly defaulted to Inches too, but perhaps that's because my defaults file already existed from an earlier version of FlatCAM. - Though I note that whatever is selected for a file, once opened, remains regardless of selection until the file is re-opened.
The way FlatCAM is made, the units are used as a default in INCH. But once you select the default units for application to be in MM, it stays. And all the development I do is done with my defaults in MM as my PCB's are done with tools in mm, dimensions in mm and so on. [ I was actually thinking to redo FlatCAM to have the inner defaults in metric, to suit my needs better]. That's why I said that there might be issues when FlatCAM is set to work in INCH. But I will check and try to solve this as many are still using INCH. Indeed right now there are just a few of the parameters that are propagated in the application on hitting Save Defaults (or by the automatically saving that is done each 20sec). Among them are the excellon_zeros and the excellon_format_in and excellon_format_mm. The rest of the parameters require a close of application and restart after the App. Defaults change in the Options Tab. In the near future I will try to make them all propagate,.