Hi Rob 
> The array could work OK for a single regular arc so will give that
> a go but could run into problems with more irregular curves.
No, it should be fine on irregular curves  the way Array curve works is by measuring distance as traveled along the curve...
I'm not sure why you mention arcs here? Are you thinking about ArrayCircular instead of ArrayCurve?
> So im right in thinking there isn't a way to measure a distance along a curve?
There is a way  it's an option in ArrayCurve like PaQ mentioned above...
When you do an ArrayCurve, you get these options for how to control it:
There are 2 modes to it  you can either enter a number of items, and the curve is evenly divided into that many segments (the length of the segments is shown in the Distance: entry right below it), or you can enter a distance and items will be replicated by traveling that distance along the curve, creating as many as can fit before it runs off the end of the curve. The number that did fit will be shown in the "Item count".
So when you enter a value for either of those, the other one will be calculated in response.
But when you enter a distance there you are entering a distance along the curve, just make sure to place your point object (Use the Point command under Draw Curve / More / Point) at the start of the curve and it will be all set up with accurate results.
Let me know if you need a more stepbystep explanation...
 Michael
