Swept geometries with tree structure

Hey there,

I would like to create sweeps from a tree containing profiles. The initial tree contains paths for {0} to {5} which are all geometries in my document, but only paths {3} to {5} are sweeps i want to create.

I have rail curve for {3}, {4}, {5} always 1 rail for 1 object.
But for profiles I sometimes have lists of profiles, they all need to be swept along the curve, according to their path. So all profile in path {3} must follow rail defined at path {3}, all on {4} with rail {4}, etc.

It seems to work fine for single profiles sweeps like for {4} and {5}.
However in {3} there are 2 profiles : with the “Extrude Along” component it works, but not with the “Sweep 1” component.

Any idea why ? And eventually how to fix it ?
minimal_example.gh (8.1 KB)

Thanks a lot for your time

3. Attach minimal versions of all the relevant files


Hello Joseph,

I appreciated your reply, funny one :smile:
Here is a grasshopper script that hopefully contains what’s needed to help.
Thanks again.
minimal_example.gh (8.1 KB)

We shouldn’t have to ask even once. Yet it happens over and over and over and over again, every day on this forum :exclamation:


Hi Joseph again,

I understand it must be annoying. My apologies for this.

Hello again,

I’ve found the solution after searching for these last few hours, a bit by luck I must say.
So the solution to do such thing is to first go through each master path, namely {3}, {4}, {5}, and adjust list lengths by copying the rail for each profile (in this case it matters for path {3}). Then, by grafting both inputs (here I don’t understand the reason), it works. If I don’t graft them or if I flatten them (which I have intuitively tried as list lengths do match), it just gives me an unexpected result.
Lastly, the sweep component creates a child path for the result, so by simplifying its output I can have the data structure result as I wanted initially.
Here is the solution attached :
Sweep1DataTrees - solution.gh (10.7 KB)

Special thanks to Joseph for his support.