How to make an object from basic volumes?
It's not really automatic but this can be done with the array modifier. Take your object that you want to make a cube out of and then apply three array modifiers. The result:


Going from here we can fill more complex things with the Boolean modifier. Take the mesh you want to fill with stuff and enclose it in the arrayed object. It will look something like this:


Then we use the Boolean modifier to cut out the shape. Giving this:


From here we apply the stack. It't not perfect / ideal / fast, but hopefully this is enough to get you somewhere until someone else has a better idea.

Final: