Check pocket selection for tool clearance?

Hey I was just wondering if there was a good method anyone knows of to get the minimum distance between any curves in a selection? I tried CrvDeviation and it seemed to do the job for “doughnut”-like objects but would not select more than 2 objects. Just looking to make sure things like Logos have room for my tool before programming the CAM and I figured someone has probably dealt with something similar in the past. As always any help is much appreciated!

Hello - if you are looking at a pile of curves that form a closed area, then maybe select them all, CurveBoolean, click off to one side to get the outer envelope of curves, and then CrvDeviation that with surrounding curves… not sure I am picturing the scenario, quite, but maybe…
Otherwise a script - can you post an typical (but simple, if possible) example?


Thanks for the response, but I’m not sure that will work. I’ll try and illustrate my situation with a picture. Example included is just a ruler, occasionally we have issues with the 3’s 6’s and 9’s not routing completely and we would like to able to run a check to make sure that minimum deviation is above a number.

If I will need to write a script to do something like this I can see what I can come up with but it just seemed like an issue someone would have a solution for. In other CAD programs I’ve worked with a Tolerance Check is fairly simple, but I’m trying to keep everything inside Rhino for now. I appreciate you taking the time!

Can you post a file with a few numbers the size you want and the diameter of the tool?

justaruler.3dm (12.8 MB)

Diameter of the smallest tool is .128in.

Keep in mind the ruler is just a random example.

1 Like

See if this is getting something like the right answers - not very friendly yet but just to see if I am thinking about this right… (5.2 KB)

To use the Python script use RunPythonScript, or a macro:

_-RunPythonScript "Full path to py file inside double-quotes"


It’s slow but you could simulate the cnc milling with a loop. My definition requires Anemone. (1.9 MB)

This is great I really appreciate the time and effort put into this! I will have to study what you’ve done here, I would prefer to be able to select all objects at once, and I am noticing it counts collisions outside of the shape being routed as well, but this is a great example in the right direction. Thank you!

This looks like a great solution to my issue, I have yet to play with grasshopper at all but I will have to download it now to try this out. Thank you!