Is it possible to get the pick result of every surface of a box?


I am a new here. I am wondering if there is a way to get every surface of a model such as a box ?

Because I am developing a math room to let students use boxes to make a stack or move around

on the table. If the mouse pick the top surface of the first box, the second one will be put on the first one.

If the mouse pick the left surface of a box then the second box will be put next to the first one,etc…

Many thanks!