My engineering degree briefly touched on all those things, but the tldr was "experience".
If you have a 3d printer, you can trial and error and iterate fairly rapidly, which is often the best thing to do (albeit slightly wasteful)
I'm pretty sure you can make assemblies in OnShape, and they should automatically update as you change the base part. So I use that if I want to check the fitment. But when you print it won't be precise, so you may need to add gaps. I add 0.2 mm, but it depends on your printers capability.