Pufferfish- tween through surfaces component

Hi guys,

Actually u was trying to create surfaces between two defined surfaces using tween through surfaces component of pufferfish but the result I was getting is that the surfaces are getting smaller as they approach the center of the distance between the 2 surfaces whereas the result I expected is equal sized surfaces. Can anybody help me with this?

Thank you


@refaq.merchant Welcome.
You can use these guides to get the best answer; note # 3. Attach minimal versions of all the relevant files
If you have a gh file you have a question about, attach it to the post.

1 Like

That means your surfaces are not in the same direction. Use the Swap Surface Directions component to change the direction of one of your surfaces UV’s. Also keep in mind tweens are not rotational, they are literal translations.


same thing.

1 Like

Thank you sir for the help



But in the case that your two things you are tweening are identical you might as well just move rather than tween. Tween is meant for blending differing surfaces.

Always be aware of the directions of your geometry.

Here is a bonus, having the tween be rotational using Pufferfish’s “Tween Through Planes” with Quaternion rotation option.

QautTween.gh (15.1 KB)

1 Like

Hi Michael,

I am a grasshopper and pufferfish newbie.
As I came across to exactly the same problem of Refaq, I tried to sort it out by using the swap surface direction component, but something did not work out the way I expected.

Do you have any idea of why this happened?
I am also attaching the .gh file in case you wanted to have a look.

Tweenthroughsurface.gh (13.0 KB)


Your surfaces are not internalized, however just because @refaq.merchant solution was to reverse U and reverse V and not Swap UV does not mean that is the same solution for you. It depends which way your surface is drawn and what needs to be done to put it in the correct orientation. Try different setting on the swap surface component until it is correct.

1 Like

Is there a way to check that?

visually speaking you can see how UVs are oriented this way
probably it’s not the best method, but gives you a very fast hint (I keep all those component clusterized and use it a lot here and there for fast recognition of UVs directions)

1 Like

Hi Inno,

Thanks for helping out.
I am trying the definition you suggested. Do you have an expression in the Vector Display ex?


If your surfaces are made in Rhino you can just use the “Dir” Command

the expression was just x*10 to make the vectors a bit more visible by scaling them up

1 Like