Loft component only works when curve is baked and relinked

Hello,

Currently, I’m going through my old coursework to brush up on my grasshopper skill again, and I’m doing an early exercise where I’m trying to make a lofted structure, starting with two curves drawn in Rhino. I have then divided them, linked them and used the point on curve node along with a vector to create a third guiding curve for the loft. I believe the solution I came up with should be if not optimal then functional, as I managed to create a third curve. However, when I went to loft the three curves, it did not recognize the third curve created by the algorithm.

I was a bit confused since everything looked correct to me. I tried to bake the third curve, and do the loft in Rhino, which worked! I then also tried to set the baked curve in a curve container in GH, and then again loft the three curves in there, and to my surprise that worked too! So in the end, I am able to get the geometry I was aiming for.

However, I am wondering why the curve I created through the GH algorithm did not work for creating the loft. I feel like I am missing something that could cause problems for me in more complex algorithms further down the road. Could anyone take a look at it, and see if they can explain it to me? I hope this post was clear, and would really appreciate answers!

In the file, the loft works as it is using the baked curve, however, if I attach the output of the rebuild curve component to the loft component, and removed the baked curve, it does not work.
Not working loft.gh (13.8 KB)


it’s not the curve, it’s data tree :slight_smile:

I’d suggest to lose the bad habit of connecting multiple wires to the same input holding SHIFT, and replace that with a Merge component, you’ll instantly see the issue

if you connect the new wire just baked and relinked, the data tree is like this at the Loft component:

if you connect the curve from rebuild, it looks like this:

so in this second case you are actually asking the component to do 2 different lofts for you :slight_smile:

indeed, if you flatten the Loft input, everything works even with the rebuilt curve:

1 Like

Right, thank you for the super quick reply! I guess I figured that the Join or Rebuild components would link the line segments into one data point, but I guess that’s not how this works. I’ll make sure to look at what the data outputs are more thoroughly from now on!

you are correct in saying the Join and Rebuild components link the line segments into one data point, but as many GH components do when they can generate multiple outputs, the path at which the data is output is “increased” by a step

for instance, your starting curve have path {0}, and they are taken “as they are” to the Loft component

but the other curve comes from a set of data transformation which bring its final address to path {0;0;0;0;0}

this is -in my opinion- probably the most beautiful and clear explanation on the topic:

1 Like

Thanks, really appreciate the explanation! Will look at the video :slight_smile: