September 11, 2025
Description
My wife needed a grommet to pass yarn through the side of a tupperware container (quick-and-dirty yarn bowl). The primary requirements were a smooth channel through the middle and rounded edges to prevent snagging the yarn.
I didn't find anything that matched what I had in mind, so I threw together a quick prototype and it worked perfectly. The resulting grommet snaps together, has minimal hard edges to still print without supports, and is fully parametric (because of course your use won't exactly match mine).
Exported STL files are named for the hole size in millimeters: d<diameter>_t<thickness>_outer.stl
My prototype was printed in Overture PLA Pro using variable layer height set to speed (just to ensure any non-layer aligned geometry wasn't truncated improperly).
Snapping it together took a bit of force, and separating it again required a screwdriver to pry the pieces apart. After separation it again snapped together securely and I can't easily remove it. For more security you can always add some glue to the snap channel to ensure it's not coming back apart.
If the fit is too tight try reducing your extrusion multiplier to slightly reduce the thickness of the print walls.
The first parameter is part, which determines which part of the grommet is rendered. By default this renders the grommet as it will look assembled, but there are “Inner” and “Outer” part selections to allow rendering/exporting the individual parts in print-optimized orientation. There's also a “Combined Profile” part which shows the profile of the inner and outer pieces to view how they fit together.
All parameters are in millimeters.
All parameters are commented in the file and there's an annotated screenshot of the grommet profile that visually documents most of the parameters.
License:
Creative Commons — Attribution
9