Creating a convex profile of a surfboard fin with grasshopper

hello everyone i have create an outer curve of the shape of the fin , but i dont want a flat surface using boundary surface , i want to control the fin profile a bit , is it possible? ive been trying to do it with rail revolution but it didnt work!


fins.gh (21.2 KB)

1 Like

This uses a NACA cluster (white group) I wrote years ago, allowing you to choose between foil shapes common on sailboat rudders and daggerboards.

I tried several methods but the bottom of the foil gets weird, probably due to the initial shape.



fin_2025Jan27b.gh (26.6 KB)

1 Like

I realized that the last two NACA foil options (0012 and 0018) have square trailing edges rather than meeting at a point when mirrored, so Cap Holes fails because when the mirrored half is joined, the trailing edge is left open. Easily fixed by adding Connect Curves (yellow group) after Join with its ‘G’ input set to ‘Position’ (0), which closes the curve.


fin_2025Jan27bb.gh (39.3 KB)

There are many ways to improve this:

  • MD Sliders should be wired to a Merge component because their sequence matters!

  • The foil profile curve could be replaced with only a leading edge curve and the trailing edge could be defined by a Graph Mapper applied to the NACA section curves.

  • The leading edge should probably be guaranteed to be horizontal at the bottom instead of allowed to rise after descending.

  • etc.

Try using a loft instead of a boundary surface and create cross-section curves along the fin’s profile and loft them together to control the shape better.

Try it yourself, I already tried that. Loft doesn’t respect the profile curve, which is why I switched to Sweep 2.

1 Like

Especially in the “Right” view (bottom right below), it’s easy to see how the bottom of the foil gets wider, due to being longer there in the profile (“Front”) view. Scaling the NACA curve longer also makes it wider, as it should. So again, the solution is changing the profile view.

This is by no means a “final”, refined surfboard fin design. It just illustrates a different approach.

Instead of a profile curve like the original code, this uses a leading edge curve (drawn by hand, cyan group) and a Graph Mapper. It would be much better to create the curve parametrically but I don’t want to take the time; and it would only be a distraction from the point of this post.


fin_2025Jan29a.gh (40.6 KB)

Instead of dividing the leading edge curve, I could have contoured it at regular Z intervals.

With the cage?

1 Like

I don’t remember all the details now (though I still have the GH code) but in 2016, I did some NACA foil shapes to suggest a replacement rudder for an old schooner. Similar to version ‘Jan27bposted two days ago, it parametrically created a profile curve and placed NACA foil section curves (scaled to fit) at vertical intervals.

foil_rudder_2017Jan13j