Designing a control panel in FreeCAD

After a long time trying to achieve anything in OpenSCAD, I abandoned it. I’m frustrated with my inability to constrain things easily, a lot of my time was spent translating and difference()ing various primitives. The best curve I could get was a cylinder. The performance is also gnarly when you start to incorporate a lot of shapes and perform boolean operations. I still launch it when I need to split one object into multiple, or trim something off an object.

What else is there? I looked around the internet, but most of the good CAD programs are locked to Windows and require expensive licenses (over 100 in any currency per year is a difficult ask for most people). I decided to try FreeCAD - it seemed to be the program with the most interest, and the most recent commits. I don’t know if that means there are lots of bugs and requires constant maintenance, or if there’s a thriving community. Either way, it seemed more promising than some of the more dead applications with some bitter communities. Most people hadn’t heard of FreeCAD and didn’t have much to say about it, or complained that high complexity projects would crash.

I’ve now spent a few weeks with FreeCAD. I can finally create arbitrary curves, working on individual parts is trivial, I can clone parts and create variables via some dodgy spreadsheet mechanism. You can group parts in little folders, and for creating solid objects, this workflow is superior to an entirely code driven approach. OpenSCAD parts are mostly positionally dependant, meaning a lot of fiddling is required to re-arrange parts. In FreeCAD, with a constraints system, you can easily sketch a 2D plane on any axis and modify your object.