The pit can be designed by specifying the base perimeter line string and then the pit parameters.

These include the bench width, height and slopes. Also the road start can be specified as well as the road width and gradient.

Then you just add benches and the pit is developed. benches can each have their own parameters as needed.

If the road exits in the wrong place, you can fix it be dynamically changing the road start position, until the exit point is just right.

You can the generate solids for each bench and evaluate them against the block model.