I think I'll always love this form of CAD. Code (#clojure of course) the assembly parts using fairly simple primitives and boolean ops. Have an export at the bottom and just re-run the file when you change things. See a live update of the model as you work!