Grasshopper

algorithmic modeling for Rhino

Hello!

I'm sure this issue has been discussed already, but i really cant find it on the forum... 

I have a collection of curves, made of triangles. Some of them are overlapping on each other.

I cannot use the trim with regions, as there are no separate curves, they are all on the same level.

As shown on my image, i would to join them.

Or eventually, to divide them into two or more lists, so i could active them separatly.

Thank you for your help!

Daniel

Views: 5384

Attachments:

Replies to This Discussion

did i miss something?

can you please maybe join your def?

crv->boundary surfaces>Solid Union>Brep Edges> Custom Preview

Well it does work by flattening the crv or the boundary.

But as i have thousands of curves, every change takes 5 minutes at least.. 

Is the another method, maybe without using boundary surface?

Did my attached code get lost?  Sorry.  Trying again...

"flattening the crv"?  I'd have to see your curves but maybe 'Join' curves to make boundaries instead of flattening a tree/list?

Attachments:

It seems this method wont work for me :(

I join my definition in case you may know what i did wrong.

Thank you very much

The definition

Attachments:

Sorry, I don't have 'LunchBox' installed.

here is one without lunchbox maybe if u have time to check

Attachments:

First thing when working with "vast numbers" as you were is to reduce the dimensions to minimize re-compute time while you evaluate the data trees.  And disable the bit that seems to cause trouble - the code you added from my earlier reply.

Took awhile but I located the 'Extent X' input for 'SqGrid' and reduced it from 18 to four, which gave an adequate result for testing.

I began tracking the contributors in the data stream to the large numbers and, in the process, noticed the source of double lines.  'SqGrid' output could be flattened for our purposes.

And the 'ArrPolar' output needed to be flattened for the intersections to work.  Even so, the earlier code seemed to freeze my machine with only 4,788 squares (note that number!).  I replaced it with 'RUnion (Region Union)' which seemed to give the same result much faster.

Then as I was about to post my results, I wanted to compare the number of squares before and after and noticed a very strange thing: my code was generating 4,788 squares when 'Extent X' was either 4 or 8...  Digging further, I could find no good reason for the 'Series' and 'List Item' components, other than creating duplicates squares - so I bypassed them, taking 'Rotate' output directly to 'Area' and 'Scale'.

The net result is that, for 'Extent X' = 8, 'ArrPolar' generates only 1,216 squares to intersect instead of 38,304 in your code!  Thirty-one times fewer!!  I'll let you run benchmarks for 'Extent X' = 18, if you want.  But keep the numbers small when shaking down the data tree.

P.S.  6,156 from 'ArrPolar' when 'Extent X' = 18 - 7.7 minutes on 'RUnion'.

Attachments:

wow!

Thank you for spending that much of energy on my things..

i got the lesson, ill be careful in numbers.. !

thanks for your help!

Hi Dan, in case you don't need the interior curves...  I'd suggest going for mesh based approach:

Hey

thank you for synthesizing those 3 ways

although mesh approach doesnt work perfectly, as it propagate the mesh and sometimes creates or delete curves. 

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