I figured a unique custom designed cribbage board would make a nice Christmas present for my parents, and drilling 391 holes (3 * 3 starting + 120 * 3 scoring + 1 finish + 3 * 7 match scoring) was definitely sufficient justification to call it a CNC project.
It was great fun (with only one scrapped attempt resulting from the router mount hitting the vacuum hose fitting and misfortunately oblonging holes). I did the design in Inkscape and the toolpaths in Carbide Create, then did a bunch of hyper-optimization of the resulting gcode in Notepad++. I won’t go deeply into all that at this point, but considering the time and experimentation it took to figure out exactly how to get Inkscape to help me out with placing the holes, I figure it might make someone’s life a bit easier in the future if I at least documented how to do that part of the design work.
For reference, before I go all Inkscape HowTo on this post, here’s my list of bits, pieces, and accouterments that I used to turn a small red oak board into the cribbage board shown above:
- Lines: 1/8" 30° engraving bit (Kyocera 2002Q0945.030A1) (from drillman1 on eBay)
- Holes: 1/8" Drill Mill (Kodiak 5541572) (quite fantastic for my straight-plunge drilling toolpaths)
- Chamfer: 90° V-bit (Whiteside 1502) (doing the outside offset dance in Carbide Create)
- Profile: 1/4" End Mill (Carbide 3D #201) (do I need a parenthetical here?)
- Sanding: Um… I think I had 220 on the palm sander? Just enough to prevent splinters, no more.
- Finish: Watco Danish Oil (natural) (one coat only for this, by personal preference)
- Pegs: Cribbage pegs, tapered, for 1/8" holes (or any other similar product)
So, now on to the “easy” way to get nice, evenly-spaced holes in Inkscape.
Holey Inkscape, Batman! -or- "A project of a thousand holes begins with one path"
Hole Group Setup
(This assumes tapered pegs designed for 1/8" holes that are 1/4" or less in maximum diameter. For larger pegs, just scale up the holes or spacings as appropriate.)
Draw a circle 1/8" in diameter, then make two more copies. Align them all to the same X coordinate, and space them on 1/4" centers, e.g. place them at 0", 0.25", and 0.5" on Y. Then select the three and group them (Ctrl-G) to make your hole group.
Draw a circle 1/4" in diameter, then make one more copy. Align those to the same X coordinate, and space them on 1/2" centers, e.g. place them at 0" and 0.5" on Y. Then select both and group them to make your spacer group.
Select both groups, and in the Align and Distribute (Shift-Ctrl-A) dialog, under Align, center them horizontally and vertically so they perfectly overlap. Then group them. You now have your hole placement group. The bigger circles let you easily see and adjust the spacing based on the peg clearance, not just the hole size.
Draw a curve along which you want to place the holes. If you use a spiral, shape, or other object, be sure to convert it to a path (Shift-Ctrl-C, or Path/Object to Path from the menus).
In order to maintain proper spacing while automatically distributing the holes, you will use an offset in order to base the spacing on the inside hole along the curve. That means you’ll have one offset for right-hand curves and a complementary offset for left-hand curves (straights are equally happy regardless of the offset).
Note that the opposite offsets do mean that if you have a path with curves in both directions and you split it into left-hand and right-hand sections, the pieces will not automatically line up. Rather, the left hole from the left-hand sections will line up with the right hole from the right-hand sections. You may need to adjust your path sections accordingly to make it so you can fit them in and line them up, but therein lies the art.
(When I made my double-spiral board, I split the curve into two halves and distributed holes along each and then dragged the right half to match up the curves on a hole group in the middle. Since each half only curved in one direction and there was nothing to interfere with in the middle, it was easy to put them together.)
Placing the holes
- Select the hole placement group, then raise that to the top (Home).
- Hold Shift and click your curve to add it to selection set.
- On the menu bar, choose “Extensions”, “Generate from Path”, “Scatter…” (Scatter copies your hole placement group along the path without squishing or stretching it.)
- In the Scatter dialog:
Configure the options first:
- First, check “Live preview” near the bottom – there is a bit of a delay as you change things, but it’ll let you see what you’re doing.
- Check “Follow path orientation” at the top.
- Check “Stretch spaces to fit skeleton length”.
- Assuming you made the pattern as described (so it would look right if you made copies and arranged them horizontally into a straight path), leave “Pattern is vertical” unchecked. (If the holes are along the path instead of across it, you’d check “Pattern is vertical”.)
- “Original pattern will be:” Copied.
- Leave “Duplicate the pattern before deformation” alone (appears to be a vestigial option).
- Leave “If pattern is a group, pick group members” unchecked.
- “Pick group members:” is therefore irrelevant.
Now set your “Normal offset:”, which is in millimeters even if you’re working in inches elsewhere:
- For a left-hand curve: 6.4 (millimeters, i.e. 1/4", your hole placement group’s hole spacing)
- For a right-hand curve: -6.4 (millimeters, i.e. -1/4", your hole placement group’s hole spacing)
- Basically, you want the holes swinging around outside the curve, not crashing together inside the curve. If they look wrong, switch the sign.
Now tweak your hole placement:
- Use “Space between copies” to spread the holes out as much as you wish.
- Use “Tangential offset” to change the starting point of the set of holes (i.e. a tangential offset of 10 means start them 10mm down the path instead of at the beginning – if the first hole set is askew, moving it down the path slightly may help).
- Once you’re satisfied, click Apply, then close the Scatter dialog.
In order to get the number of holes you want and spacing that you desire, you may have to tweak your paths, redo the scatter, and repeat until satisfied.
- For a cribbage board, you simply select and delete every sixth set of holes, leaving blocks of five with nice spaces between them (adding lines if desired).
- To get rid of the spacer circles, select the whole bunch and ungroup (Ctrl-Shift-G) once. Then select and delete the spacer circle groups.
- If you made your path in sections with differing curve directions, line the parts up.