I'm trying to make a simple LEGO brick with smooth corners. I modeled the basic shaped and made it a little bit smoother by using the bevel modifier and to make the stud rounder I applied a subsurf modifier, everything went well except for the bottom part
The faces are getting all messed up at this point, I realized it was because of the subsurf modifier and topology of the model, I tried several methods to fix it.
Adding loop cuts to the problematic areas
This solves the issue but adds a lot more of useless geometry, specially when you consider the subsurface modifier.
Adding edge creses
Somehow it makes the problem even worse
I'm not a complete beginner to modelling but this got me stumped. I'm trying my best to make a non-destructive workflow so I can layout the basic shape and leave detailing to modifiers.
EDIT: The bottom hole has to be squared
Here's the model without any modifiers:
If the problem is bad topology what would a good topology be for this workflow?
Thanks in advance if anyone can help me!