Extrude surface of a solid constrained to edges direction


It’s a simple task that I can’t find a straightforward way to do it, sorry if it’s a dumb question.

Is it possible to extrude a surface so it follows the direction of side edges, expanding/contracting that surface, not just following the surfaces normal direction or picked direction? Similar command exists for extending surface with chosen edge _ExtendSrf.

There are some workaround like moving each vertex one by one while constrained to edge direction, and than capping it, but that’s obsolete for a more complex body.

This is simplified body with only 2 trapezoid surfaces, I suppose a solution would work for more complex examples.

No there is no tool for that.

I can do this in two steps (but apologies if I interpreted the task incorrectly)

  1. Extrude Surface, use the “direction” option and select two points on the angled face.
  2. Select the edge on the far right (CTRL + SHIFT + Click), use the move command. The with the smart track checked you should be able to move it exactly where it needs to go.



Thanks for a solution, I just thought that there would maybe be a command for a simple problem as this e.g. in 3DS Max, constraining vertices to their respective edges, it’s possible to move them all at once “away”, and vertices would follow their paths.

This particular body is where I encountered the problem, do you have a suggestion on extruding this surface? Simplified version would be extending the bottom surface of a pyramid, or any other tapered object.

Thank you in advance.

This could be a nice features.
Maybe @BrianJ could help putting it into the List.

Could it be associated to the gumball extrusion if pressing on shift?


There has been talk of this possibility at least since Rhino 5, at Sketchup. Still it’s a mirage …

This is how I’d do this now. Explode > Delete the end face > PointsOn > MoveUVN > Join > Cap.

Is this what you’d want to do without having to remove the end face? I can imagine it might be possible in some conditions like this truncated form but if the adjacent edge tangents did not travel away from one another perhaps not. I could see it maybe being an option on MoveFace specifically for NURBS but my guess is that there would be plenty of conditions where it wouldn’t make sense.


They are trimmed surfaces after exploding, so local coordinates do not correspond with borders. I suppose _ExtrudeTaperedCrv is the way to go in the beginning in this case. I’m new to NURBS, still figuring them out :slight_smile:

Is there a way to align control points to Srf boundaries?

_MoveFace is great option for it, DirectionContraint just points them in the same direction, but ToBoundary could have that extra option

No there isn’t, you’d have to remake the surfaces. In cases like that I’ll delete the surface and then use the edges with EdgeSrf (or NetworkSrf, Sweep2) for a four sided opening. That will align the control points to the edges and make untrimmed srfs. Then the MoveUVN technique should work as I showed but you’re right ExtrudeCrvTapered could also be used instead.

An alternate option would be to use a Grasshopper file like this…

Extrude_Tapered.gh (12.2 KB)

If you aren’t familiar with Grasshopper in Rhino, run the Grasshopper command to launch the included plugin and then open this GH file. Right click the far left curve component to ‘set multiple curves’ from your file. There are two sliders, one for the distance and another for the scale to make the tapered sides. Right clicking the last far right component allows you to ‘bake’ out the result. I didn’t handle the straight cutout but that could be done as well I’m sure or manually with Wirecut after baking.