# OffsetSrf Tapered / ExtrudeCrv/Srf direction: surface normals

**URL:** <https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560>\
**Category:** Rhino for Windows\
**Created:** [October 20, 2014, 1:32am UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560 "2014-10-20T01:32:47Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![heinzler](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/heinzler/32/727653_2.png) [@heinzler](https://discourse.mcneel.com/u/heinzler)\
**Post date:** [October 20, 2014, 1:32am UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/1 "2014-10-20T01:32:48Z")

</div>

OffsetSrf defaults its direction as the normals of the surface being offset, but has no option to taper.

ExtrudeCrv/Srf Tapered obviously has the option to taper, but the direction parameter does not allow surface normals as input. This would be useful when a curve has been pulled/projected to a surface and needs to be extruded in relation to that surface.

I appreciate any suggestions.

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [October 20, 2014, 3:43pm UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/2 "2014-10-20T15:43:23Z")

</div>

So, what you are asking for, if I understand, is Extrude normal to surface (Fin command) with some taper angle form the normal, is that correct? Or is just the Fin commmand what you need?

-Pascal

---

<div class="post-metadata">

**Author:** ![heinzler](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/heinzler/32/727653_2.png) [@heinzler](https://discourse.mcneel.com/u/heinzler)\
**Post date:** [October 21, 2014, 2:57am UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/3 "2014-10-21T02:57:22Z")

</div>

Thanks for the reply. I had forgotten about Fin! Yes that’s what I mean, just with a tapered option. I feel that adding a draft/taper to any OffsetSrf/Extrude/Fin should be common, instead of requiring an entirely new command.

It also would be nice if Fin allowed you to select multiple surfaces (within a polysurface), but I know that’s wishful.

---

<div class="post-metadata">

**Author:** ![PedroNeves](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pedroneves/32/669149_2.png) [@PedroNeves](https://discourse.mcneel.com/u/PedroNeves)\
**Post date:** [October 21, 2014, 1:42pm UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/4 "2014-10-21T13:42:21Z")

</div>

Hello, i already ask this some years ago , the Fin comand but with a option to give an angle. I dont know  
if is a underused tool, but for me will be a great tool.

By the way, **heinzler** in what type of work do you need that tool.

-Pedro Neves

---

<div class="post-metadata">

**Author:** ![heinzler](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/heinzler/32/727653_2.png) [@heinzler](https://discourse.mcneel.com/u/heinzler)\
**Post date:** [October 21, 2014, 9:38pm UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/5 "2014-10-21T21:38:41Z")

</div>

Oh I apologize if this is a repeat topic. But I agree, a draft/taper option would be helpful. I’m doing architectural/environmental design structures and furniture. For this particular project, I’ve pulled curves to a surface and want to extrude them normal to that surface with a draft angle.

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [October 21, 2014, 9:48pm UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/6 "2014-10-21T21:48:04Z")

</div>

> [@heinzler](#):
>
> Oh I apologize if this is a repeat topic

Repeats are A-OK, we like to know when it comes up again…

-Pascal

---

<div class="post-metadata">

**Author:** ![eivl](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/eivl/32/110644_2.png) [@eivl](https://discourse.mcneel.com/u/eivl)\
**Post date:** [October 22, 2014, 5:48am UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/7 "2014-10-22T05:48:47Z")

</div>

I might be limited in my english comprehension, but what do you mean when you say you want to extrude them normal and with a draft angle? (it is this draft angle i am having problems understanding)

-Eivind

---

<div class="post-metadata">

**Author:** ![heinzler](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/heinzler/32/727653_2.png) [@heinzler](https://discourse.mcneel.com/u/heinzler)\
**Post date:** [October 22, 2014, 6:48am UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/8 "2014-10-22T06:48:55Z")

</div>

No worries, draft is another word for taper. A narrowing (or widening in reverse) of an extrusion.

[![](https://www.sharcnet.ca/Software/Gambit/html/modeling_guide/mgimage/fig_g_volm_sweep_draft_angle.gif) ](https://www.sharcnet.ca/Software/Gambit/html/modeling_guide/mgimage/fig_g_volm_sweep_draft_angle.gif)

---

<div class="post-metadata">

**Author:** ![eivl](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/eivl/32/110644_2.png) [@eivl](https://discourse.mcneel.com/u/eivl)\
**Post date:** [October 22, 2014, 8:47am UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/9 "2014-10-22T08:47:58Z")

</div>

Thanks, that did clarify it quite well.

But this should be able to do with scripting, what are your wishes? select multiple surfaces within a polysurface and then extrude and taper?

i can do my best to help you if needed, and if i am not able i will just ask in the scripting sub forum, those guys know everything and then some 😉

-Eivind

---

<div class="post-metadata">

**Author:** ![jim](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/jim/32/570126_2.png) [@jim](https://discourse.mcneel.com/u/jim)\
**Post date:** [October 22, 2014, 11:18am UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/10 "2014-10-22T11:18:01Z")

</div>

The Extrude Taper command only works well for planar lines and arcs.  
Every other input produces lousy results. In particular inputs that are not planar produce exceptionally lousy results. So I wouldn’t hold out much hope for a command that does what you want and produces good results in one step.

The best way to create an tapered extrusion normal to the surface would be to use the Flow Along Surface command. First flow your curve from the 3d surface to a planar surface of similar size. Then extrude the planar curve. Then rebuild or loft or refit the lousy tapered extrusion to get a good quality surface (or polysurface). Then flow the result back to the original.

Post a small example of what you are trying to do if you need more help.

---

<div class="post-metadata">

**Author:** ![PedroNeves](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pedroneves/32/669149_2.png) [@PedroNeves](https://discourse.mcneel.com/u/PedroNeves)\
**Post date:** [October 22, 2014, 10:06pm UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/11 "2014-10-22T22:06:33Z")

</div>

[FinAngle.rvb](https://sea3.discourse-cdn.com/mcneel/uploads/default/12930/e3faa4006aad49ec.rvb) (3.2 KB)

Hello, some years ago i asked Pascal if he can help me with the FinAngle question and he made me a RhinoScript command, the script works in a single surface (no problem for me) , with a single curve (no problem for me) , but only works with curve without Kinks (very big problem to me) .

If someone wants to try the command, its uploaded , by the way i work in the Footwear industry (shoe sole).

-Pedro Neves

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [October 22, 2014, 10:43pm UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/12 "2014-10-22T22:43:25Z")

</div>

> [@PedroNeves](#):
>
> he made me a RhinoScript command

Completely forgot about that…

-Pascal

---

<div class="post-metadata">

**Author:** ![heinzler](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/heinzler/32/727653_2.png) [@heinzler](https://discourse.mcneel.com/u/heinzler)\
**Post date:** [October 23, 2014, 7:26am UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/13 "2014-10-23T07:26:23Z")

</div>

This feedback has been great. Thank you to everyone. Pascal’s FinAngle script works really well! Incompatibility with kinks is unfortunate but fine with me for now.

I may be taking the thread a different direction but I’ll elaborate more on what I’m trying to do. I’m taking form inspiration from this type of bicycle helmet and attempting to create exhibition structures from them (for a music festival). I created a shape with T-Splines, converted to NURBS, and pulled curves to the surface. From there I’ve been stuck on how to achieve these interesting extrusions normal to the surface. I want to keep the hard edges depicted in this sketch, (which is not mine btw) and ultimately make the structure asymmetrical. This FinAngle command gets me closer to the forms if I OffsetSrf and Trim, but I’m pretty sure this isn’t the ideal workflow. I’d really appreciate any thoughts or experience in modeling this kind of thing.  
 ![](https://sea3.discourse-cdn.com/mcneel/uploads/default/12939/5acc329897fe6813.png)

---

<div class="post-metadata">

**Author:** ![heinzler](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/heinzler/32/727653_2.png) [@heinzler](https://discourse.mcneel.com/u/heinzler)\
**Post date:** [October 25, 2014, 7:19am UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/14 "2014-10-25T07:19:18Z")

</div>

Answering my own question. This is a subtractive modeling process, involving a very articulated arrangement of booleans/cutters in order to maintain surface continuity. Rhino’s boolean commands can technically achieve this, but right now they are not optimized for it. The MeshFusion tools within MODO are much more adept at drawing onto the surface, performing a boolean, and keeping a history/tree in order to make adjustments in real time.

I’ve seen people bring this up in the Rhino 6 wishlist topic. Would be an outstanding toolset to see that may open up new territory for the program in all fields of design. Until then I’m either bearing with the repetition and comparative lack of control in Rhino, or taking my booleans to MODO, sacrificing the convenience of NURBS.

---

<div class="post-metadata">

**Author:** ![VasilisDecode](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/vasilisdecode/32/43753_2.png) [@VasilisDecode](https://discourse.mcneel.com/u/VasilisDecode)\
**Post date:** [November 10, 2016, 10:52am UTC](https://discourse.mcneel.com/t/offsetsrf-tapered-extrudecrv-srf-direction-surface-normals/12560/15 "2016-11-10T10:52:37Z")

</div>

Hello, Posting this here, since it’s kind of relevant. During one of our Rhino training sessions in DecodeFablab we had this task to offset srf tapered, so I made this macro for my students. It works on closed polysurfaces only I’m afraid, but hope it helps.

! \_ExtractSrf \_Pause \_Enter  
\_SetRedrawOff  
\_SelLast  
\_Invert  
\_Lock  
\_SelSrf  
\_SetRedrawOn  
\_OffsetSrf \_Solid=No \_Pause \_Enter  
\_SetRedrawOff  
\_SelPrev  
\_Delete  
\_SelSrf  
\_DupBorder  
\_SetRedrawOn  
\_OffsetCrvonSrf \_Pause \_SelSrf \_Pause \_Enter  
\_SetRedrawOff  
\_Delete  
\_SelCrv  
\_OffsetNormal \_SelSrf 0.01 \_Enter  
\_SelPrev  
\_Delete  
\_SelPolysrf  
\_DupBorder  
\_SelCrv  
-\_Loft \_Enter \_Enter  
\_SelAll  
\_CreateSolid  
\_Unlock  
\_SetRedrawOn
