Untidy offset surface

I’m making a spaceframe by offsetting surfaces. However, the offsett surface turns out to be messy at the corners. How do I offset the exact surface?
untidy%20offset offset trouble.gh (87.0 KB)

try this:
offset trouble no mo.gh (90.4 KB)

1 Like

Aaah… that classic discomfort of breaking down a geometry into lines, then reconstructing it, just because somehow Rhino doesn’t accept geometry in its original form. :frowning_face::frowning_face:

1 Like

yes rhino has a ‘tolerance’ problem- can’t tolerate its own bs :laughing:


So this is a bug in Rhino as it won’t accept geometry in its original form?

Not at all, it is because the original surface does not have a good curvature for offsetting (even if it appears so by your eye) but extended on an offset it is obvious it is bad by the weird result. You can see this in the surface edit points normal directions (greville points) which I evaluated here with Pufferfish’s Surface Edit Points Component. Look how messy the normals are in that corner and how they would intersect. @corellaman fixed it by rebuilding the surfaces edge curves which essentially made a surface with a better curvature for offsetting.

offset normals.gh (10.4 KB)


Thanks Michael Now I am understanding better. I just made a side by side comparison file then checked using your component to understand what really goes wrong with normals.

In the newly made surface using shatter and edge surface components, things go fine till the offset is at 30. Anything beyond 30 messes the offset surface

offset normals_SIDE BY SIDE COMPARISON.gh (18.4 KB)

So what should be done so that the offsetting remains clean no matter what the distance?

  1. It isn’t possible, my requirement doesn’t allow it to happen mathematically, i.e. going above the limit of 30.
  2. It is possible but using some other component.

At some point on any surface when offsetting towards concave curvature there will be a self intersection caused by normals. It is just how geometry is and would happen in the real world as well.


Rhino accept any geometry… just you can’t do an inside offset of a concave curve/surface greater than the curvature radius. That’s a problem in any cad, even if you were working on paper and pencil.


…then you ‘bypass’ offseting unless you delve into some funky struggles - perhaps unnecessary if we go by Michael’s premise, which is real:

Speaking of @Michael_Pryor and in response to this:

then you could use his awesome plugin pufferfish, which he mentioned above, to find the very useful surface twinning components to fake your offseting:

check this:
offset normals_SIDE BY SIDE COMPARISON.gh (40.7 KB)


Thanks. Before you replied, that thought of curvy geometry getting messed up was running in my head, teasing me. I was drawing in the air with fingers, then eventaully got to paper, started dividing curved lines with black pen and dotted lines, only to understand how curved geometry offsetting is practically will behave eventually.

One thing I am not able to understand in the solution is the flip curve component, how to decide whether to use it or not and how to analyze in which direction all four curves need to be flipped here? There’s just one flip curve component with a guide curve parameter which is not specified.