Bug: TweenCurves fails often with simple surfaces


I’ve got this customer call, that TweenCurves often fails for unrolled surfaces. Try to tween the left and right vertical edge fails.

TweenCurves_notWorkingcorrectly.3dm (21.1 KB)



Hmm, yeah, this is interesting… The problem is somehow with the implied direction of the edge curve. In the attached I created a new rectangular plane surface by snapping to the corner points of the existing one - I then moved it to the side for clarity.

I duplicated the edges in question and looked at them. On both sets, the start and end points are inverted - this is normal, as surface edges normally go in counterclockwise order around the surface border. The extracted edges LOOK identical. But if you look at the edge domains, you see that the one that works has one edge with a negative domain. The two edges that have positive domains and opposite end points used together don’t work. You can reproduce this here by just drawing two simple parallel lines in opposite directions and running TweenCurves, the result will be the same as with your unrolled surface edges.

So, I don’t know where this actually needs to be “fixed”… In UnrollSrf, or in TweenCurves to account for this type of case… @Pascal?


TweenCurves_Sample.3dm (57.8 KB)

no problem here Rhino V5 SR12
duplicate border - explode - tween curves - left click on the point bottom right - enter (or RMB) and the curve was created

Same here - no problems (Version 5 SR13 64-bit (5.13.60404.13390, 2016-04-04)). Works with the edges as well (no need to dub border).

HTH, Jakob

Interesting… You don’t see this? (I am using the latest SR13 RC) --Mitch

Hi @Helvetosaur

Initially, yes. But you just need to click one of the end points (the actual point displayed by the Tween command) to reverse the “direction” of the tween on that side, so that the start/end points match - more or less just like flip on the Dir command. Then the tween command should do as expected.

HTH, Jakob

Ahh… doh… :confounded:

Wondered why there wasn’t an option to flip the curves and overlooked the completely obvious… Just goes to show you I virtually never use that command. I guess I expected a tooltip to tell me I could flip the curve when I hovered over the point…


Hi Jakob,

yes, I have seen the nice flipping points too, but the preview of the middle curve was lying over the surface isovurve, so I missed to confirm.

Thanks a lot


(ultimate wip) It does not convince much of this “TweenCurves” operation. With “regenerate” option you notice discontinuities in marked points. If you enable the “None” option, the command works in these points, but creates a mistake elsewhere (at the ends of the two red polylines).
A command that has always given problems, and I do not understand why! Rajaa could respond better…
tweencurves imperfect.3dm (37.4 KB)

correspondence method: none

correspondence method: regenerate

A answer, please.

Today, September 4, is a public holiday in the United States. The McNeel office is probably closed.

Explode the input curves and the Refit method gives the expected results.

I tried, it fails to me. I exploded and used the “fit” command, nothing to do: always incorrect.
In my opinion, this command should be rewritten from zero: it always has problems with simple curves.

i am trying: for parts it works, but if I select all the united curve it does not work. strange…
(For example, for curves from the shape to S this command always gives incorrect results).

That image is really hard to see. Try a darker line color.

Similar example: incorrect with each method. Are two simple curves grade 3.

if you use the “fit” command, it works as it should.

Works for me if I explode the polycurves. See attached file
tweencurves imperfect EC Exploded.3dm (138.4 KB)