Radiused Fingerjoints

Cutting fingerjoints on boards flat on the machine

There are many examples of cutting fingerjoints with dogbones to allow for the radius on an endmill, which works, but results in visible voids in the project. An alternative technique is to cut the fingerjoints and then use a cove radius endmill to round off the fingers as necessary allowing for a joint which does not have visible voids. For discussion see: https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238

As shown there, one option is to add geometry to relieve the fingers using a V carving toolpath. This works, but results in visible voids since the straight line of the V angle doesn't match the arc of the radius left by the round endmill.

Interestingly, it is possible to take a file intended for lasercutting and simply add some geometry for the radiusing and then cut out the box (if one is willing to forgo an accurate 3D preview of the cut). Since this affords an expedient technique which allows approaching the project in a straight-forward fashion which can be built on to understand the concepts in question, this will be shown first.

Generate the Design

Start with a suitable generator ― we will use:

This project will be a 3" x 3" x 3" open box:

MakerCase: 3" x 3" x 3" Open Box

Download the box plans as an SVG:

MakerCase: 3" x 3" x 3" Open Box: SVG Plans

Import them into Carbide Create and arrange for cutting:

Carbide Create: 3" x 3" x 3" Open Box: SVG Plans: Imported and arranged

If the MakerCase tool allowed one to set the stock thickness (0.25") which will be used.

Making the Bottom

Reworking the files is a useful review of how the box is constructed. Starting with the bottom, draw a box the size of the base:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Bottom Outline

Inset by the thickness of the stock which will be used (plus desired glueline if need be):

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Bottom Inset

The design will not be precisely recreated, but the basic concept will be followed. The bottom is symmetrical which makes later design easier, and the fingerjoints are inset somewhat ― we will use half the stock thickness, so adjust the grid spacing accordingly and draw in a rectangle which represents this length centered at one edge of the box:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Initial Joinery

This needs to be divided into fifths (two fingers and three gaps):

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Finger Width

And then duplicated and dragged into registration with the desired positioning:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Finger Width

Then set the rectangles at the finger locations to be the height of the box and drag them into position:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Vertical Fingers

Since the box is square, the two fingers and the outer rectangle may be duplicated, rotated 90 degrees, and dragged into registration with the part:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Vertical Fingers

Select the narrow rectangles for the fingers and the inset of the bottom:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Fingers and Inset Base

And then Boolean union:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Finished Bottom

Making the Sides

For the sides we can recycle the remaining rectangles by setting them to the same thickness and aligning them with the base and recreating the inset and Boolean unioning the parts:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Bottom Fingers for Sides

Making the Front/Back

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Side after Boolean Union

(Alternately, the bottom could have been duplicated, rotated and aligned against the bottom and Boolean subtracted.)

Since the box is symmetrical on can re-use the previous set of rectangles and create a crossing set which may then be Boolean unioned:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Side before Boolean Union

At which point one simply has to fill in the top and clean up the bottom:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Side

Repeat a similar process for the front/back:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Side

Duplicate the geometry for the front/back and sides and arrange them with the bottom part in a single file as before.

Model the Endmill

Unfortunately, Carbide Create doesn't support cove radius endmill geometry, so it will be necessary to work out where to place lines so as to cut the desired radius ― draw up a profile of your endmill to work this out ― a cove radius should have a tip diameter, a diameter at the top which determines how widely it will cut, a total cutting height, and of course the radius itself.

The endmill used will be a 5/16" (8mm) diameter endmill with 1/8" cove radius with 1/16" tip to match a 1/4" diameter endmill:

Cove radius endmill: 1/8" radius
Diagram: Cove radius endmill: 1/8" radius

Then draw up the side view to help determine where the cut should be made and draw in the tooling showing where the cuts should (and should not) be made:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Side View of Bottom

If we modify a copy of the front/back part to show the radius which will be left when cutting it can be dragged into place to verify the fit:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Radius Preview

With the geometry verified it is now possible to draw in circles which will allow us to determine where the cove radius endmill will cut and connect their centerpoints with the lines along which the tool should move:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Toolpath Preview

Use that construct to place lines relative to each edge which needs to be radiused:

Carbide Create: Radiused Fingerjoints: 3" x 3" x 3": Radius Lines

At this point one could go to the Toolpath pane and set up all the cuts, but since a cove radius endmill cannot be previewed in Carbide Create we will instead model the endmill, and then the design in BlockSCAD/OpenSCAD.

Due to limitations of the Computational Solid Geometry (CSG) kernel used in OpenSCAD and similar modeling techniques used in other CAM tools it is not possible to directly model a cove radius endmill in 3D. A work-around for this limitation in OpenSCAD is to instead model a series of stacked truncated inverted cones which are hulled together for each layer:

OpenSCAD: Modeling Cove Radius Endmill

Model the Box

As before, start with the prototype box from:

Save it as a copy with a new name and set parameters as desired:

BlockSCAD: Box: 3" x 3" x 3"

Note however, that it can be a source of potential error to have the same value inputs when programming, so temporarily change the values for Height, Width, and Depth to 3, 4, and 5 respectively.

Work up modules and alter things as needed to add the joinery which matches what has already been drawn:

BlockSCAD: Box: 3" x 3" x 3": Fingerjoints

Available at:

Model the Joinery

Export the OpenSCAD code and then test it to determine what material intersects and needs to be removed:

OpenSCAD: Box: 3" x 3" x 3": Intersecting Areas

Modify the module for the fingerjoint cuts to round them off:

OpenSCAD: Box: 3" x 3" x 3": Radiused Fingerjoints

Repeating the intersection verifies that the rounding works:

OpenSCAD: Box: 3" x 3" x 3": Intersecting Thinness

But unfortunately also indicates that some material will be left for a fit which would require post-processing. The tip on the cove radius endmill selected above is too wide to clear this material without leaving a void larger than is desired or one which would be visible inside the box, so the solution is to draw in a suitable geometry to clear this material as a V carving.

Carbide Create: Box: 3" x 3" x 3": Geometry for V carving

With the rounding working the 3D model is verified:

OpenSCAD: Box: 3" x 3" x 3": Radius and V carving Relief cut

Including the intersection:

OpenSCAD: Box: 3" x 3" x 3": Radius and V carving Relief cut intersection

Which once verified, allows us to preview the box:

OpenSCAD: Box: 3" x 3" x 3": 3D Model

The OpenSCAD source is available at: https://github.com/WillAdams/Design_Into_3D/blob/master/box/fingerjoint/radius/Design%20into%203D_%20Box_%20fingerjoint_radius.scad

Unfortunately, that file is not directly useful for CAM work, since it is not possible to export an unclosed path as a DXF or SVG from OpenSCAD. There is code for directly exporting G-Code commented out of the above, but due to limitations of coordinates and arguments in OpenSCAD and possibly rounding issues as well as the specific steps required to get a suitable text file out of OpenSCAD the effort has been set aside for the time being.

Make the Box

With the concept proven out it is simply a matter of making the toolpaths to cut out the design. As noted above, while it is possible to create the toolpaths, it is not possible to directly preview the tool cutting shape with any readily available tool.

With the parts laid out, select the part outlines and offset them a suitable distance:

Carbide Create: Box: 3" x 3" x 3": Parts Outline

Select the outline and the parts and assign a pocket toolpath which will cut down to tab depth:

Carbide Create: Box: 3" x 3" x 3": Parts Toolpath

Select the lines for the relief cut, select a suitable tool and assign it a suitable tool cutting to a depth which will cut the relief (in this case 0.125") ― the actual tool used doesn't matter since it's not possible to get a correct preview, but matching the outer diameter if convenient will help in verifying the cut:

Carbide Create: Box: 3" x 3" x 3": Radius Toolpath

Then add the geometry for the internal (hidden) V carving relief:

Next add an outer profile toolpath to cut out the parts:

Carbide Create: Box: 3" x 3" x 3": Profile Toolpath

And preview insofar as is possible:

Carbide Create: Box: 3" x 3" x 3": Preview using square and V endmills

Lastly generate the G-Code, secure the stock, set zero relative to it, and cut the part out.

Carbide Create: Box: 3" x 3" x 3": Successful cut

The parts should then merely require separating and some basic cleanup with a sharp chisel and suitable files:

Carbide Create: Box: 3" x 3" x 3": Parts ready for assembly

Which then fit together:

Carbide Create: Box: 3" x 3" x 3": Box

A file for cutting this is available at: https://community.carbide3d.com/uploads/short-url/1d7MKvdtTSImzI3SLwP8Deiy2SW.c2d

A noted above, it should be possible to create a program which converts the G-Code into an OpenSCAD file which could then be used to preview the cut.