How to apply a shape onto a curve?

Hi All,

as per the title, I struggling trying to figure out how to extrude/flow a defined polyline shape along a curve. I have two shapes numbers 1 and 2.

a. for a certain part of the curve i want to use shape 2,

b.and then shape two will ‘taper’ into shape 1 at a certain part of the curve,

c.and then it will be shape 1.

d. Shape 1 will then taper into shape 2,

e. and then it will become shape 2

ive attached a screenshot of my sketch and script for ease of reference. please drop a message if unclear. thank you!

Single Span FSM (Curve)_R0.1.gh (74.0 KB)

Dear Imran Hakim,

To help you, we need first more from you :slight_smile:

  • Please make your .gh example without Plugins. Try to work with the set of components in grasshopper self. (to see what you did, I now have to install plugins first. And do not want to that).
  • Try to isolate your question using internalise data. Only the curve/breps etcetera what are really needed to work on your question.

Regards, Eef

In this case, the entire GH appears to be heavily dependent on the plugin. RIDICULOUS :bangbang:

Too bad. If I understand the description, this could be relatively simple. But the GH code I can see is exceedingly complex so I won’t touch it anyway.

1 Like

Hi Joseph, thanks for taking the time to check my script, ive attached an updated script without using the plugin. Thanks a lot!

Single Span FSM (Curve)_R0.1 (No Plugin).gh (31.2 KB)

Hi eef, sorry about that, attached is my script without any plugins, thank you!

Single Span FSM (Curve)_R0.1 (No Plugin).gh (32.0 KB)

Dear Imran,

More advice:

  • Bring examples back to the miniumum, it took me more time then I wanted to find the parts you want me to look at. (see the result to see how you can do that. To finish it off, just internalise the components in “Input Group”

I hope I understood well want you need. I made an example using just a part of your input.
Explanation is in the gh file .
Regards, Eef


Single Span FSM (Curve)_R0.1 (No Plugin)EW.gh (46.3 KB)

Example EW.gh (18.1 KB)

hmm, i think yes but not quite, sorry, i think i need to simplify my script for easier reference, but thanks again!

Hi eef, ive managed to simplify the script (internalize data)

What im trying to achieve is having the shape of the outer and inner line be perpendicular to the line, and applying like a sort of extruded shape? so that i can visualize what it will look like while also having the taper that i was trying to achieve earlier at certain points

Internlize data.gh (5.2 KB)

In that case I would not use Flow (I am not so familiar with this component), but
Sweep1.
You can use your lines to do:

  • make 1 long line => rail
  • use the vectors (when exploding) to find the points where you want the profile to change.
  • Curve closest points (t) to place Perp Frame (with t) along the rail

One time to create outer surface
Second to create inner surface
Cap both to make them into solids
Solid Differance to get your profile.



Internlize dataEW.gh (22.1 KB)

Hi eef,

after some studying, ive managed to get what you almost got, however, im not getting the smooth curves when the sizes change? instead im getting a kink

another question is that, i want to rotate the inner line so that it becomes symettrical and aligned, and im stuck on this part

Internalize 2.gh (16.7 KB)

Study the .gh file carefully.

  • There is a group to move and rotate the basic sections you made. You could expand this with movement per curve, Y direction. Same for rotation.
  • Be precise!! Check when you copy paste components + settings. Now you did several things twice what gives errors (doubles). In grasshopper: “Almost right = WRONG”

NB: FInal: The forum is for giving tips/suggestions to open up new possibilities, so you can study + proceed. Not for “error-checking”. :slight_smile:
Internalize 2EW.gh (24.9 KB)


1 Like

thanks a lot eef :smiley: , im still somewhat newbie to grasshopper hence the asking a lot of questions, thanks again!

You will learn fast.

No need to be rude, I know you can explain the way with a simple example not related to this plug-in :wink: