So I’ve got a pretty massive project going on where I’m creating a library of hi-quality LEGO parts for CGI films. The pieces are based off of the LDraw library; basically I’m doctoring up the bricks to a higher quality. So far it’s been great, until I ran into pieces like this.

I’m entirely at a loss for how to approach modeling the circled part. I’ve tried using the bevel modifier, I’ve tried isolating the edges around that point and modeling the bevels by hand — just about everything I can think of. The most consistent problem is retaining a smooth, consistent curve the whole hight of the brick. Usually I’ll end up with something like this:

I’ve tried adding more loops around the edges, but that throws off the roundness of the piece (when I apply subsurf, it pinches around the extra loops). I might be able to solve that by simply increasing the amount of sections in the whole piece – right now the piece is about 24 vertices around – but I’d really like to keep the vertex count down if possible.

Any ideas?