Showcase Fridays
14th April 2025

Extend Surface

Surface intersections can be a pain to manage. Especially ones that were created manually, you get all these small gaps between the surfaces that need to be cleaned. Surfaces that meet each other perfectly are extremely important for analysis models but it's also just good practice overall.

An easy way to get surfaces to meet each other perfectly is just to split one by the other, but how can you do that when you have gaps between them ?

This is especially hard to handle when you have non flat surfaces. A simple but slightly annoying way to ensure that all the surfaces meet, is to extend them in their current direction and then trim the excess off by your target surface.

Let me show you what that looks like this spiral stair model.

To do this, we just need a little help from the Rhino API which actually let's you extend a surface in any direction (relative to the surface). You get to pick from North, South, East and West.

Don't worry, you'll get the actual component in the script itself

That means, to simply do this in Grasshopper, all we need is a component that takes in a direction and a distance.

Now that I have my extended surface, I can now trim these by that vertical one we saw before. Which gives me a model where all the surfaces are meeting each other.

Want to Try It?

You’ll find the script for this exact spiral stairs and a short write-up here:

Extend Surface
Scripository, a library of comprehensive resources on computational tools.

It's been a great little component to have around when I am working with surfaces. I hope it will help you out too.

Happy scripting,
Braden

P.S. If you want to request a workflow breakdown or a specific kind of script, reply to this email and let me know. I'm always collecting ideas for future ones.