What You'll Need
First, figure out if your house key is a Kwikset or Schlage. If it's made by another manufacturer then you'll need to find someone who's made parametric or similar files for your brand of lock.
Next, download the appropriate OpenSCAD file from the bottom of this article.
Measure Your Key
Now, get out your calipers and measure the depth of each of the "Valleys" of the cut, beginning with the valley closest to the shoulder of the key (the end you hold with your fingers when using the key).
The depth is the distance from the flat side of the blade to the bottom of the valley. Write down the values, as we'll use them in the next step.
Note: If you have an original key already, it may be printed with the 5-digit cut code right on the key already. In that case, skip ahead to the section on Setting up the OpenSCAD model.
Figure out the Cut Code
Keys are cut from the factory with "Codes". Each "Code" value corresponds to a cut depth. What we need to do is work back from the cut depth to the code.
To do this, go to this chart of key code cut depths and scroll down to the section with the values for your lock.
Now, match up the depths you measured with the closest Root Depth value. Write the code (0-9) next to the measurements from before, again working from the shoulder out.
Setting up the OpenSCAD Model
Now that you have the codes, open up the OpenSCAD model for your key type, and scroll to the bottom. Replace the codes with the code for your key, render, and export as an STL file.
Printing The Key
I printed my key on the highest quality setting my printer would allow. I recommend you do the same. Being such a small part the print was very quick.
Using The Key
The first time you go to use your key you may find it difficult to get into the lock. My print lacked the precision in the profile cuts that would allow it to move smoothly at first. With a little bit of scraping or chiseling, you should be able to get it into the lock without too much force, and it should turn freely.
Note: Do not force the key! You do not want to break the key (or any parts) off in your lock, as this could render it unusable!
What if it Doesn't Fit?
Recheck your pin depth measurements and print again, if necessary. Now that you have a printed copy it should be easier to see where things went wrong. Measure your key vs. the printed key to find any codes that are mismatched, then update them in the model and reprint.
I would recommend that you not use this key on a daily basis. A 3D printed key, especially if you're printing with PLA (a very soft material), is going to lose material into the lock each time you use it. Over time you're likely to accidentally introduce plastic fragments that jam your lock or break your key off in the lock.
However, a printed key can make a great emergency key. Key it on hand in a drawer or at a friend's house in case you need an extra key in a hurry.
If you really need a permanent key, try Key.me, or your local hardware store.