Grasshopper

algorithmic modeling for Rhino

Processing clusters of intersecting curves together

I have a large number of closed curves on a plane, some of them intersect, sometimes even more than two intersect. I would like to process the intersecting curves together, but I may have several such clusters. How do I find these clusters, and process each of them? (assume there are many)

Here's an example of such clusters before and after the desired processing I intend to do (which btw is explained here)

Views: 2751

Replies to This Discussion

Region Union --> Fillet

Danny, thanks for the quick reply. I understand how to region union and then fillet. My question was how to automatically cluster intersecting curves in order to process them together.

For example, lets say I have a list of 60 curves, some of them intersect with each other, some of them don't. How do I find the intersecting ones and create lists of clustered curves. Then I could RUnion and Fillet them.

I don't understand. If they intersect, they get unioned if the don't, then not.

My definition above is a list of seven circles drawn in Rhino, referenced in GH in one Curve Param and then RUnion then Fillet. There's no need for any identification about which intersect or not before hand.

What about 2D metaballs?

Hi Danny, 

it's a great solution if all curves are on the same plane, however in my case the curves are spread on different planes.

When I try to Runion the whole list of curves, it creates one big shape, whereas I would like to Runion them on each plane separately.  

I tried using path mapper and dividing the list into groups, however on different planes I have a different amount of curves...

Is there a way to divide the list according to Z heights? 

here is an image of a subset of the curves I'm working on.

Many thanx :)

Hi T,

Here's a solution that will place all circles with the same Z value on the same branch. Beware of rounding errors, you might want to force the values to 3 decimal places with an Fx component with F= "Round(x,3)". Also Be warned that any branches with only one circle on don't make it into the output of the RUnion component. Not sure if this is a bug or normal behaviour, you will have to ask David.

Attachments:

Danny, I wasn't able to open the file, an error message popped up saying the read/write operation failed. 

"unable to read beyond the end of the stream"

Which version of GH are you using?

The important bit is highlighted in Purple

I'm using version 0.60059

what is the component connected to the R input of the Replace component? if I don't have it in the version i'm using, is it possible to replace it with another component?

I'm sorry you won't have it. Can you upgrade?

Does the GH 0.8 work with Rhino 5.0 ?

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service