How can I 'flatten' a curved surfaced to the average normal?!

Hi guys, I’m trying to make extrude lettering where the extrusion follows the average of the whole face.
As a 3d max user I could either planar the letter or just extrude by group like so:

Can I achieve either of these within rhino?
All the extrusion features I can find follow the projection entire face and unroll surface command flattens to the world… I need to retain the average normal so the side faces do not taper in or out.
This is driving me crazy as it should be such a simple process for such a powerful suite as rhino… im sure i’m just overlooking something but cant see anything!
please help!

Thanks, Howard!

This is slightly different, but may actually work better for you. The result will be a thickened letter that is uniform thickness & it goes outwards equally in the surface normal, not just extruded in one single direction. Follow these steps:

  1. Project your letter outline curve onto the curved surface, which can be temporary.
  2. Split out the area inside the letter, so it is now separated.
  3. Select the split-out letter and use Surface → Offset, and select a distance.
  4. During the command, make sure you select the SOLID option.


And to flatten surface on average normal: select Align to Object from gumball menu, click on the scale handle, and enter 0.

The other way to extrude average normal would be to align CPlane to object, and extrude straight.

Hi Howard - when extruding, you get to set the direction if you use the Direction command line option - if I understand you, you’d like the direction to automatically average the normal across the surface being extruded and use that direction, is that correct? There is no built in feature for this, though I suppose it would be easy enough to make a script that averages the normals from some number of sample points on the surface and feeds that vector to the ExtrudeSrf command.

Dunno if I am solving the right problem, but in case I got it, here is a Rhino script that will, if I’ve done it right, extrude a surface along an average of the normals at 100 sample points…

To use the script, extract and save the .rvb file from the attached zip archive, then drag and drop the saved rvb over an open Rhino V4 or v5 window. This will load the script, set it up to load on startup in the future and register the alias


that will run the script much like a regular command. An alias can be typed or added to a toolbar button or keyboard shortcut (F-key). (908 Bytes)



Pic attached.

1 Like

wonderful stuff… Pascal, thank you very much for investing some time into helping me. I will try this when I get home!

Thank you also schultzeworks but the taper you see on the last image is what we’ve tried to build and it causes too many issues…

To elaborate on why i need the ‘returns’ to be parallel; I work for a sign company we’re trying to figure out the most effective software for cutting complex lettering shapes in stainless steel. If the Returns taper in (like normal like extrusions) the metal tries to flex back and causes the face to distort/Flex.

Rhino has proven to be the best for unrolling complex surfaces we can cut but the curved letters are something we really need to crack to really invest in the software, which I hope we do as its a great tool.

If i can get the face flat to the average; without messing up the artwork, I could then extrude both ways and boolean the face and back to get the appearance of a true curved letter.

AMAZING WORK PASCAL! Exactly what i was looking for! Will be a week or so but hopefully we’ll see if parallel returns solve out flexing issue :smiley: Thank you very much!

OK! Good deal- thanks for letting me know.