Hiya @jvanaken
This is a bit tricky. Any solution that involves scaling the top or bottom as a whole will fail. You’ve got to expand or contract the edge of the top or bottom surface for this to work. The lower poly your mesh is , the easier it will be to work with.
There are a number of ways to do this. I’ve chosen the following two alternatives for the minimum explanation required, and the low chance of weird stuff happening. For instance if your topology is low and clean enough, you might be able to slide the top edge loop with Zmodeler, but there’s a high chance that a shape that complex may not perform as expected.
For the following two methods to work, your mesh must be in the following form: 3 polygroups, cleanly divided–top, bottom, sides, creases between all 3. There should be no horizontal edge loops on the side–just a straight extrusion from the bottom to the top. Your mesh is probably already in this form, as most of the ways you would create this shape will tend to create it in this manner.
See the illustration below:

First Method: Quick and dirty
- Shift Rotate the mesh in the viewport so that it is locked horizontally. Make sure perspective mode is disabled.
- Mask the Top mesh surface.
- In Tool > Deformation, use the Inflate slider to inflate the bottom surface. This should inflate evenly on all sides.
- If the bottom is uneven, it can be flattened with the Clip Curve brush.
Second Method: Zmodeler.
If your mesh is low poly enough, you can use Zmodeler to do this easily.
-
Extrude the sides with ZModeler- Polygon > QMesh> Polygroup Island. Extrude far enough out to establish the farthest point of your angled surface.
-
With Edge > Insert > Single Edge loop, ALT-click on the TOP edge loop of the newly created surface. This will collapse the top loop, creating an angled surface from the original point, to the newly extruded bottom.