The more I learn about FreeCAD, the more I am liking it but I'm using old computers with Linux so not many programs work. I'm using FreeCAD version 0.17 which is pretty old but I had to have a 32 bit version. I've only experimented with the CAM part of that program a tiny bit and never did more than simulate the g-code.
I started to try to learn OpenSCAD but gave up on it when I got FreeCAD to work on my old computer. For 3d printing, I had been using the online program TinkerCAD but it is very limited in what it can do. For a CNC router, I tried several programs. I have CarbideCreate but have to use build 474 which is very outdated but it still allowed me to save the g-code to use with other programs. As far as I could tell, the newer versions started saving in a format that only worked with their programs.