Work In Progress (9.0.26125.12305, 2026-05-05)
Two overlapping degree 3 curves. The two curves exactly coincide in the overlap. (Both are trimmed versions of a single original curve.)
Overlap A DC01.3dm (41.9 KB)
Overlap only found on overlap in Right view. In that view the entire length of one curve is selected, both the overlapping and the non-overlapping portions.
In other views Overlap does not return anything.
Work In Progress (9.0.26125.12305, 2026-05-05)
Two overlapping straight lines. Overlap does not return anything in any view.
Overlap B DC01.3dm (41.0 KB)
Hi, @Charles & @davidcockey. Your files have no “whole overlap” or “segment overlap.” What you are attempting is a different category of “partial overlap” that the Overlap command is not designed to recognize. See attached explanation file.
2026-05-08_Overlap-explained.3dm (55.2 KB)
@stevefuchs Thanks for the explanation.
Based on the name I assumed “segment overlap” meant the overlap was confined to a segment of one or both curves, not that one curve had to be entirely within the other curve. What you classify as “partial overlap” I assumed was included in “segment overlap”. I strongly doubt the restrictive meaning of “segment overlap” currently used would be obvious to most users.
Is the reason that the tool is limited to “segment overlaps” and “whole overlaps” due to fundamentals of how the tool is expected to be used? Or is the reason due to limitations of the current algorithm?
@David There’s no current plan to have Overlap include partial segments.
Thanks for the response. The partial overlap is the situation I usually encounter, not the “segement overlap”. I expect the other users have the same experience.
The Overlap name is misleading. Without including “partial overlaps” it deviates from dictionary definitions of “overlap”:
If one thing overlaps another, or if you overlap them, a part of the first thing occupies the same area as a part of the other thing. https://www.collinsdictionary.com/us/dictionary/english/overlap
to cover something partly by going over its edge; to cover part of the same space Overlap Definition & Meaning | Britannica Dictionary
to extend over or past and cover a part of OVERLAP Definition & Meaning - Merriam-Webster
I understand what you are getting at. Whole overlap makes sense. Segment overlap makes sense. Partial overlap makes sense–it’s just not implemented. How would you expect a Partial option to work in Overlap?
Late to the party here, but yes, partial overlaps are also important. This is mimicing the Autocad command Overkill (as far as I know, I don’t have ACAD).
Here is an old script of mine to try - it’s far from high-performance, but it will give you the idea. There should be no overlaps left of any kind, but it also explodes everything and doesn’t always choose the best part to keep. It was designed for laser cutting to avoid repassing over already cut curves.
RhinoKill2DV6.py (3.6 KB)
As far as I know ACAD’s Overkill has a lot more control of the layer, color etc. of the objects that are kept/discarded. They’ve had more than a decade to develop it.
What You See Is What You Get.
I’m curious.
Are you going to implement it?
The request has been submitted. You can track the progress here:
RH-96393 Partial segment cleanup for Overlap
Thank you for your work on this @stevefuchs @Matthew_Sorensen @Vanessa
I have been looking forward to testing and have finally found the time.
Our range of Laser & Knife cutting machines are powered through Rhino & our ZebraCut plugin. We see hundreds of customers encountering exactly the challenges you designed this to meet with overlapping geometry causing double cutting which mars parts and causes real world costs. It is an insidious problem because it is so hidden - the geometry looks right.
We’ve put a lot of time into writing cleanup code for overlapped geometry like this.
It would be wonderful to have a robust universal tool for this built right into Rhino.
We’ve tried SelDup before but it fails to meet the bar.
I’ve run the Overlap command on our test bench for duplicate curves and it works well and succeeds in a good number of cases. The filters to choose what to compare are really useful (and would be useful on the join command too!).
However the lack partial overlap support is an absolute blocker for CNC use. Without it, the command is effectively unusable for the scenarios our customers face daily and for which the command was built to address. This is disappointing, as I had hoped this would be one of the standout features (alongside ELMO curve fitting) that would encourage upgrades to Rhino 9.
I’d love to collaborate with you to improve this. You can see the scale of the issue on our test bench for overlapped curves below which I happily share below. We have Rhinocommon code which can deal with all but a couple of these. @stevefuchs To answer your query on the semantics for deleting partial curves - what we’ve implemented is to choose the shorter of the two curves which partiallly overlap to be shortened or deleted - we have never found this approach to cause issues. Happy to talk it over via DM. I have (confidential) access to hundreds of real production files which demonstrate these problems.
OverlapTests.3dm (207.2 KB)