This Single Combination Cryptex has a very spacious interior. The pictured Cryptex is currently being used as a Geocache (http://www.geocaching.com) in Minnesota (http://coord.info/GC3K7QE).
This Instructable is going to guide you through the critical steps to create a CAD file for 3D Printing a Cryptex. It will use Autodesk Inventor 2012, and will detail the critical steps needed to create it. Basic experience with your CAD software of choice is recommended. This should include creating parts, assemblies, extruding, cut extruding, revolving, embossing, and basic parametric modeling skills. If you are interested in making an exact copy of my Cryptex, please skip to Step 17, which details modifying my files to edit the combination.
IF YOU ARE CURRENTLY SEARCHING FOR, OR PLANNING ON SEARCHING FOR, THE GEOCACHE CRYPTECH (GC3K7QE); YOU SHOULD BE FOREWARNED THAT THERE ARE SPOILERS INCLUDED IN THIS INSTRUCTABLE.
POST-INTRO NOTE (PLEASE READ BEFORE COMMENTING): I have recently received many comments about getting the STL for printing. I don't believe you actually want the STL file. This Cryptex is a fixed combination, and thus, if I give you the STL, it will be exactly as shown in the images above. Plus, there is writing on the side which you do not need or probably want.
Second: This print requires use of a printer with a soluble support material. There is no way around it. Since the rings are printed on to the outer chamber with about a hundredth of an inch gap, and are inaccessible to clean out any non-soluble support material, you WILL need a printer that can print in a soluble support. I used a Stratasys uPrint printer, which prints in ABS and a support material.
Step 1: Dimensions
The first step in creating your Cryptex is to figure out what the dimensions want to be. You need these dimensions to move on:
> Number of Letters in your combination (I used 6)
>Outside radius of the rings (This dimension is not critical, I just used it as a reference point. This dimension gives a target point for all of the other ones.) This will give you an approximation of how large your cryptex will be.
For my cryptex, I wanted a fairly large cryptex, with easy to grip dials, easy to read letters, and an easy to access compartment. I wanted it large enough to fit into your palm, but not small enough to fit easily into a pocket.
Step 2: Rings: Step 1
First, we need to create the rings. The reason we start with the rings is because the rest of the geometry is most dependent upon the dimensions specified in the rings.
First, create a new part file in your choice of units. I will be using inches (due to the school's 3D printer units being in inches...) for all of my parts. Create a new sketch, and sketch out the profile of your ring. We will be using the revolve tool, so only create one side of the profile. Also, create a center line, and dimension the inner radius of your ring. I added a taper to the side of my rings, for both effect, and to help obscure the correct combination. The shape does not really matter, as long as you have a general 'T' shape. The 'T' shape keeps the rings in the correct spots, and prevents the inner chamber from sliding out.
I would make the thickness of each at least an eighth of an inch for strength. I found that this created a fairly strong ring that was fairly hard to deflect.
Step 3: Rings: Step 2
We are now going to revolve the sketch created in the previous step to form a ring.
Step 4: Rings: Step 3: Text
We are now going to add the text onto the surface of the ring. Because we need to make multiple rings, we are going to use parameters to allow us to quickly change the text on the ring.
Step 1: Create a work plane that is offset from the outer surface of the ring in the XZ plane (I spaced mine off two inches, so I could still see the ring without interference.)
Step 2: Create a new sketch on that plane.
Step 3: Using the text tool, type the alphabet, inserting a space in between every letter. Center justify the text to make it look neat.
Step 4: This is where you get to explore a bit. Choose your font, and measure from letter A, to letter Z. This is a critical dimension, because it wants to be as close to the circumference as possible. I added an A after the Z, and then measured from the top of the first A to the top of the second. From there, I adjusted the font size until that measured dimension matched my circumference.
Step 5: Alignment. We now need to space the text equally from both sides. Create a center line on the top surface of the ring. Apply a vertical constraint from the top of the A (there should be a snap point available there) and the center line. This will allow the text to slide freely up and down that line, allowing us to create different combinations.
Step 6: Parameters. The first parameter that we need to define is the total font size. Measure from the top of the A to the top of the B. This is a critical dimension, because we will be using it to create an equation to define the letter. The second parameter is the letter number. This defines what letter is going to be used as the combination (ex. A is 1, Z is 26). For the moment, define it as 1. This should make A the correct character.
Step 7: Constrain. First, we need to get a point to constrain to. Project the center line used to create the revolve (you might need to use a work axis through the center of the ring). Then, create a line and dimension it so the distance to the projected center is one half the Font Size dimension (you can use the equation FontSize*.5 to achieve this). Once that is in place, you can move on to actually constraining the text. First, create a dimension from the top of the A (again using the snap point) and the line that you just created. Then, we need to use the CharacterNumber parameter that we defined, and the font size to create the equation. The equation is (CharacterNumber-1)*FontSize. The reason it is CharacterNumber-1 is because we want A to equal 1. Without that -1, the text would be off by one character. This equation allows us to change the CharacterNumber parameter and easily change the password text.
Step 8: We are now going to emboss the text into the surface of the letters. Exit the sketch, and using the Emboss tool, select the text. Apply the Wrap to Face option, and select the outside face of the ring. This will now wrap the text around the ring. I used a depth of .07", to give it an easy to read surface, but still give the ring some strength.
Step 5: Rings: Step 4
We are now going to add the slot for the pins on the inner chamber to slide through. Create a new sketch on the inside face of the ring (the part that will actually contact the pins).
Step 1: Create a centerline that intersects the center of the ring, and extends to the point where the center of the A is. Hopefully, this is vertically, because if you were following along, you should have created the text on the XZ plane.
Step 2: Next, sketch out a notch that is the width of the font size, and matches the curve of the ring. It should not extend through the top surface, rather, the curve should be at the bottom of the cross of the T. It should be centered on the center line that we just created.
Step 3: Exit the sketch, and using the extrude tool, cut out that notch all the way through the bottom of the T. I added a Chamfer to the vertical edges of mine, just to relieve some of the stress put on the corner of the rings, and to slightly assist with the combination.
Step 6: Rings: Step 6
We have now created one ring. You can embellish it as much as you want. Once you are happy with the look, save the ring as Cryptex Ring Template. This is the template ring that we will use to create the other rings. It is primarily a backup, just in case you screw up. Now, we save duplicate copies, naming them instead "Cryptex Ring 1", "Cryptex Ring 2", and so forth until you have enough rings that make up all of the digits in your password. Once you have completed that, you can edit the CharacterNumber parameter in each of the rings so that the combination is the password that you desire.
We have completed the rings, and we will now move on to the outer chamber.
Step 7: Outer Chamber: Step 1
Having completed the rings, we are now going to move onto the exterior chamber. This outer chamber holds the rings in place and prevents access to the contents inside the interior chamber. It consists of a hollow cylinder, with lips around the edges to hold the rings in place. On the ends are larger cylinders.
To start, create a new part and a new sketch. We are going to make this the same way as we made the rings, with a revolution. Since we have already done this step with the rings, just do the same steps except with these modifications:
You can mirror my design, with your own modifications to the end caps. The design for the last end cap needs to terminate at the center line that we will be using for revolution. Everything else terminates short to create hollow cylinder when revolved.
The dimensions for each of the slots should match the lower bar of the T, plus about a hundredth of an inch for tolerance. I managed to squeeze a hundredth of an inch from left to right on each side, and about seven thousandths from top to bottom (Both are relative to the image). Without these tolerances, the rings will not print as separate parts, and will be stuck together. DO NOT FORGET ABOUT THIS TOLERANCE, AND ITS SIZE. WE WILL BE REFERRING BACK TO IT IN FUTURE STEPS. The number of slots you have should equal the number of letters in your password.
Once you are finished with the sketch, revolve it 360 degrees to complete the basic shape of the interior chamber. It should look something like the second image.
Step 8: Outer Chamber: Step 2
We are now going to create a slot through the rings to allow the locking pins to slide through. This is easily accomplished by creating a sketch on a plane offset from the hollow end cap by a couple inches. It should be rectangular, and have a hundredth of an inch tolerance based on the size of the slot that we cut in the rings (the font size). It should be as tall as the retaining rings, so that it should cut completely through the rings. Then, we can cut extrude it to the back face of the end cap.
Step 9: Outer Chamber: Step 3
It is time to add some embellishments. I added arrows at the top to indicate where the combination should go to open the lock. I also added big fillets to the sides of the groove to make it easier to put the inner chamber back in.
As this was a geocache, I also engraved Geocache and the name of the cache, Cryptech into the end cap to help make sure that people didn't steal it. If you wish, you could engrave a riddle whose answer opens the cryptex, your name, or anything else. Sometimes, you cannot use the emboss tool, because it is not a cylindrical object, so you have to cut it using the extrude tool. This is what I had to do to accomplish the
Note: I colored the engravings blue, for emphasis.
Once you are finished with the embellishments, you can save the part as Cryptex Outer Chamber.
Step 10: Inner Chamber: Step 1
We will now work on the interior chamber, which is essentially a hollow cylinder with a solid end cap. This is what actually holds what you want to put inside. This is fairly simple to create, except for the locking pins.
To start off, create a new part, and a new sketch. Repeat the steps that we did for the rings and outer chamber, except making a smooth, hollow cylinder with a single end cap. I found that my tolerances between the inner chamber and outer chamber can be about five thousandths, because we will be printing the outer and inner chambers separately. Make sure you make the end cap large enough to cover up the slot that the locking pins slide in.
Step 11: Inner Chamber: Step 2
We are now going to create the locking pins. We need to create a work plane that is the height of the slot that we cut for the pins to slide in. Measure the distance from the axis of revolution for the outer chamber to the top of the slots. Take that number, and create a plane that is parallel to the cylinder and offset that measurement from the axis of revolution. This gives us a plane to allow us to extrude the pins from.
Then, create a sketch on that plane, and project the axis of revolution. Then, calculate the distance in between each of the pins. This is important, because if the distance is incorrect, the inner chamber can rattle, and allow the user to crack the cryptex easier. I designed mine so the distance between the rings would be exactly half an inch, but yours may vary. After figuring that out, you need to draw in the pins. I used a rectangular pattern to solve this. It is easier to describe this using the captions in the picture, so flip to the second picture.
Once you are done with the sketch, you can extrude the pins to the face of the cylinder, using the "To" termination. This should result in the last image.
Step 12: Inner Chamber: Step 3
We have now completed the basics for our inner chamber. I added a chamfer around the edge of the end to assist in assembly, and added a finger grip to the outside. These are completely optional, and you can do it if you wish.
Once you are done, you can save it as Cryptex Inner Chamber.
Step 13: Assembly: Step 1
We have now completed the creation, now we just need to assemble it. Create a new assembly (.iam), and place in it one of each of the following: Cryptex Outer Chamber, Cryptex Inner Chamber, Cryptex Ring 1, Cryptex Ring 2, Cryptex Ring x. You DO NOT need to place a Cryptex Ring Template in the assembly.
Step 14: Assembly: Step 2
We are now going to constrain all of the rings to the outer chamber. Using the mate constraint, we are going to apply an axial constraint to the rings. This is detailed in the second, third, and fourth images. These constraints keep the rings centered on the cryptex, but allow them to move along the axis of revolution. We will fix this in the next step. MAKE SURE THAT THE LEFTMOST RING IS RING 1, AND THE RIGHTMOST RING IS RING 6.
Once you have all of the rings constrained in the previous step, we need to make sure they cannot move along the axis of revolution. Move all of the rings off of the outer chamber, making sure that you keep them in numerical order.
Then, using the mate constraint, apply the constraint to the bottom of the ring, and the matching face on the outer chamber. Remember that left to right tolerance that I described in step 7? It is now time to use that. Offset the constraint by that tolerance, so that there is a space between the ring and the outer chamber. Again, images four through six detail this constraint process.
Step 15: Assembly: Step 3
I applied another axial mate constraint to the inner chamber, constraining it to the outer chamber. This allowed me to test it by using the Contact Solver. I also applied an angle constraint to ensure that it couldn't rotate. This is an optional constraint.
After applying those constraints, I used the contact solver to test the cryptex, and to make sure that the inner chamber could be removed from the inner chamber.
Step 16: Final Steps
Since we have tested it, and confirmed that everything is separated, we can now prepare for printing.
Step 1: Delete the inner chamber from the assembly. Since we will be printing the outer chamber and rings as a single part, and the inner chamber as another, we do not need it in the assembly.
Step 2: Export the assembly, and the inner chamber part as an STL file. Use your choice of units.
Step 3: Print! I personally used my school's Stratasys uPrint system. You could upload this to Shapeways or Ponoko, or use your own 3D Printer.
IF YOU ARE NOT INTERESTED IN MODIFYING MY CRYPTEX, YOU ARE FINISHED. CONGRATULATIONS!
Step 17: Modifying My Files
So, if you are interested in just modifying my cryptex to suit your own purposes, go for it! Just make sure to give me credit. I have attached all of the files below.
You will need to extract all of the files to the same folder. The upload size limits forced me to upload the files in 3 parts. Extract them to the same folder, and you should be able to open the files from there.
All you should need to do is open up the Cryptex Assembled.iam file, and double click on each of the rings. This should open up the individual rings for editing. You can then go into the parameters, and modify the CharacterNumber parameter. Again, A is 1, B is 2, Z is 26. Once this is done, you need to go back to Step 16, and complete it for printing.
I have attached the STL files for reference, as they contain the Cryptex as shown in the images before. The combination is set, and the engraved text is still there.