What is Grasshopper equivalent to Rhino OffsetSurface

Hi guys,

Thanks in advance. Please refer to the image.

I tried to offset multiple open breps (basically veronoid cells with each face hollowed) in grasshopper.
Rhino command “Offsetsrf” does the job perfectly (extruding the surface into direction of the normal at every point), as shown at right side of image, but I failed to find a grasshopper equivalent to it.

I tried following methods, each has its own problem.

Pufferfish OffsetSurface: it breaks the open brep into multiple planar trimmed surface and extrude them individually.

WeaverBird wbThicken: failed to do the trick too.

I will be appreciated if anyone could help.

GH Equivalent to Rhino OffsetSrf.3dm (1.6 MB)

It will be appreciated if anyone could help.

unfortunately there is not always a feature found in rhino accessible from gh. quite often these features are very complex algorithms, so its nearly impossible to rewrite them.
if you are familiar with winapi hacking you can at least fake a manual input.this is what I do in catia all the time in order to get access to uncallable features. Another option, bake and manually do it or simple do what the algorithm does for your specific geometry, extend and trim.

1 Like

If you know just a little bit of coding you can type this method and it will offset the brep


Pufferfish OffsetSurface: it breaks the open brep into multiple planar trimmed surface and extrude them individually.

Because it is for surfaces, not breps, as the name implies :smiley:

Rhinocommon for R6 added offset brep method however brep offsets in general usually have many problems. Better to think about the construction of the geometry as a solid at the start of the process, rather than rely on one algo to solve the thickness for you afterwards. Anyway here is the method.


didn‘t know this was added, yeah then call this one🙂

1 Like

Yea, I considered to add it to Pufferfish, but as you know this brep offset fails often or makes weird edges, not even Rhino’s fault so much, as you said it is a tough problem that rarely needs such a general solution. I didn’t want the emails complaining that it doesnt work from people not understanding why it doesn’t work :smiley:

this is why I stopped doing plugins. Email complains for free stuff :roll_eyes:


I sense irritation there. My sincere apologies. You can be assured that this is definitely not a complaint but a factual statement of confusion. And the free stuff is, on the contrary end, deeply appreciated here. After all, not all drivers are mechanics by training and sometimes they make stupid assumption about cars. Anyway thanks for both the reply and the lecture.:grinning:

Thank you. Understood. Appreciated.

No irritation :smiley: just telling you the issues with that method. You may not want to fully rely on it. There are many cases it won’t work.

1 Like

Thank you.

Err… and what if you don’t know the least bit of coding ?
I naïvely copy-pasted this in a C# component, and got some grumbling about a “;” missing somewhere.