Select self intersecting curves

Is there a command for that? If not, can there be? :smiley:

yaaaaaaaaaaagh how can I find the self intersecting curves? eyeballing manually but it’s going quite slowly

There is no selection command but you can sort of get there by selecting a bunch of curves and running this (unsupported) test command

_ testCrvSelfIntersection

Any self intersections it finds will be marked with a point. Presumably this could be scripted into making a selection tool.



What do you mean when you say unsupported? And thanks, as usual.

We let the developers’ test commands out once in a while when they look like they might help, but these are not documented, do not autocomplete, and you don’t get to complain when they do something stupid… i.e. use at your own risk.



It worked great, chief.

Thanks Pascal! Great Command! Is there any way to improve SelDup (Select Duplicates) to avoid most of the self intersecting curve errors?

1 Like

By this, do you mean, you are accidentally joining curves that are dupplicates or near duplicates and you end up with a curve folded back on itself?


Pascal, I was attempting to extrude a solid from planar curves, lines & arcs that I had joined and got the self intersecting curve warning. It turned out I had a few duplicate lines that caused the error. SelDup didn’t find the duplicates even though they were copies of the same line.

Is there any list of these ‘unsupported’ commands? _testCrvSelfIntersection just saved me a bunch of time with some dirty plan dwgs.


If you like scripting, you can do something like this (too):

Here is an older vb script from my library for selecting self intersecting curves and marking the intersection points. Be careful with file tolerance, it also finds parts of the same curve folded back on itself that are nearer than file tolerance but don’t necessarily cross…


SelSelfIntersectingCrvs.rvb (1.1 KB)

A very helpful command, hope this makes it into a final- thanks Pascal!

Hi. I can’t seem to access the script above. Can you please re-post. Is there now a command for selecting self intersecting curves in R6?


Hi - The current Rhino 7 WIP has the SelSelfIntersectingCrv command. In Rhino 6, you can use testCrvSelfIntersection to mark the location of self-intersection.


@stevebaer - here’s another case of older stuff not being accessible - guess not all was fixed.

@hayden - here is the most recent (python script) (1.4 KB)


@Helvetosaur @stevebaer FYI

Clicking on the most recent python link yields:
Correct file is downloaded:

I just renamed it and it works.

@sam I thought this was fixed.

Testing to see if this is an issue post deploy! (16 Bytes)

OK, looks like this is sorted going forward, but we need to clean up history, will assign correcting history to a team member.

Came through as here