Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

How can I spread N points over a spline at equal distances?

aaron_digullaaaron_digulla Member Posts: 8
I know how to spread N points over a line (using the distance tool). With an arc or a circle, I'd use the polygon tool.

But how would I do the same with a spline?



  • 3dcad3dcad Member, OS Professional, Mentor Posts: 2,457 PRO
    Can you open up what would be the purpose of 'spreading points over a spline'? You can add points to the spline and set dimensions between them.
  • Ben_Ben_ OS Professional, Mentor, Developers Posts: 286 PRO
    edited April 2015
    In this case I would create a bunch of equal lengths lines end to end and co-linear then dimension the outside points
  • aaron_digullaaaron_digulla Member Posts: 8
    In my example, I want to spread poles (which carry the handrail) over a bridge and the shape of the bridge is given by a spline. So in the example, I want to place 7 poles (one at each end and 5 at equal distances between them).

    @Ben: If I understand your idea correctly, I would create six lines, each end point on the spline (coincident), then give them all "equal length" and then move the endpoint of the first line until the endpoint of the last line is at the end of the spline?

    That would work in my case since the curvature of the spline doesn't change too much, thanks.
  • andrew_troupandrew_troup Member, Mentor Posts: 1,584 ✭✭✭✭
    My first thought was Ben's method, as elaborated by you.

    However, for cases where curvature was too curvy for this to be useful, I considered a reasonably simple approach:

    You are currently able to create a string of 2-point splines, setting a tangency constraint at each junction between adjacent splines. This will behave like a single multi-point spline.

    Unfortunately the next step, setting the length of all the splines to be equal, is not yet implemented.
    It only works for lines and curves (by which I presume OnS mean circular arcs)
  • aaron_digullaaaron_digulla Member Posts: 8
    I think a "spread construction points along outline" feature would be useful for many cases:

    - Placing chairs around a meeting table or along the ranks of an amphitheater
    - Place columns to support a roof
    - Pylons around a park or along a bridge
    - Creating star-shaped designs with irregular outlines
  • 3dcad3dcad Member, OS Professional, Mentor Posts: 2,457 PRO
    Or just possibility to set dimension 'along geometry'. This would be useful option every now and then. 

    Currently dimension is made horizontal, vertical or angled between points, dimension is always straight line between points. It would be great to have option to dimension for example spline points along the spline. 
  • andrew_troupandrew_troup Member, Mentor Posts: 1,584 ✭✭✭✭
    edited April 2015
    @3dcad :  This is a difficult computational problem. The underlying mathematics of a spline is not linear, implying there is no direct way of calculating the arc length of an arbitrary curve; it has to be done by successive approximation. I think it's a testament to the unbelievable processing speed of contemporary chipsets and the remarkable insights of mathematicians that the length of a spline can now be parameterised on screen, as the spline is smoothly and rapidly manipulated in real time, but it's only quite recently been cracked for prime-time MCAD.

    Here's a frankly boggling demonstration: 

    The shifting baseline of human expectation sometimes causes me a wry smile.
    "A useful option every now and then" is, I think, a fair assessment of this particular functionality ... meaning that the benefit, rationally assessed, is disproportionately small in comparison to the difficulty of solving it ... and yet in a few years the capability will be considered trivial and 'entry level' !

    (This is not aimed at you, 3dcad, but at the human species!) I'm reminded of a princess from a fable, casually directing a prospective marriage partner to provide her with an item life-threatening to attain. An item, it turns out, which she's not exactly certain she will enjoy or even use.
Sign In or Register to comment.