generative modeling for Rhino
I hope that the title says it all, but in case it doesn't I'm trying to take a 2D pattern of overlapping lines (like 5000+) and create closed polylines/curves for every space (cell) in between the overlapping curves. It seems like to me that there could possibly be a simple solution to this using a .NET custom button, or even within the grasshopper buttons, but I'm struggling to pin that down.
Thanks in advance!
Here's something I had done recently which is a native grasshopper way of doing it. There's a couple of options for dealing with overhanging intersecting curves or not so chose the type that best fits.
For your closed cells locate the module titled "Cross Match X and Y Pairs" and Join the Patch Curves output.
As you're dealing with so many curves I could probably sort a flat list of curves into two categories if you define a plane.
I understood it as a 2D Input.
here is my version:
this one I like more :-)
I tried it on a large number of curves and it's a bit slow. I see that this is just a surface split, which i'd be better off just doing with the 'split' command built into rhino. Of course I had thought of this way to perform this . . I just think there must be another way to do this that is simpler, faster, etc.
I'll keep trying and let you know if I come up with something!
Did you try the Curve Intersection and Curve Network fillet components in StructDrawRhino? I'll assist with applying if it helps.
Ok, I got StructDrawRhino installed. Figured it out. That's nice! Thanks! It's an efficiently built algorithm. I'd be interested to know how it works (the general algorithmic procedure) . . . maybe that can be discussed further in private.
It's not so secret, it just sorts the segments into a connected network, and then uses a right (or left) handed turning detection to traverse through and find "cells". It uses some data structures perhaps not so easy to define in native grasshopper, and it turns out there are lots of "cases" to handle of short segments with fillets etc so it was quite a few hours programming that went into it.
A definition Very clever!