Cutting notches to fixed depths?

I’m thinking about how to cut notches out of different materials (eg plywood to fit together) to send to CNC or laser cutting.

Is there a way to cut notches by simply clicking at specified locations to a specified depth and have it automatically align to the edge tangent(s) and cut to the specified depth?


Hi @Andrew_Turner

Using Rhino Native tools, one thing that comes to my mind for such purposes is _PlaceHole

Have a look …

Rodolfo Santos

1 Like

Hello - is this for 2d curves or solids?


Interesting! Thank you!

Great question… both, but ideally, I’d like to be able to “assemble” pieces and then indicate cuts where the pieces meet to “notch” the materials in a certain way so that they fit together correctly. Booleans are great, but there is some extra geometry needed, I think.

i have an old @pascal script that might help you out.
Notcher.rvb (5.7 KB)

Hello- that notcher script is crude but may do well enough for the solids; for 2d, you can try these - (8.2 KB)
This one is not well tested, but seems to work OK here. Please shout if it is broken. I do not know if placing notches from the center of the cut is the right way, but I started with that, for now.
@turner410 I added dog-bone and t-bone notch styles to the CurveNotcher script. (8.8 KB) (12.0 KB)

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

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


1 Like

Hi Pascal-

Is is the notch width limited in some way? Was just experimenting with this again & found I can’t get the width to be a specific size; for example, below, I have width and depth to be 1mm, but the width is wider than that. Not sure if Clearance has something to do with it, but I can’t adjust Clearance:



Hi @pascal - any thoughts?

Just tried again (this time on a mac) and a 1/4" width setting creates a notch with a width of .45".

Hello - can you post a file or PM me?


Morning Pascal,
Here you go.

notch-dimensions.3dm (45.7 KB)

Looks like bad typing, to me. I’ll figure it out…


1 Like


I think I got it:

vW = Rhino.Geometry.Vector3d(tan) * (n_width/2)
replaces ((n_width/2) + n_gap)

1 Like

Ok… back again. Thought I’d push my luck.

Is there a way to get a drilled holes at user-defined sizes at the corners?

I am designing for a CNC router, and need to be able to fit pieces together at the notches… when it’s normally routed, the inside corners are rounded, so need to be drilled in order to fully fit the pieces together:


Hi Turner - this thing works on the curve, not the extruded object but might help -

Bones.rhp (35 KB)

it makes DogBones and TBones - you have to hand it a closed curve and tell it whether this curve is a hole in a larger sheet or an outer perimeter.

(looks like Tbone is broken at the moment… - @Turner , it’s not broken but for some reason TBone wants you to click on the base of each notch and DogBone does the all notches, somehow, magically - I’ll see if I can remember what I did there)


Thanks! I’ll try it out.

Thanks again - I think I can work with DogBone to model what I need.

Looks great Pascal but is it written for R7?

Hi Joseph - it should work in 6+, I think - it’s pretty old… do you find it does not?


Looks like the bones works in both R6 and R7 but not R5. Thanks Pascal