{"product_id":"opengrid-framefit-hook-generator","title":"openGrid - Framefit Hook Generator","description":"\u003cp\u003eAn open-source frame-fit hook generator for \u003ca target=\"_blank\" rel=\"noopener noreferrer ugc\" href=\"https:\/\/makerworld.com\/en\/models\/1179191-opengrid-wall-desk-mounting-framework-ecosystem\"\u003eopenGrid\u003c\/a\u003e. This model attaches directly to the frame of an openGrid board, so it does not need a separate snap or openConnect connector. The default settings generate a compact hook for holding small objects, but you can create larger and stronger hooks by adjusting the parameters.\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003eThe recommended width for frame-fit hooks is under 20 mm. If you need wider or stronger hooks, check out the \u003ca target=\"_blank\" rel=\"noopener noreferrer ugc\" href=\"https:\/\/makerworld.com\/en\/models\/2257476-openconnect-sturdy-hook-generator\"\u003eopenConnect Sturdy Hook Generator\u003c\/a\u003e.\u003c\/p\u003e\u003cp\u003eSeveral example \u003cstrong\u003e.stl\u003c\/strong\u003e files are included, with the parameters used to generate them in the file names.\u003c\/p\u003e\u003ch3\u003eCustomization guide:\u003c\/h3\u003e\u003col\u003e\n\u003cli\u003e\n\u003cstrong\u003eSet \u003c\/strong\u003e\u003ci\u003e\u003cstrong\u003e\"hook_vertical_grids\"\u003c\/strong\u003e\u003c\/i\u003e\u003cstrong\u003e.\u003c\/strong\u003e The default is 1 for a compact hook; increase it for a taller hook that grips more vertical openGrid frame sections.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eChoose \u003c\/strong\u003e\u003ci\u003e\u003cstrong\u003e\"hook_corner_angle\"\u003c\/strong\u003e\u003c\/i\u003e\u003cstrong\u003e.\u003c\/strong\u003e Use \"Horizontal\" for a standard hook, or \"Diagonal\" when you want the hook body to angle upward from the frame.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAdjust the hook reach.\u003c\/strong\u003e Use \u003ci\u003e\"hook_length\"\u003c\/i\u003e and \u003ci\u003e\"hook_tip_length\"\u003c\/i\u003e. \u003ci\u003e\"hook_length\"\u003c\/i\u003e controls the overall length of the hook, while \u003ci\u003e\"hook_tip_length\"\u003c\/i\u003e controls how far the raised tip extends at the end.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAdjust the hook cross-section.\u003c\/strong\u003e Use \u003ci\u003e\"hook_width\"\u003c\/i\u003e, \u003ci\u003e\"hook_back_thickness\"\u003c\/i\u003e, and \u003ci\u003e\"hook_bottom_thickness\"\u003c\/i\u003e. Increase these values for a stronger hook. Adjust \u003ci\u003e\"hook_corner_fillet\"\u003c\/i\u003e to make the inside corner sturdier and smoother.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOptional: add a bottom truss.\u003c\/strong\u003e Set \u003ci\u003e\"truss_vertical_grids\"\u003c\/i\u003e. The default is 0 for no truss; increase it to add a bottom truss that helps the hook handle heavier loads.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOptional: Set miscellaneous options:\u003c\/strong\u003e\u003cul\u003e\n\u003cli\u003e- \u003ci\u003e\"framefit_snap_clearance\"\u003c\/i\u003e - increase this if the frame-fit snap is too tight.\u003c\/li\u003e\n\u003cli\u003e- \u003ci\u003e\"hook_tip_angle\"\u003c\/i\u003e - adjust the angle of the tip.\u003c\/li\u003e\n\u003cli\u003e- \u003ci\u003e\"hook_tip_shape\"\u003c\/i\u003e - choose between \"Round\" and \"Rectangular\".\u003c\/li\u003e\n\u003cli\u003e- \u003ci\u003e\"hook_tip_corner_fillet\"\u003c\/i\u003e - adjust the rounding at the tip corner.\u003c\/li\u003e\n\u003cli\u003e- \u003ci\u003e\"hook_side_chamfer\"\u003c\/i\u003e - adjust the chamfer on the hook body edges.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003eInspired by David D's \u003ca target=\"_blank\" rel=\"noopener noreferrer ugc\" href=\"https:\/\/www.printables.com\/model\/1217962-opengrid-minimal-hook\"\u003eopenGrid Minimal Hook\u003c\/a\u003e. The frame-fit snap shape is based on code adapted from BlackjackDuck's \u003ca target=\"_blank\" rel=\"noopener noreferrer ugc\" href=\"https:\/\/makerworld.com\/en\/models\/1304337-opengrid-tile-generator\"\u003eopenGrid Tile Generator\u003c\/a\u003e.\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003eThe model is open-source under the CC-BY-SA license. Like all the OpenSCAD models I've designed for openGrid, it can be found in this GitHub repository. Feel free to use the code; feedback and suggestions are welcome.\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e2026-06-21 Update\u003c\/strong\u003e: Cleaned up the code and revamped the \u003ci\u003e\"hook_length\"\u003c\/i\u003e calculation.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e2026-01-21 Update\u003c\/strong\u003e: Added an optional bottom truss for hooks that need to hold more weight. The truss is designed to print without supports, but you can enable supports if you are using a filament that bridges poorly. Thanks to @agentharm for the idea!\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e2025-09-14 Update\u003c\/strong\u003e: Added diagonal hooks and revamped the design.\u003c\/p\u003e\u003cp\u003eDesign by mitufy on MakerWorld (license: BY-SA).\u003c\/p\u003e","brand":"Mymadmanlab","offers":[{"title":"Default Title","offer_id":67383334535472,"sku":null,"price":4.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0987\/0809\/5280\/files\/0_93b6357a-b65f-4726-979c-a47c6eeea44b.png?v=1784501144","url":"https:\/\/mymadmanlab.com\/products\/opengrid-framefit-hook-generator","provider":"Mymadmanlab.com","version":"1.0","type":"link"}