I can provide support if needed. Per a prior post, I worked for 1.5 years as a locksmith running service calls all over the Little Rock, Arkansas area my senior year in high school and a bit after that.
For show and tell I can bring: picks, pick gun, bump key sets, and a padlock with clear plastic body so tumblers are visible.
For anyone interested in 3D printing of keys, the following Hackaday article has links to an SCAD model of a Kwikset key. The Kwikset is probably the most prevalent keyway (the profile when looking at the key end that goes into the lock) for home use. The Kwikset keyway is very similar to that of other popular home locks, such as Dexter and Weiser, so the SCAD file could be easily tweaked for those.
After changing the SCAD file to match my house key, I was able to print a key in PLA on my Prusa i3mk2 that opened the lock - after 6-7 print attempts. And the key started to break when I began to turn it. There are some very thin features in this (and every) keyway, at this point my 3D printer is unreliable at printing keys with either the needed feature resolution or strength.
For anyone who has a Kwikset residence lock and wants to experiment with the SCAD file in the above Hackady link, the following Excel table may be useful.
Cut height (inches) |
Cut # |
0.325 |
1 |
0.302 |
2 |
0.279 |
3 |
0.256 |
4 |
0.233 |
5 |
0.210 |
6 |
There are 5 cuts on a Kwikset key, with the first cut being closest to the bow (the handle end) of the key. Each cut can have one of 6 depths, 1-6, where 1 is the shallowest and 6 is the deepest.
- Using calipers, measure the distance/height from the bottom of the key to the bottom of each of the 5 cuts
- Compare the measured height to the table to find the logical cut depth. Your measured height may be off as much as +/- 5 mils, so use the closest logical cut in the table.
- After you have your logical cut depths, modify the SCAD file to use your cuts, export STL, and make your 3D prints.
- For example, if your measured cut heights (from bow to tip) are 0.327, 0.279, 0.230, 0.256, 0.210, then your cuts will be: 1,3,5,4,6
- Modify the line (113) at the end of SCAD as follows. The original SCAD file prints 3 different keys, but I commented out the 2 keys that were offset from the origin
translate([0, 0, 0])
key(teeth=[1, 3, 5, 4, 6]);
Here’s a preview of the above key from SCAD
If anyone tries this, I’d be interested in your results. I’m going to print the same key on an SLA printer and see how it works.
NOTE: It is important to distinguish between the terms ‘depth’ and ‘height’, as used in the above discussion. Conventionally, cut depths are measured from the top of the cutting surface of the key. Practically, an easy way to measure the cut of an existing key is to measure the height from the bottom of the key.