Wish: "negative" trim

Hi all.

The math behind the Trim command is somehow able to distinguish “inside” from “outside” , “left” from “right” or “positive” from “negative”.
On a simple case like this:
during the first click the surface is already split into all possible fragments… the next clicks are needed only to know where to remove the fragments.
If we were able to invert that part, and click where to keep the fragment, we could do something like this: (imagine a ctrl key being hold-pressed during the click… or something)

This is a simple 2D case but the cases where this functionality would be awesome is during 3D cuts.

Very often, during 3D cuts with many surfaces/polysurfaces/curves, i have to click on all the fragments but one to achieve my shape…

Edit: as it would work in “negative” it should have some sort of visualization aid.
Trim: everything stays unless clicked
Negative trim: everything goes unless clicked
The first fragment clicked make all the others disappear(?), it should be possible to click other fragments after anyway.


Hello - a quick way out in many cases is to use Split. Ctrl-Click to deselect the larger object when the split is done and all the parts selected, and then hit Delete.


This is a logged request from way back… I added your comments to see if I can nudge it to the top of the dev pile-



You are right, maybe in some cases Split would be wiser… but there are some situation where you want to avoid it.
From left to right: start, target, result with split (3 fragment instead of a single surface)

With 3 “negative clicks” i could achieve my target shape without need of zooming into small and clustered parts…

Also, with Trim you can select a single set of objects (containing everything) and after choose what to keep/remove.
With Split you need to chose a “being cut” set and a “cutter” set… it’s not the same.

agreed… alias used to have this option to keep or delete when trimming, and I found it super useful.

I had a similar idea/wish, but to use volumes to “trim out” from non-volumes (kind of boolean split).
I don’t think it got any traction so I ended up writing a script for it, if you are interested, it’s here - I use this quite often in my work, for the same purposes you have mentioned.


When the trimming objects are only curves or surface edges, here is a script that not only has an option to choose whether to keep or delete the part of the surface that is picked, it optionally can automatically use all curves/edges that lie on the surface.

To use it, place all .py files in
into a Module Search Path for Rhino Python, e.g., %AppData%\McNeel\Rhinoceros\6.0\scripts
and run
through various means (https://developer.rhino3d.com/guides/rhinopython/python-running-scripts/ )

1 Like