I was going to mention OpenSCAD, thanks for jumping in!
Previous CAD discussion (and identifying members willing to share their knowledge):