As you can see i have this small lines show up because I am using a transported file from another program.

Right now i can identify them and delete one by one, or I have a GP line that helps me identify and eliminate this intersections.
It works amazing when the lines are small, but when I have a more complex line with for example 1000+ intersections it normally doesn’t work and i can’t find the problem… so i just have to delete them by hand wish is very time consuming…

So all of that to ask if anyone had this problem before and if for any reason you have a way to solve this issue?

Yes!
Here you have 2/3 curve examples.
The top two are the same but the orange one as the problem “solved” but she still has an error of some kind because she creates those weird transparent surfaces… Example of curve intersections.3dm (3.0 MB)

Hi Ema - try SimplifyCrv on one of the curves, then CurveBoolean and click outside, away from the curve to set the region - this will find the outer perimeter. This seems to work OK here - it takes a little while to process but I think it does what you need… any luck?

Just wanted to let this ones here too when the simplify doesn’t work what i do instead is (wish can sometimes change the curve a little) is the rebuild but with the same numbers…

And the CurveBoolean after the simplify sometimes work but other times it just stays there loading forever… But i can add it to my problem solvers list, sometimes it can work.

Join the curves via chain
_Join _Chain with ChainContinuity=Position, Direction=Forward (or Backward)
Pick a curve, then follow the selection, choosing target best path at each choice.

Find places where curve intersects itself.
_IntersectSelf
If found, _Trim and _Join to remove the intersections.

Hello again sorry for the long time, and thank you for taking the time to help me.

I followed this instructions but i don’t know if I’m doing the chain correctly because they don’t stay together as a closed curve, they stay as tiny open curves. And when i get to the 4. step the trim and join are very time consuming.

I tried to optimize this process (step 4) with Grasshopper but sometimes it only selects the small bits that intersect and not the full big curve. So i end up doing it all one by one again.

Could anyone help me figure out a grasshopper file to try and clean this? or is it even possible? I’m fairly new to grasshopper.

_IntersectSelf enumerates this in the Command panel and marks it with a curve - the help documentation for the command only mentions a point, which is a little confusing (fyi @Joshua_Kennedy, in R8.9).

But once it is cleaned up you can get a normal surface:

For your second shape, I shattered the curve (giving 1705 segments). I created a new layer for the next steps.
I selected all the segments and ran CurveBoolean, clicking outside the perimeter, here:

I added a couple of diagonals and used them to trim out the intersection before joining them to the remaining new curves to complete the figure (I have no way of knowing if that is an acceptable treatment, of course):

Thank you Jeremy, i see what you’re doing and i have used this method before.

The trimming manually is juts unsustainable in terms of work flow, this is one in like 100 lines and was one of the “easier” ones. And some weeks i get several drawings like this a week so this takes a long time out of my job.

I just wanted to try and make this easier and faster as possible and thank you very mush to everyone that is helping me!

Also this CurveBoolean already helps clean smaller curves with less big intersection problems so that already a big help, thank you!

So now back to the drawing can you please explain to me how you found the point that was missing ? Is it because you’re using rhino 8 and I’m using Rhino 7?

I knew there was a point somewhere from the command line output, so I split the curve in two and ran _IntersectSelf on each part, discarding the part with no self-intersections. Split the other again and repeated until I had a small enough section to really zoom into the corners enough to spot it.