First the disclaimer and some background: I do not (yet) own a Shapeoko. I do have a project. I want to replicate a cardboard bombed-out building I built for our mini-wargaming table. I saw a review of the Shapeoko and knew I could do this. I loaded Carbide Create and played with the simulator. Eventually, I loaded Inkscape and FreeCAD, and am now the proud parent of a 3D modeled bombed-out building comprising 12 pieces interlocked with tabs and slots. All in software.

So, theory meets practice, and now I need to add dogbones to the inside corners of my tabs and slots if the pieces are actually going to fit properly. I've come up with a 'work-around' and hope to get feedback on the idea and would like to find out how others add dogbones (or design them in).

My idea is to add a dogbone 'layer' to each of the wall and ceiling piece 2D drawings. The dogbone drilling would be a separate toolpath operation from the milling of each piece. If necessary, I'm sure I could merge the dogbone and milling toolpaths with a G-Code editor. Assuming I can create and use a separate dogbone toolpath, the next question is how big a hole and where to place them relative to the inside corner I need to make. In my case, the North Wall Outline is the background used to place the dogbone holes. The material is assumed to be 1/8" thick plastic, so the tabs must be 1/8" tall. The grid shown on the Dogbone Geometry image is 1/16". A 1/8" tool was chosen purely to emphasize the technique.

The Dogbone Geometry image shows what we are trying to accomplish: The purple is edges of the corner we want to create. The upper-left circle is the position of the 1/8" tool at the corner, with the purple edges tangent to the circle. The grey area between this circle and the corner vertex is the material we need to remove with the Dogbone operation. The middle circle (please ignore the smaller circle for the moment) is the result of the Dogbone operation with the tool positioned so that it will just bore out the material at the vertex. The drawback is the extra material that is removed to reach the vertex. So how do we determine the coordinates for the position of the center of the tool to remove the vertex material, as the center is obviously not on the snap grid? This comes from the geometry of the situation and the Pythagorean Theorem:

When the tool is in the correct position, the center of the tool will be D inches in the x and y directions from the vertex (whose position we do know). This forms a 45 degree triangle with sides of length D and a hypotenuse of length R, the tool radius (which we also know). R**2 = D**2 + D**2, R**2 = 2 * D**2, (R**2) / 2 = D**2, R / Sqrt(2) = D = Dogbone position = maximum offset in the x and y directions (+/- x and y) from the vertex. Whether the offsets are plus or minus is determined by the orientation of the inside corner. In my geometry image, the offset is negative in the x direction, positive in the y direction.

Now that we know the value of D, I can manually scan my drawing and draw circles with the correct +/-D offsets from each inside corner on my dogbone layer. Again, this is all theoretical. In practice, I will probably decrease D to provide a safety margin.

Theoretically, we can do even better, assuming there are mills or drills that in practice do not really exist. In addition, we will need to endure a tool change for this alternative. If you refer again to the Geometry image, note that when the tool is at the corner of the toolpath, the excess material ends at a distance R (tool radius) from the vertex in x and y directions. This forms another 45 triangle, this time with sides of length R and the hypotenuse being the diagonal between ends of the excess material. The length of the hypotenuse is the minimum diameter of the drill required to remove all of the excess material. Drill_Dia**2 = R**2 + R**2 = 2 * R**2, Drill_Dia = R * Sqrt(2). The center point of the drill is determined with the same formula for D we used above. So, the other problem with is alternative is that it may be hard to find a drill with a useful minimum diameter. This alternative is shown as the small circle on the Geometry image.

To make this work in my particular situation, I can use a feature of FreeCAD where the size and location of objects are determined by values of editable constraints. I draw a point at the vertex, I draw a circle and constrain the radius R to that of the drill. I then constrain the center of the circle to be a distance D –x and +y from the vertex point. At this point, I can copy this constrained point-circle object and paste it with the point snapped to the next vertex. I also took advantage of the FreeCAD feature that allows giving labels to constraints, and using the label in the calculation of another constraint. Thus I can change the value of R, and the D constraints will be automatically recalculated for the copied circles.