This is a working combination padlock design that can be used in place of a standard Master Lock on a locker or whatever. It's relatively strong, but it is plastic it's, so not for high security.
UPDATE 8/22/2024:
Fixed the body models adding more clearance around the detents and springs. Use Body_FIXED.STL. This should resolve the printing issues many people are having.
Added an option to print the springs separately if you prefer. The springs work quite well this way and should be easier to print successfully. Use Body_noSprings.STL and Spring.STL. Updated instructions are below.
Features:
Configurable combination: up to 10,000 possible combinations
Selectable security options: 3 or 4 tumblers with 6 or 10 digit numbers
Spring loaded detent feature on tumblers for precise positioning and satisfyingly tactile feedback
Similar dimensions to classic rotary Master Lock for compatibility with most lockers and other latches
Strong lock body and shackle that resists forcing open
Normal or long shackle options for securing larger latches
The parts are all interchangeable for many different configurations. Here are some examples of STL files to select:
Example 1: 3 tumbler lock with 6 digits and long shackle, combo 123
PadlockV2_Body3x_FIXED.STL
PadlockV2_Shackle3xLong.STL
PadlockV2_Tumbler_6x1.STL
PadlockV2_Tumbler_6x2.STL
PadlockV2_Tumbler_6x3.STL
PadlockV2_Cap.STL
PadlockV2_Spacer.STL
Example 2: 4 tumbler lock with 10 digits and short shackle, combo 1982, with springs printed separately
PadlockV2_Body4x_NoSprings.STL
PadlockV2_Springs.STL (print 4 of these)
PadlockV2_Shackle4x.STL
PadlockV2_Tumbler_10x1.STL
PadlockV2_Tumbler_10x9.STL
PadlockV2_Tumbler_10x8.STL
PadlockV2_Tumbler_10x2.STL
PadlockV2_Cap.STL
PadlockV2_Spacer.STL
Print Settings
0.2mm Layer Height 0.4mm Line Width
Material: PLA+
Body (with print-in-place springs) - Body_FIXED.STL
Walls 3, infill 20%+
Support on detents only: use the touching buildplate setting for support placement, recommend increasing support roof density 50%
Make sure supports aren't generated between the springs and body, where the print-in-place breakaway is supposed to occur.
Body (with separate springs) - Body_NoSprings.STL
Walls 3, infill 20%+
No supports
Print the separate springs to insert into this body: Spring.STL
Shackle, Tumblers, Spacer, Cap:
Walls 10+ / 100% infill
No support
Example of what NOT to do with supports. Supports under detents, YES. Supports in the springs, NO. Supports shown in blue:
Post-Printing
Assembly:
Break free the print-in-place detent springs. I push them into the edge of a table or block until I have heard a few snaps and feel nice and springy. Adjustment of the springs may be required if they are pushed in too hard by pulling them back out for a tighter fit against the tumblers.
Select your combination by printing the digits you want to use and stacking them with the inside notches all lined up. Rotate them against each other to smooth out the sliding surfaces for smoother operation.
Slide the tumbler stack into the lock body then up into the hole.
Insert the spacer under the tumbler stack.
With the selected combination aligned with the arrows, insert the shackle through the tumblers and lock body. Make sure all of the tumblers are aligned with the keyway or you won't be able to fully insert the shackle.
Slide the cap over the shackle and screw into the threaded hole.
Notes:
You can color in the numbers with a permanent marker for better visibility.
To unlock it, enter the combination numbers aligned with the 2 arrows on the body then pull the shackle up.
Detent tension will probably need to be adjusted by disassembling and pushing or pulling the detents slightly out of the body to stretch or compress the springs to a better position.
Using Separate Springs:
If you are printing the springs separately (using Body_noSprings.STL and Spring.STL) replace assembly step one with this:
Insert springs into each slot in the body. The point of the detent should be toward the bottom side of the lock body. They should fit loosely and will be held in place by the tumblers.