Introduction: Parametric Bottle Cap Generator

About: Hey! I'm Teddy Warner✌️, a maker, and a student at the University of Southern California's Iovine and Young Academy. My passion lies in rapid prototyping & digital fabrication - check out my website, to see so…

Lost a lid or just want a more functional cap? Generate and print your own, compatible with any existing threads!

Hey, I'm Teddy Warner, a junior in high school enrolled at Charlotte Latin School in Charlotte, North Carolina. I have a great interest in modern fabrication technologies such as 3d printing & CNC machines. I love using these interests to benefit my community through volunteering.

This model was designed in Fusion 360 and uses 3 required input parameters and standard Metric thread profile equations to generate a cap that will perfectly fit any of your threaded containers. Input Parameters can be found from an existing threaded connector following the documentation below and their values can be written in their corresponding Expression boxes in the Parameters spreadsheet of the attached Parametric Bottle Cap Fusion 360 file.

Although I've worked with parametric design in Fusion 360 many times before, I've always used parameters in place of numerical variables, setting each parameter equal to a singular numerical value or a simple algebraic expression. This parametric workflow was what originally taught me the importance of such design standards, allowing for rapid design alterations. My parametric bottle cap generator was my first take on equations using multiple other parameters, allowing for the model's generation based upon the three required input parameters. Parametric generators are some really interesting displays of CAD capability and do a great job of highlighting the power of Fusion 360's Parametric CAD. I defiantly would like to experiment with some more parametric generators in the future - Stay Tuned! and be sure to follow my Instagram @teddymakesstuff, to keep up with my latest work!

Following the standard Metric thread profile1 (displayed in the diagram above)…

The model derives all necessary values from three required input parameters, all of which are fed into Fusion 360’s coil tool, creating entirely parametrically generated threads. The calculations for user parameters derived from the three required input parameters are as followed …

  • Thread Height - 0.8660254037844386 * ThreadPitch
  • Hole Size - ConnectDiamater + ThreadHight
  • ThreadDmax - ConnectDiamater
  • ThreadDmin - ThreadDmax - 2 * 5 / 8 * ThreadHight
  • Cap Diamater - HoleSize + ThreadHight
  • Cap Height - ConnectLegnth + ThreadPitch / 2 + 1.5 mm

The implementation of these standard Metric thread profile equations in a Fusion model parametrically was the real kicker of this design. Unfortunately, Fusion’s native thread tool is incompatible with user parameters and thus was unusable in the case of this generator. In its place, I utilized Fusion’s coil tool, manipulating the values found in the generator’s user parameters to create the caps inner threads. This was my first time experimenting with the coil tool in Fusion 360 - it took me a minute to gather my bearings due to a large number of selections & inputs in the tool menu, however, it was this access to so much object manipulation that allowed me to use the coil tool to generate threads. The final working coil tool calculations are as followed …

  • Diameter - ThreadDmax + ThreadHight / 4 * 2
  • Height - ConnectLegnth + ThreadPitch / 2
  • Pitch - ThreadPitch
  • Angle - 0.0 deg
  • Selection Size - ThreadHeight

all of which are included, shown below, to generate the cap’s threads.

Following the Generation of the caps thread, an inner contour is added defined by the ISO 965-1 standard2 - shown in the diagram above.

This standard calls for radius value ThreadPitch / 4, and thus the following values are used in the inner contour …

  • Radius - ThreadPitch / 4
  • Radius Type - Constant

The contour is created with Fusion’s Fillet tool and the prior mentioned values, again, shown above.

All this yields the successful basic generator. However, what fun would a custom cap generator be without a little customization! The generator includes four different body styles,

  1. Plain
  2. Single-Hole
  3. Salt-Shaker
  4. Lanyard

… allowing for total cap customization. These styles can be changed, along with two other customization factors, discussed in the Cap Generation steps below.

Check out this project's documentation on my project portfolio, teddywarner.org, and the model can also be found on PrusaPrinters!

For documentation purposes, I created a new cap for my Nalgene water bottle …

Supplies

To use the generator, you'll need access to Fusion 360, where you can Import the generator file downloadable from this page.

In addition, you'll need ...

  • A pair of Calipers (or a ruler and a good eye)
  • Access to a 3d printer

Step 1: Required Measurements - Connector Diameter

There are three measurements required to generate your cap, all of which can be taken from the existing threaded connector …

Measure the diameter (in mm) of your existing connector, from the very farthest point (i.e. the point of the thread) on either side.

Then, update the Expression value in the ConnectDiameter row (the box highlighted yellow above) with this found value.

Step 2: Required Measurements - Connector Length

Measure the height (in mm) of your existing connector, from the top lip to underneath the threads.

Then, update the Expression value in the ConnectLegnth row (the box highlighted yellow above) with this found value.

Step 3: Required Measurements - Thread Pitch

Measure the thread pitch of your existing connector, the distance in mm between the points of two sequential threads.

Then, update the Expression value in the ThreadPitch row (the box highlighted yellow above) with this found value.

Step 4: Optional Customization - Number of Grips

To offer a bit more customization to each generated cap, there are a couple of different preferences allowing for different functions.

The number of grips lining the edge of the cap can be changed in the Expression value of the NumofGrips row. I find values between 40 through 55 work best, but if your experimenting, going below 11 will stop the generation of grip chamfered.

Step 5: Optional Customization - Grip Depth

The depths of these grips can be altered, determining how grippy your grips are. I’ve found a value around 0.3 or 0.4 offers a good texture around the edge.

Step 6: Optional Customization - Lid Style

The lid style of your cap can be toggled between 4 presets in the Fusion Parametric Bottle Cap file by navigating to

Parametric-Bottle_Cap > Bodies > Styles 

in the Fusion browser. The lid styles can be toggled between via the eye icon to the left of each style. The four styles are included below, with each of the toggles highlighted.

The generator includes four different body styles,

  1. Plain
  2. Single-Hole
  3. Salt-Shaker
  4. Lanyard

Step 7: Export & Print!

Congrats! You’ve successfully generated your own bottle cap!

Print Settings -

My tests were printed using the default "0.15mm Quality" from PrusaSlicer on a Prusa I3 MK3S+. This layer height yields clean threads and is a good starting place for most caps, however, smaller caps may require a higher quality to allow for proper fitting.

Supports:

Dependent on chosen style - if printing Lanyard style, they may be necessary

Resolution: 

0.15mm - as mentioned above, 0.15 is a good starting place - smaller caps require higher quality for proper fitting

Infill:

15%

Be sure to check out this project's documentation on my project portfolio, teddywarner.org, and the model's page on PrusaPrinters!

If you find my projects interesting, be sure to follow my Instagram @teddymakesstuff, to keep up with my latest work!

New Year, New Skill Student Design Challenge

Second Prize in the
New Year, New Skill Student Design Challenge