in my opinion this can be done very well with ShapeMap.
Look at examples from 2-1 to 2-3, where there are examples of cells distributed along the surface.
Create the single cell so it can be repeated along the desired surface. Ask @jessesn , he will probably be able to give you some good advice.