Pull curve is giving unexpected results

Hi all,

I am trying to pull a curve to a surface, but somehow I am getting different results for similar curves. One of the curves is behaving erratically after being pulled to the surface, I can’t figure out why.

I even tried using dividing the curve into multiple smaller points, use Surface CP, and interpolate the new curve. The interpolated curve turns out fine, but the pull curve still behaves erratically after that operation.

pull curve not working properly.gh (15.9 KB)


Your input surface is not periodic neither in U nor in V direction.
In C# you can check this using Surface.IsPeriodic method, and you can make a periodic surface using Surface.CreatePeriodicSurface.
I’m not sure but there might be a plugin which implements these methods into standard grasshopper components.

private void RunScript(Surface srf, ref object U, ref object V, ref object UP, ref object VP)
  U = srf.IsPeriodic(0);
  V = srf.IsPeriodic(1);
  UP = Surface.CreatePeriodicSurface(srf, 0, true);
  VP = Surface.CreatePeriodicSurface(srf, 1, true);

CreatePeriodicSurface.gh (16.0 KB)


thank you for your reply. The code almost works, except for the fact that the surface is getting skewed for some reason after applying your surface continuity:


Also, I used periodic curves to generate the loft profile of that surface. How does that differ from a periodic surface?