OpenSCAD sounded like a bad idea when I heard about it, but now it's my number 1 choice. Every number I use gets defined as a parameter at the top of the program or module. If I do a test print and find that I need to make some minor change, it takes me 5 seconds to make that change and I'm ready to print again. If I want to make a similar part for a different rocket that is bigger, longer, whatever - I just change the appropriate variables at the top and get the new part. Highly recommended, especially if you already know how to write code. (The OpenSCAD language is really trivial, as there's just a few basic commands, but having some experience programming helps to keep your code modular/readable/reusable/extensible etc.)