---
description: Miter joints with hidden joinery cut flat on the machine
---

# Quarter Blind Miter Box Joints

The ideal joint would be void free and not show any endgrain, while being self-aligning and offering sufficient long-grain glue surface for strength — the classic example of this is the blind miter dovetail which is pretty much the exclusive domain of hand tool woodworking.

A similar design would be the blind miter box (or finger) joint which has seen a number of implementations:

* [https://joinerynotebook.blogspot.com/2016/03/blind-mitered-finger-joint-boxes.html](https://joinerynotebook.blogspot.com/2016/03/blind-mitered-finger-joint-boxes.html)
* [https://www.finewoodworking.com/2012/05/05/cutting-and-fitting-a-blind-finger-joint](https://www.finewoodworking.com/2012/05/05/cutting-and-fitting-a-blind-finger-joint)
* [https://community.carbide3d.com/t/full-blind-finger-joints/947](https://community.carbide3d.com/t/full-blind-finger-joints/947)
* [https://community.carbide3d.com/t/overengineered-box-for-the-endmills-i-dont-have-yet/429](https://community.carbide3d.com/t/overengineered-box-for-the-endmills-i-dont-have-yet/429)

As the latter two links make clear, there are two possible approaches:&#x20;

* Use the radius of the endmill to define the fingers so as to minimize voids, and end-grain–end-grain connections
* Overcut with dogbones which makes the layout simpler, and has the benefit of increasing long-grain--long-grain glue surface

The former can become quite complex and requires over-cutting where the fingers and miter angle intersect which creates voids, while the latter has voids designed in, but which has the noted advantages of increasing long-grain glue surface, and greatly simplifying the geometry, reducing the number of tools needed. With a rabbeted lid and bottom, it is still possible to have a fully mitered appearance, preserving the visible diagonal if one simply shortens where the box joints are cut, and adds in the successive V endmill cutting necessary to cut visible miter. Note that this may create a fragile cross-grain element which will require care in cutting, and post-processing.

The joint in question is simple enough that it raises the idea: Why not keep track of the iterations of tools and depth of cuts and pass those into the tool files so as to allow automation of making multiple layouts in a DXF or SVG, each of which is for a different tool/depth combination.

This is discussed at: [https://community.carbide3d.com/t/a-different-sort-of-box/36882](https://community.carbide3d.com/t/a-different-sort-of-box/36882)

This allows one to cut out a box in as few operations as stock size and working area permit.

* bottom (cut to size, possibly rabbet)
* top (cut to size, possibly rabbet, possibly add features, e.g., a thumb indent for a sliding lid)
* front and/or back and one or both sides (repeat once for 2 operations if need be) — this will cut the joinery blind box joints and miter as well as rabbets for lid, bottom, and if applicable, a relief cut to ease sawing the lid off, or a cut out of the front to allow for a sliding lid

using only two, or possibly three tools:

* a square endmill
* a narrow V endmill (must be narrower in diameter than half the stock thickness)
* (optional) a smaller endmill which allows cutting dogbones for the box joints which are so small as to hopefully escape notice

The joint is made up of two sections:&#x20;

* a 45 degree V miter which is easily cut using a 90 degree V endmill with the stock flat on the machine
* a series of interlocking pockets which make up the box joints

Drawing things in profile with the V endmill makes the starting point of the joint geometry quite obvious:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FMukNVSDQ59TvIbp2hjU2%2Fimage.png?alt=media\&token=2ca812e2-2bbb-4c92-b2e5-83a93c2a57ef)

and adding squares to stand in for the pockets and islands which make up the joints affords the balance of the joint:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FEdH3vnpIF6x4W9O8k8jQ%2Fimage.png?alt=media\&token=c8d9e7e1-dabf-41db-960e-37d3d22a5091)

Given the side profile of the joint, it is simple to then draw the geometry for the joint as it will be seen from overhead as it will be cut.&#x20;

Draw in lines which will define where the V tooling will cut the miter:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2Fg1o0HpEyBWELK9emrfuF%2Fimage.png?alt=media\&token=7812a67a-92e1-4f0d-b974-8961d2956432)

A no-offset Contour toolpath may then be assigned:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FZoz1Y2iPcrddX9U6uRcP%2Fimage.png?alt=media\&token=e19b0282-78f3-451d-8543-425adf67336a)

This may then be verified by checking the 3D preview:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2F82FlTiuYNjTr7KK59RPG%2Fimage.png?alt=media\&token=ec6648ac-72cc-41fb-9af7-e9b66dedcb97)

The joinery must be positioned relative to the bottom and/or lid which will require rabbets. Draw these in and then measure the remaining space:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FH4o4NwdEAZaL4ZX46IFV%2Fimage.png?alt=media\&token=7138117d-7e87-436a-932f-df1b9123db00)

Determine how many joint positions there will be and then do the math to determine how tall each pocket or island will be and draw one in. For most efficient cutting the height should be a bit less than twice the height of the endmill which will be used.

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FPWyVlxW0JrCIzNLZer5T%2Fimage.png?alt=media\&token=f9a004f3-f3ae-4524-8dde-03dae1aaf566)

add dogbones which are as small as is possible --- if necessary, use a second endmill to cut the dogbones:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2F3n9eJ67nmloZhwFLZlvE%2Fimage.png?alt=media\&token=82f574dc-f5be-419c-943d-444dd9f39f47)

Then use the Linear Array tool to duplicate as necessary:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FduCnhF3UQbue9WvOU8us%2Fimage.png?alt=media\&token=ea4d7f3b-bbf8-4316-b531-8c4741dc1a91)

and adjust the settings to get two alternating columns:

* Number of rows --- this should be half as many as the total, rounded up
* Number of colums --- 2
* X spacing --- width of the part less the width of the stock
* Y spacing --- twice the height of the box joint
* Row offset --- 0
* Column offset --- height of the box joint

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FuXsusBdB4xID5pQ6k9PY%2Fimage.png?alt=media\&token=47bd7f52-6113-484f-a3ef-adc5f5ba7d99)

Repeat for the others:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FBtIWcYeIDKPlDIIiRZom%2Fimage.png?alt=media\&token=3f6a9a12-fdbc-4e9e-880f-d59d6ccbac8a)

Extend the geometry which is at the top:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FNyGI36ut07DBSJOBnHrv%2Fimage.png?alt=media\&token=9e23a295-de9e-42c9-ac46-76d6966bef9c)

Then draw in geometry which represents where the V endmills will be cut and duplicate the rabbet(s):

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FrWrUkHj68WBrBaclPw7h%2Fimage.png?alt=media\&token=efb6cab1-57da-4a21-b989-2669d6e72f1f)

And union things&#x20;

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FU2dK0FxFxeQ5KMaPGh5x%2Fimage.png?alt=media\&token=f68fbec4-89ea-4997-a298-4bed8ea0f3b4)

Duplicate this geometry, drag it into alignment w/ the original, and union it w/ the geometry for the rabbet:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FpbS8abFnyGs5DOYYWwsb%2Fimage.png?alt=media\&token=f022c874-b7cb-4721-9f04-b54cc429a559)

Create a toolpath which cuts to the rabbet depth:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FBMVvX1hxXj0oevtFTxmh%2Fimage.png?alt=media\&token=1bc23448-6d63-4981-bfc0-99799f5877ac)

Then select the geometry which does not include the rabbet and create a toolpath which starts at the bottom of the pocket, then cut the depth which the shoulder of the V endmill cuts:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FwFgLrsTplid42wYkvcoT%2Fimage.png?alt=media\&token=b083b942-c2a5-43a7-90b9-81fdc34608a4)

Which previews as:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2Ff9vpf72Ufxuo786eRGzD%2Fimage.png?alt=media\&token=c1c979af-91f2-44ea-903d-bfe7644bb971)

(The V endmill toolpath should be moved to the bottom of the list)

If the endmill used for the main pocketing won't cut the dogbones, add an inside profile using a sufficiently smaller tool to cut them as well:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2F4kdBpesMmInIGBZ87UhX%2Fimage.png?alt=media\&token=ef009d15-60f8-4292-aebb-83ec2b0504d4)

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2F02ps0Of3FlZBCc9YX75E%2Fimage.png?alt=media\&token=088ae941-3c3e-4fdc-add1-96c6cb7917dd)

This same technique can be done in a 3D model:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FQQnXQJkbdfaLBH1f8g3p%2Fimage.png?alt=media\&token=5fd01000-b9ea-4dab-ad41-0a34f60854fa)

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FEy6vHSTx3VcpHhxPLOUS%2Fimage.png?alt=media\&token=34c5175e-14eb-4eb4-878c-37b7508a0aee)

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FV23TIlzl7EfgAapstZgE%2Fimage.png?alt=media\&token=c529004f-934c-488f-8435-c2796227344a)

Adding an option for laying out things so as to generate a DXF results in:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FLOmvNDkyyl6EEAkZZ0qU%2Fimage.png?alt=media\&token=399cde1f-f0d1-4e61-9cd6-bde5fd49b5dd)

which is available at:

[https://www.blockscad3d.com/community/projects/1356379](https://www.blockscad3d.com/community/projects/1356379)

which may be easily exported to OpenSCAD:

[https://github.com/WillAdams/Design\_Into\_3D/blob/master/blindmiter\_boxjoint/Design%20into%203D\_%20Box%20with%20Lid.scad](https://github.com/WillAdams/Design_Into_3D/blob/master/blindmiter_boxjoint/Design%20into%203D_%20Box%20with%20Lid.scad)

which is set up for a Customizer:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2F68Lv93Aabw8QZvGSs9FZ%2Fimage.png?alt=media\&token=00cbf776-b76b-4e06-bb99-86bebff8e463)

where the projection() command can be added so that it may be exported as a DXF and imported into Carbide Create:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2F3krHhakLTM0ShSBmMQig%2Fimage.png?alt=media\&token=f4798bed-af94-4f31-8137-4bc8c8321fc1)

which may then be exported as a DXF or SVG and imported into Carbide Create:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FMl32GhSrb0bTDiVweosQ%2Fimage.png?alt=media\&token=3e8a0ac5-c4b0-4034-83b8-d65aa00fee01)

Once it is imported, the elements must be dragged into alignment, then it is simply a matter of working up the depth which is being cut to, and applying suitable toolpaths.

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FdGqzgoMAp7m8zPPnvEo3%2Fimage.png?alt=media\&token=06bc3ca1-37b1-4341-bc4b-ec996d25a870)

Things will be easier to work with if each type of cut is on a separate layer:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2Fc5zChKH0d7gTvNRKW8Yy%2Fimage.png?alt=media\&token=c2d87617-82d7-49c2-a1ad-1e844bb6c313)

Then select all the part outlines and offset them to the outside by a bit more than the radius of the endmill which will be used to cut them out:

&#x20;

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FKnK4JihaZ7yKVtMXWubQ%2Fimage.png?alt=media\&token=b9fda18c-677c-4c61-a27e-582954f913b1)

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2Fz6YToUlpKU2Jg1anSd5n%2Fimage.png?alt=media\&token=6c6881aa-3a4b-48d4-9e9f-52415e515e42)

For each V carving channel, draw a polyline the length of the straight portion (it will snap to the nodes):

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FYszZRbG7IlXAYrLuc2pn%2Fimage.png?alt=media\&token=c7de21f5-0eb5-4a9d-b323-af4fbf5b4c8d)

and then align it to the center of the channel:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2F6eTaQN78QGPbwKDQ3P84%2Fimage.png?alt=media\&token=e477c36f-3198-41cf-820a-9cc7ed3c15fd)

and assign a no offset Contour Toolpath to the Stock Depth:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FeOuHlej8UBjMmBTlFdB7%2Fimage.png?alt=media\&token=124b4e28-e213-4f0d-a64a-9ab2783edac6)

Then make all other layers visible and merge together all the parts so as to make cuts to the rabbet depth, and then the depth of the joinery.&#x20;

Once toolpaths are assigned, the file may be duplicated if need be and things arranged so as to efficiently be cut out of the stock. A set of files to make a small box are at:

[https://cutrocket.com/p/622970cdb482a/](https://cutrocket.com/p/622970cdb482a/)

When cut:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FQHjU9clWz25F0pBW6Oha%2FWIN_20220309_21_13_49_Pro.jpg?alt=media\&token=0ad93b35-135d-4c77-ae54-7f7a0a8ef754)

the parts may then be assembled:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2Fd7Y2Zmc5jbO8hYVv9wvM%2FWIN_20220309_21_16_14_Pro.jpg?alt=media\&token=1c75fb54-69fb-4f9f-a640-86a44432d737)

making a finished box:

![](https://235206304-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2NwCQrLAFxezOUTC9_%2Fuploads%2FtIlEuAk2rnvIfCpf5iNa%2FWIN_20220309_21_15_28_Pro.jpg?alt=media\&token=4ada444e-05c7-4610-afef-674d0d3b950e)
