Modeling an M1A2 Smoke Grenade Launcher I've been trying to find the right way to model this grenade launcher.  My first attempt involved a bunch of Boolean modifiers, which was messy and inflexible, and my second attempt involved trying to maintain quads while using the subdivision surface modifier, but produced issues trying to maintain circles and rectangles in the right places when sharpening angles with loop cuts.  Does anyone have any ideas on how to best tackle this shape?



EDIT:

I realized that I could apply my loop cuts horizontally rather than vertically, then delete the edges in the round holes to preserve their circular shape.  It resulted in some ngons, but didn't seem to visibly affect the subsurf modifier.  I wasn't able to get the sharp edge in the real deal, but settled with a simple deform modifier for now to curve the barrels.  There's a lot of tweaking to be done, but it's a start.  Thanks everyone who took a look at this.  If anyone can find a better method, please let me know.
I would first create a map with all your holes shapes (the primitives may need more vertices than what I've done though), then weave the edges between their vertices, then extrude outwards, extrude inwards, extrude along its length, add edge loops to sharp. Then to deform the whole thing you could use a Lattice or a Mesh Deform modifier.