Grasshopper

algorithmic modeling for Rhino

Closed Curves / Cells from arbitrary grid of Lines / Curves

Hi, 

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!

Devin

Views: 3601

Replies to This Discussion

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.

EDIT: The only constriction is you have to distinguish between uprights and crossing curves sets

Attachments:

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.

Hey,

I understood it as a 2D Input.

here is my version:

Best Regards

DeDackel

Attachments:

this one I like more :-)

Attachments:

Hey, Thanks!

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.

I see. Ok. Well it works beautifully. I'll keep you updated as I progress . . .

A definition Very clever!

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