That I would throw my two cents into this thread. I use openSCAD to do CAD work. It's limited (sometimes hampered) by the language, but you get incredible control over the dimensions and finer detail of the model for the trade-off.
Hmmm....
I have been using FreeCad. The my top priorities are (1) Fully-parametric modeling, so that I can create "meta-models" that can be tweaked via parameter, and (2) be fully-free, with "no strings attached".
I have never tried openSCAD, but it appears that it meets both of these requirements, as well.
FreeCad is incredibly powerful and feature-full. The big downsides, though are (1) it is very complicated and hard to learn; (2) the UI is amateurish, redundant, and changes frequently; and (most seriously) (3) it is very buggy. It is very common for a complex model to suddenly "fall apart" in ways that are difficult to recover from.
I am an experienced programmer, so I often feel like I am trying to bend FreeCad into a programming language, and it doesn't always cooperate. I am wondering if I should throw in the towel and move over to openSCAD.
Any thoughts you or others might have on this topic would be gratefully received.
Thanks.