Parametric Grommet Generator
Print Profile(1)

Bill of Materials
Description
Boost Me (for free)
If you have found this model useful, a boost goes a long way!
Parametric Grommet Generator
A fully parametric two-piece snap-fit grommet generator. Print both halves, feed your cables through, and snap the two pieces together through your panel. No screws, no adhesive. Supports optional chamfered flanges and an internal fillet for a clean cable entry.
Simply change the variables to match your use case and export!
Parameters
Please refer to the diagram image on this model for a visual representation of each of the parameters available
A - Cable Hole Diameter - The clear inner hole the cable(s) pass through. Measure your cable bundle diameter and add a little clearance.
B - Panel Hole Diameter - The diameter of the hole cut in your panel. The grommet sleeve sits inside this hole — it should be a snug fit.
C - Flange Diameter - The outer diameter of the flanges. Must be larger than your panel hole so the grommet cannot pull through.
D - Panel Thickness - The thickness of the panel the grommet clips onto. The slot between the two flanges is sized to this value.
E - Total Thickness - The total distance from one flange face to the other. Must be greater than Panel_Thickness to leave material for both flanges.
T - Tolerance - A small gap applied between the inner and outer snap-fit halves. The default (0.05mm) suits most FDM printers — increase slightly if the fit is too tight.
External Chamfer - Adds a chamfer to the outer edge of each flange for a more finished appearance.
Internal Fillet - Adds a fillet inside the cable hole where it meets the flange, reducing sharp edges that could damage cable insulation. On by default, only disable if needed for you use case.
A Note on Flange and Wall Thickness
The generator does not enforce minimum values for flange thickness or wall thickness — that is intentional, as the right minimum depends on your material, print settings, and application. However, be aware:
- Flange Thickness is calculated as ((Total Thickness − Panel Thickness) / 2). Very thin flanges may be fragile or fail to grip the panel securely. A minimum of 1.5–2mm is recommended for most FDM prints.
- Wall Thickness is calculated as ((Panel Hole Diameter − Cable Hole Diameter) / 2). Walls thinner than 1.2mm (roughly 3 perimeters at 0.4mm line width) may not print reliably and will offer little structural strength.
Built-in Validation
The model includes validation that will halt generation and display a clear error message if your parameters are geometrically impossible. The following rules are enforced:
- Cable Hole Diameter must be greater than 0
- Cable Hole Diameter must be less than Panel Hole Diameter
- Panel Hole Diameter must be less than Flange Diameter
- Panel Thickness must be greater than 0
- Panel Thickness must be less than Total Thickness
- Total Thickness must be greater than 0
- Flange Diameter must be greater than 0
Printing notes
- Material: TPU if you need flexibility; PLA or PETG work fine for rigid parts.
- Orientation: Both halves are already laid flat; no supports required.
- Fit tweaks: If the halves won’t press-fit nicely, bump Tolerance up or down and reprint just one half.
Feature Requests
If there is any functionality you would like me to add, let me know and I will do my best to implement it!
UPDATES
03/08/2025 - I have added an optional internal fillet to avoid cable fraying. This is ON by default.
01/02/2026 - I have made the code opensource so that anyone can use it as they wish.
10/04/2026 - I have added some validation to the code to ensure that users do not try to generate grommets with geometry that is invalid, as well as updated the description above.
12/04/2026 - Added blanking grommet functionality.
29/04/2026 - Fixed bug with Panel Thickness





Comment & Rating (66)