Flange/Extrusion with Draft Angle in Grasshopper

Rhino offers the functionality of extruding an edge, curve or profile along a vector with an additional draft angle or taper. Found this this pic in the forum :

Why isnt this available in Grasshopper?

This would be so handy. I use extrusions with draft angles daily. Workarounds are a hassle!

Please add this to the Grasshopper toolset! .

Additionally this tool might output “edges” as well to use with the new fillet edges tool!

Best regards,


it exists in Rhinocommon. https://developer.rhino3d.com/5/api/RhinoCommon/html/M_Rhino_Geometry_Brep_CreateFromTaperedExtrude.htm

Here I have put it in a c# script component for you.

ExtrudeTapered.gh (6.3 KB)


Hello Michael,

thank you for your reply!

I tried your plug in over the last couple of weeks. It does create flanges, but Im not quite happy with the quality. The plug-in sometimes “fails” when the angle gets too big, creating bad surfaces. Can this be improved?

Will we see something like this in a future release of Pufferfish?

Best regards

It is currently in Pufferfish (an improved version of that above script) however since that is a Rhinocommon method it would have to be improved by mcneel mostly. I added some additional conditions but I can’t exactly remember what at the moment.

Great, you are really fast! Thank you very much for your effort!

I’ll try that new version in Pufferfish. Maybe McNeel is interested in improving this.


just being curious, what is the problem? Flanging a surface is non-trivial on a freeform basis. Its one of the problems which gets constantly underestimated. The more a reference curve is curved, the harder it is to calculate the flange. Now, for example, if you are someone who focuses on aesthetical surfaces, it will be hard to hold the right angle with a surface of low cp count, but little deviation might be acceptable.
If you are technical based, you probably need exact results, with mechanism to prevent self intersections etc. So its quite subjective to say it returns bad surfaces and McNeel should improve this, unless you explain your complains :slight_smile:

1 Like

To illustrate what I mean, I’ve created a simple 3d curve which is a “likely-to-happen” “bordercase”. This surface shall be flanged in y-axis by 5.1 degrees, and will be tested for 5.0 degree flange angle.

You can see 3 flanges created by three different algorithms.
The first one is my own implementation which creates a loose flange.
My algorithm isn’t the best, but it gets close to 5.0 without increasing control points.
I would simply increase the initial angle to 5.2 or increase the order to get it above 5.0 here.

The second algorithm is the Rhinocommon functionality “Brep.CreateFromTaperedExtrude”. You see that it creates an result which is absolutely green but it increases controlpoints count up to 80. Basically it creates multiples surfaces merged together.


However you can use the “Refit” command to optimise the outcome, which then leads to an quite nice result:


The third algorithm was not created in Rhino. It keeps the surface and the controlpoint low and its distribution equalised so it creates a very good flange.
(The red lines can also be due to the analysis mesh, but it shows how difficult this operation is.)