Rhino BETA Feature: Elmo. A new Rebuild command for Curves

Hi there,

I’m not sure whether this is the expected behavior.

The outer curves are offsets of the inner curves. They are tangent-continuous except at the very visible kinks.

The start/end point of the closed curve is located where both curve segments meet tangentially. However, when the curve is closed and made of N segments, it looks like the algorithm does not check whether the end of the last segment satisfies the tangency criteria with the start of segment 0.

I can move the start/end point of the closed curve to the kink, but I don’t think that should be necessary. It does not seem like the expected behavior.

Jean
Form2Fab

Elmo.3dm (31.2 KB)

thanks @Info_Blue_Leaves

RH-96727 Tangency on closed kinked curves

RH-96727 is fixed in Rhino BETA

Thank you for the new API :slight_smile:

Any chance of a pointer how i can call it to mirror the “Rebuild to tolerance” mode? I am not spotting where to feed the tolerance parameter - unless it is in SetPointCountRange(min,max,tolerance)

Is the approach to call iteratively? Gradually increasing the point count until the tolerance is met?

btw NurbsCurveFitParameters documentation for Closed & PeriodicControlPointCount is identical.

Hi,

I’m running Elmo on a curve with a significant number of control points and several kinks, and I’m getting a result that I don’t quite understand.

With the G1 angle set to 15°, Elmo generates 44 segments.

If I then change the angle directly from 15° to 45°, Elmo recalculates and generates 932 segments.

However, if I cancel the operation and run Elmo again from the start with the G1 angle set directly to 45°, I get only 17 segments.

So the result seems to depend on whether the 45° value is entered from the beginning or changed after an initial calculation.

Is this the expected behaviour? I would assume both cases should produce the same result.

A related usability suggestion: it might be useful to have a Recalculate / Apply button instead of recalculating immediately whenever a parameter is changed. This would avoid recalculations caused by typos and would also make it easier to change several parameters before launching the calculation.

I’ve attached the Rhino file so the issue can be reproduced.

Thanks for your help.

Courbe to Rebuild.3dm (988.3 KB)

yes that is how it works

thanks @jeang for reporting
Yes that behavior is wonky. It is not resetting the point count to a lower value, and as you noticed, typing the 4 already starts recalculating, forcing the point count to a much higher value.
Setting a kink value affects the point count but only if it needs to increase the point number.
The text box only needs to fire as soon as you are done typing, so I’ll tune that up.
RH-97624 Rebuild: don’t recalculate while typing