@dave openSCAD is great. A programmer by trade and spent a lot of time in AutoCAD in my youth. I felt right at home.
You can do a lot with the app The scripting is especially powerful. I used it to randomly layout tile models for the surface of the Death Star.