When it comes to printing, I usually like to break things into pieces. This way, if a part fails on a large print, it doesn't result in a lot of lost time or material.
For the outer casing, the top, sides, and bottom have all been cut in half. You can get the .STL files below.
While printing mine, I had problems with curling on the bottom of my prints due to the size of the printing jobs, and general thickness of the parts. I had only recently gotten a 3D printer, so instead of continuing to generate lots of scrap, I made adjustments to the sides to compensate. The STLs attached to the project are unadjusted, so if your printer is dialed in, and you use a large enough raft and go slowly, you'll be fine.
Due to the curling along the bottom of the edges, I needed to get the sides to line up.
Use M3 screws to attach the bottom plates before hot-gluing in the stabilizers. You can use the extra rubber feet from the Metro 328 packaging as the rubber feet for the controller. Handy!
I printed three types of parts I call stabilizers, to keep the sides in alignment, and prevent gaps with the bottom case. Just use a healthy amount of hot glue, and hold into position. These are entirely optional, if you're able to print with minimal curling.
When gluing PLA material together for a high strength bond, don't use cyanoacylate (...like I did.) Use E6000. It's vastly better, I just didn't have any on hand.
If you're in a pinch and need to use cyanoacrylate, just know it'll discolor PLA prints.
I got around the discoloring by using a Sharpie to go over the whitened areas on the black PLA prints, and then wiped them down with a 1:1 mixture of 91% isopropyl alcohol and acetone.
Similarly, I printed little stands (inspired by Noe and Pedro) to hold the PCBs. These I also mounted with cyanoacrylate, but it didn't matter if there was discoloration.
By printing these mounts and and affixing them later, I was able to get an idea of the internal spacing of the enclosure for fitting the PCBs, without getting lost in hypothetical designs and too much time spent modeling.
All of the PCBs click into place on their mounts, except for the Powerboost 1000C. Because it'll have to handle a USB plug being inserted and pulled for charging, I affixed it with 6mm long M2 screws.
The measurements for where go these aren't especially precise, except for the Powerboost 1000C. The Powerboost 1000C board must be oriented towards the right sidewall, and I glued it into place once I had the walls affixed by machine screws to the base.