algorithmic modeling for Rhino

It seems that the offset component sometimes produces unpredictable results, so I decided to create a workaround.
The definition is far from perfect (no kinks allowed yet, for example) but produces a fast and accurate result for many curves. In addition it will produce multiple resulting offset curves in cases like this:

You can't achieve this result with the standard offset component nor the offset command in Rhino.

Made with GH 0.7.0052

Views: 1734


Reply to This

Replies to This Discussion

beautiful! thank you so much for sharing!
very good
nice and effective. thank you for sharing.

Thanks for sharing.

Dude, your definition is really clever! The part where you check the intersection of every curve but not itself is really usefull. I figured it out to, but not as elegant and effective as this! Thanks for sharing and keep up the great work! Cheers!

awesome.. thanks!!

Is it possible to feed it a series instead of just a single number? (Not as it is right now I can tell) but how would that be possible? I need to 'fill' a shape with offsets like this is order to make a 'pocket' for a CAM definition..

I have modified this definition a bit.. It also supports multiple curves.


Hi. Morten. Your definition is really interesting. It has been a while that I am trying to achieve something similar. Could you please explain your definition a bit? Thanks in advance.

If you turn on preview for some of his intermediate components, you see wild curve overshoot overlaps that I guess are then manually split and junk is culled. Both Grasshopper and lesser so Rhino are terrible at offsets. They don't have good robust *algorithms* made to just work. Edge concavities for instance, such a simple thing, can blow up offset, returning fragments or the wrong object, like just the hole instead of deleting the resulting hole and giving the desired overall object offset. Here I've removed the negative number modifier to give an outside offset:



Search Grasshopper


  • Add Photos
  • View All

© 2016   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service