You could also create this just once at a known arc radius, store it as a template file somewhere; then import the file as necessary and scale it to fit the profile in question.
tbh, i’m not entirely sure of how this needs to work in order to be helpful but here’s a rough draft at a python script which will provide this type of spacing along a curve…
import rhinoscriptsyntax as rs
import math
def cosinedivide():
crv = rs.GetObject('Select a curve to divide', 4)
if not crv: return
rs.FlashObject(crv)
div = rs.GetInteger('Number of Segments', 10)
if not div: return
start = rs.CurveStartPoint(crv)
end = rs.CurveEndPoint(crv)
radius = end[0] - start[0]
degree = 90 / div
plane = rs.WorldYZPlane()
for i in range(div + 1):
angle = math.radians(90 - degree * i)
x = start[0] + math.cos(angle) * radius
xplane = rs.MovePlane(plane, (x, 0, 0))
pt = rs.PlaneCurveIntersection(xplane, crv)
rs.AddPoint(pt[0][1])
cosinedivide()
as is, it’s only doing the division along the x axis (as shown in your original example) but i suppose it could be modified to accept a user defined axis… the curve direction matters and you might have to Flip the curve for proper results… (in the example image, the direction of the 2nd curve down is going from rightToLeft and the others are going LtoRight…