Split curves at every intersection

Let’s say I have a bunch of curves drawn on the XY plane. There are both curves and polylines, and they overlap. Is there a way to split all the curves where they intersect? Each resulting segment should start at an intersection and terminate at the next immediate intersection.

I seem to remember someone having a script that did this but i can’t remember where it was. If the curves and poly lines are all on the same plane use the Intersect command to create a series of points where they overlap then use the Split command - selecting all the curves and poly lines then the points as the cutting objects.


You can select all of the curves, run _Intersect command - that should result in a bunch of point objects in the intersections. Then run _Split, select curves as source and previously created point objects as ‘splitting objects’.



If you need to include self intersections then Copy the the objects in place, Intersect as Jarek suggests with both the original and duplicated objects, SelDup and Delete to delete duplicate objects and intersection objects, Split with curves using the points.

Here’s one… Also works with surfaces and polysurfaces. --Mitch

SplitAllSelected.py (1.9 KB)


I thought it was you, Mitch but didn’t want to set you up :slight_smile: