I think i got a modeling solution for this using mograph. Probably can be achieved without it aswell (just easier with it).
Since it is a repetitive structure i used the formula spline and 4 mograph cloners for creating the basic grid. I put the splines in a sweep nurbs with a circle and put the whole thing under a spherical wrap deformer. Here is what i got:
File also attached
You can make the spline thicker but then you need to adjust the formula spline to have a higher max point and lower min point (so you have space and don't have intersecting mesh) and adjust the cloner object to have enough space. mic.c4d
Attached is a sample file.
I played around and eventually, what gave the best result was an infinite light with shadows turned on. That way the shadow is projected onto the plane.
This can you started i think.
Maybe you can put a compositing tag on an invisible plane in the sky for it to have the shadow cast upon. Or maybe you can use the shadow catcher plugin. Don't remember where to find it though.
You can do it with a 3rd party software. Below is a link to a maze i made in c4d and used directormx to move the camera and collide with the walls.
I am not familiar with clusters but i played around with your file and it seems the problem is that you have one point assigned to both clusters. Each cluster works good separately, but when you turn both on something goes wrong.
My best guess is you can't have one point assigned to 2 clusters without something going wrong.
I think you can box model this without too much trouble. Just make first the outer shape by box modeling and keep in mind to have enough subdivision so you have enough polygons for the holes later on. Then you make the holes just by make inner extrude and extrude. Put it under HN and you get round holes.
I attached a file with a quick example. Far from perfect but i hope you get the idea.
You are welcome. Was it any help??? Did you manage to get it to work?
I think the filter part of my xpresso can be made in coffee and then it might work. I have an idea in my head but i don't remember how to write code lol.
O.K. this is as far as i got. I am stuck. There is the part of the xpresso that should filter all the indexes who's point position is x=0 but it only outputs the last point index who's position x=0. I have no idea why the loop doesn't work (I hate loops).
The rest of the xpresso works as expected. If you try to move the point (in this case index = 25) from x=0 it stays at x=0.
Hope someone can figure out what's wrong with the iteration filter part. xpointlock.c4d