Grasshopper

algorithmic modeling for Rhino

Is there a way to check whether an open brep is self intersecting?

Views: 793

Replies to This Discussion

Any idea? Anybody?

I do not know if this will work, but try it.

Attachments:

Hi Daniel,

Thanks for your solution but it seem to be not working with my flat breps.

I enclose 5 derived breps. The smallest one is self intersecting.

Attachments:

Since brep faces are trimmed, the isotrim not work well. Replace it with Scale with a factor of 0.999 and will work in your case just with the initial method. 

Hi Daniel,

I have been experimenting with your formula for a while. Actually I have to check 100-200 open flat breps at a time. Unfortunately this solution is quite unreliable.

For example I have 5 open breps and this formula says that all 5 is self intersecting despite if you check the visually, anyone can see that only 2 of 5 is self intersecting.

I tried to upload the files, but I cant do it, because I "500: Unexpected Error", and my message appears without the attached files. 

Is there any formula available which is an exact solution? At least for my flat breps. I have searched on the net for self intersection surfaces problem, but I have found only very very long and complicated mathematical formulas which I could not translate to grasshopper.... 

i think i solved it 

please try this one and let me know if it works 

it depend on simple algorithm i shared two days ago

now it check first whether a face is colliding with other faces

then it tells which faces are colliding stating their indexes after culling self 

finally, then if a face is colliding with more than 2 faces (typical number of colliding edges for your shape)

then the open brep holistically is colliding with itself

Attachments:

only smallest intersecting/tried 

option two, if u build faces chronically, u can check if intersecting faces indexes are predecessor or successor to face index, otherwise it will be just intersected face. 

Hi Mohamed,

Thank you very much! It seems to be reliable!

Cheers!

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service