This may be too simple for your situation, but it’s how I’ve managed to wrap a linear array around a curved surface for small objects like table lamps and vases.
The trick is to match the dimensions of the array to the size of the surface. To make this example I had to tweak the size of the hexagons out to the 4th decimal place. And for some reason I don’t understand I also had to rotate the entire array in degrees by a value with 5 significant digits.
I used the Pipe object simply to make it easy to see what the end result is.
The overlap at top & bottom results results from a mismatch in vertical size between the surface and the array. For me this is not a problem because I simply adjust the height of the surface - I have no specific height I have to meet. I reckon your situation is not like that. So that may mean my approach is no help for you. Or - maybe not.
SPlop-bb1.gh (21.0 KB)