Grasshopper

algorithmic modeling for Rhino

Hi,

I usually have to work with clash detection and all the time it's a long trip.

For example now I'm importing a file that was exported from illustrator (image trace file) and it has a lot (almost everything double - see picture).

As they are not duplicate, I can't remove from Rhino.

What I did to solve in my own now was just to draw a line using two points on these crvs and then using remove duplicate lines (kangaroo) everything was solved.

But...

Is there any simple way to collect in one group of data all the crvs touching each others?

Thank you

Views: 1183

Replies to This Discussion

i think u can remove duplicate from rhino using script  (GHpython )

in script context you can select duplicates and delete 

thank you Mohamed for your reply. the issue is that they are not really duplicates, sometimes they are with small differences. So, it would be better to find a way to collect clash detection

i am not sure, but i think tolerance levels are adjustable 

otherwise try other methods like comparing similarities, such like similar zone area, number of segments and vertices (naked/inner), location and distance between centro-ids etc 

Zone area is not possible, because i could have other circle with the same area, but not touching each other. The sam for number of segments and vertices.

In case of intersection (so far for me is the most logical), I can choos between Mathematical and Physical. Mathematical does not work with curves (only curves), so I have to choose one of the physical option.

Crv/crv gives me just points (start, end and intersection points) and I'm not able to collect together common points (and so common crvs in the sam group)

Multiple crv gives me just intersection points (as above).

Collision Many/Many returns that some crvs are touching something, but they are not in the same group

Collision One/Many returns that all the crvs are touching something, because it considers also the crv with itself

I'm stack. How can I collect touching crvs in the same group?

GH sample in attachment.

Attachments:

i added a sixth curve intersected to first two

last list show the index of each other curve intersected to each index   

notice second one is not intersected to any 

u can preview indexes using text tag colored blue

something wrong at 3 and 4 suppose to be swapped 

does this work?

Attachments:

sorry, but I don't understand how you can collect now group of crvs touching each other, such as:
- 3 and 4

- 0, 5 and 1

- 2 (or even without 2, as 2 is not touching anything)

sorry for my limitation...

didnt got you? 

I worked on your definition and now I realized how to do what I asked in the previous message.

I have one more question and doubt. In case I have three curves (0,5 and 3), where 0 touches 5 and 3, and Crv 5 touches only Crv 0, how can I add all this crvs in the same list?
As you can see, group 0 includes crvs 0,3 and 5; group 3 includes crvs 0 and 3, etc.

I'd like to cull all duplicates and have only:

0 with crvs 0,3 and 5

1 with crvs 1 and 2

2 with crv 4

Please find attached your file revised.

Attachments:

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service