{"product_id":"parametric-grommet-generator","title":"Parametric Grommet Generator","description":"\u003cboostme\u003e\u003cboosttitle\u003eBoost Me\u003c\/boosttitle\u003e\u003cboostcontent\u003eIf you have found this model useful, a boost goes a long way!\u003c\/boostcontent\u003e\u003c\/boostme\u003e\u003cp\u003e \u003c\/p\u003e\u003ch2\u003e\u003cstrong\u003eParametric Grommet Generator\u003c\/strong\u003e\u003c\/h2\u003e\u003cp\u003eA 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.\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003eSimply change the variables to match your use case and export!\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003ch3\u003eParameters\u003c\/h3\u003e\u003cp\u003e\u003cstrong\u003ePlease refer to the diagram image on this model for a visual representation of each of the parameters available\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eA - Cable Hole Diameter\u003c\/strong\u003e - The clear inner hole the cable(s) pass through. Measure your cable bundle diameter and add a little clearance.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eB - Panel Hole Diameter\u003c\/strong\u003e - The diameter of the hole cut in your panel. The grommet sleeve sits inside this hole — it should be a snug fit.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eC - Flange Diameter\u003c\/strong\u003e - The outer diameter of the flanges. Must be larger than your panel hole so the grommet cannot pull through.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eD - Panel Thickness\u003c\/strong\u003e - The thickness of the panel the grommet clips onto. The slot between the two flanges is sized to this value.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eE - Total Thickness\u003c\/strong\u003e - The total distance from one flange face to the other. Must be greater than \u003cstrong\u003ePanel_Thickness\u003c\/strong\u003e to leave material for both flanges.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eT - Tolerance\u003c\/strong\u003e - 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.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eExternal Chamfer\u003c\/strong\u003e - Adds a chamfer to the outer edge of each flange for a more finished appearance.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eInternal Fillet\u003c\/strong\u003e - 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.\u003cbr\u003e \u003c\/p\u003e\u003ch3\u003e\u003cstrong\u003eA Note on Flange and Wall Thickness\u003c\/strong\u003e\u003c\/h3\u003e\u003cp\u003eThe 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:\u003c\/p\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eFlange Thickness\u003c\/strong\u003e is calculated as \u003cstrong\u003e((Total Thickness − Panel Thickness) \/ 2)\u003c\/strong\u003e. 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.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWall Thickness\u003c\/strong\u003e is calculated as \u003cstrong\u003e((Panel Hole Diameter − Cable Hole Diameter) \/ 2)\u003c\/strong\u003e. Walls thinner than 1.2mm (roughly 3 perimeters at 0.4mm line width) may not print reliably and will offer little structural strength.\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003e \u003c\/p\u003e\u003ch3\u003eBuilt-in Validation\u003c\/h3\u003e\u003cp\u003eThe model includes validation that will halt generation and display a clear error message if your parameters are geometrically impossible. The following rules are enforced:\u003c\/p\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eCable Hole Diameter\u003c\/strong\u003e must be greater than 0\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCable Hole Diameter\u003c\/strong\u003e must be less than \u003cstrong\u003ePanel Hole Diameter\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePanel Hole Diameter\u003c\/strong\u003e must be less than \u003cstrong\u003eFlange Diameter\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePanel Thickness\u003c\/strong\u003e must be greater than 0\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePanel Thickness\u003c\/strong\u003e must be less than \u003cstrong\u003eTotal Thickness\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTotal Thickness\u003c\/strong\u003e must be greater than 0\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFlange Diameter\u003c\/strong\u003e must be greater than 0\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003ePrinting notes\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eMaterial\u003c\/strong\u003e: TPU if you need flexibility; PLA or PETG work fine for rigid parts.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOrientation\u003c\/strong\u003e: Both halves are already laid flat; no supports required.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFit tweaks\u003c\/strong\u003e: If the halves won’t press-fit nicely, bump Tolerance up or down and reprint just one half.\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003ch4\u003e\u003cstrong\u003eFeature Requests\u003c\/strong\u003e\u003c\/h4\u003e\u003cp\u003eIf there is any functionality you would like me to add, let me know and I will do my best to implement it!\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003ch4\u003eUPDATES\u003c\/h4\u003e\u003cp\u003e\u003cstrong\u003e03\/08\/2025 \u003c\/strong\u003e-\u003cstrong\u003e \u003c\/strong\u003eI have added an optional internal fillet to avoid cable fraying. This is \u003cstrong\u003eON\u003c\/strong\u003e by default.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e01\/02\/2026\u003c\/strong\u003e - I have made the code opensource so that anyone can use it as they wish.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e10\/04\/2026\u003c\/strong\u003e - 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.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e12\/04\/2026\u003c\/strong\u003e - Added blanking grommet functionality.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e29\/04\/2026 - \u003c\/strong\u003eFixed bug with Panel Thickness\u003c\/p\u003e\u003cp\u003eDesign by GrizzBuilds on MakerWorld (license: BY-SA).\u003c\/p\u003e","brand":"Mymadmanlab","offers":[{"title":"Default Title","offer_id":67375197323568,"sku":null,"price":4.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0987\/0809\/5280\/files\/0_d809d002-778d-4f03-81de-451bfe6df229.png?v=1784229322","url":"https:\/\/mymadmanlab.com\/products\/parametric-grommet-generator","provider":"Mymadmanlab.com","version":"1.0","type":"link"}