{
 "version": "2026-10-20",
 "license": "Dimension sheets: CC BY 4.0. Standard and published-size files: CC BY 4.0. Xem Studio's own designs (files_license = Xem Studio Design License): free to use and sell things from, not to redistribute as files — https://xemstudio.com/license/. Other publishers' files: their own license, linked beside them.",
 "slug": "snap-fit-cantilever-joint",
 "name": "Snap-fit cantilever joint (hook and catch)",
 "kind": "hardware",
 "category": "Joinery",
 "group": "3D-print connectors",
 "year": null,
 "question": "How do you design a snap-fit for 3D printing?",
 "tags": [
  "joinery",
  "woodworking joint",
  "3d printable",
  "connect 3d prints",
  "no glue",
  "stl",
  "step",
  "3d-print connectors"
 ],
 "aliases": [
  "snap fit",
  "snap fit 3d printing",
  "cantilever snap fit",
  "snap fit design",
  "snap fit dimensions",
  "3d printed clip",
  "snap-fit joint",
  "encaje a presión",
  "unión a presión",
  "Schnappverbindung",
  "Schnapphaken"
 ],
 "overall_mm": {
  "length": 25,
  "width": 16,
  "height": 29
 },
 "official_cad": false,
 "xem_status": "free-files",
 "les": false,
 "free_files": 3,
 "url": "https://xemstudio.com/objects/snap-fit-cantilever-joint/",
 "sheet_txt": "https://xemstudio.com/objects/snap-fit-cantilever-joint/sheet.txt",
 "sheet": {
  "basis": "Xem Studio design — geometry computed in the generator from traditional proportions",
  "overall_mm": {
   "length": 25,
   "width": 16,
   "height": 29
  },
  "notes": [
   "Woodworking joint drawn for 3D printing: the parts lock together by shape, so a print can be joined without glue or screws. Drawn at true size with the parts line to line (zero gap) in their assembled position — add your printer's fit allowance to the mating faces (your AI or slicer can do this).",
   "The basic printed snap: a cantilever arm with a hook that springs into a window. Keep the arm's strain low: for PLA/PETG the undercut should be no more than about 6–7 % of the arm length.",
   "Print the arm along its length in the plane of the bed — layer lines across the arm make it snap."
  ],
  "table": {
   "columns": [
    "dimension",
    "value"
   ],
   "rows": [
    [
     "stock",
     "2 mm arm, 8 mm wide, 18 mm long"
    ],
    [
     "parts",
     "hook part, catch part"
    ],
    [
     "hook",
     "1.2 mm undercut, 30° lead-in"
    ],
    [
     "assembles",
     "push in: the arm flexes and the hook clicks into the window"
    ],
    [
     "holds",
     "pulling apart until the hook is pressed back"
    ]
   ]
  }
 },
 "sheet_text": "Snap-fit cantilever joint (hook and catch) — dimension sheet\nSource: Xem Studio, https://xemstudio.com/objects/snap-fit-cantilever-joint/  (sheet CC BY 4.0; files Xem Studio Design License, https://xemstudio.com/license/)\nBasis: Xem Studio design — geometry computed in the generator from traditional proportions\nCatalog version: 2026-10-20\n\nOverall (mm): length 25.0, width 16.0, height 29.0\n- Woodworking joint drawn for 3D printing: the parts lock together by shape, so a print can be joined without glue or screws. Drawn at true size with the parts line to line (zero gap) in their assembled position — add your printer's fit allowance to the mating faces (your AI or slicer can do this).\n- The basic printed snap: a cantilever arm with a hook that springs into a window. Keep the arm's strain low: for PLA/PETG the undercut should be no more than about 6–7 % of the arm length.\n- Print the arm along its length in the plane of the bed — layer lines across the arm make it snap.\n\ndimension  value\nstock  2 mm arm, 8 mm wide, 18 mm long\nparts  hook part, catch part\nhook  1.2 mm undercut, 30° lead-in\nassembles  push in: the arm flexes and the hook clicks into the window\nholds  pulling apart until the hook is pressed back\n\nFiles elsewhere (not hosted by Xem Studio; license as stated by the publisher):\n- Xem Studio: Joinery design (geometry computed in the generator from traditional proportions) — web — Xem Studio design — https://xemstudio.com/\n\nFree files (Xem Studio Design License, Xem Studio; STEP + STL, 3 parts): https://xemstudio.com/files/hardware/snap-fit-cantilever-joint/index.json\nAPI: https://xemstudio.com/api/geometry?object=snap-fit-cantilever-joint\n",
 "sources": [
  {
   "publisher": "Xem Studio",
   "title": "Joinery design (geometry computed in the generator from traditional proportions)",
   "url": "https://xemstudio.com/",
   "formats": [
    "web"
   ],
   "license": "Xem Studio design",
   "license_verified": true,
   "hosted": false
  }
 ],
 "xem": {
  "status": "free-files",
  "sheet_free": true,
  "mesh_price_usd": null,
  "step_price_usd": null,
  "tolerance_mm": null
 },
 "related": [
  "jigsaw-puzzle-joint",
  "french-cleat"
 ],
 "fits": [],
 "dimensions": "exact (nominal, no printing tolerance)",
 "dimension_rule": "All geometry on Xem Studio is exact (nominal, true size) with no printing tolerance. Where a part meets another part, the object lists its mating features (feature, exact size, what it mates with, fit class: press, slide, run, socket, clamp or designed). Apply your process's allowance to those features only; 'designed' gaps are part of the design and stay as drawn.",
 "mating": [],
 "faq": [
  {
   "q": "How long should a snap-fit arm be?",
   "a": "Long enough that the hook undercut is a small share of its length: 18 mm for a 1.2 mm hook here."
  },
  {
   "q": "Which way should a snap-fit be printed?",
   "a": "With the arm lying flat along the bed, so the layers run along the arm."
  }
 ],
 "files_license": {
  "name": "Xem Studio Design License",
  "holder": "Xem Studio",
  "url": "https://xemstudio.com/license/",
  "note": "Xem Studio's own design: free to use, print, modify and sell things made from it; not to be republished or redistributed as files."
 },
 "offers": [
  {
   "file": "snap-fit-cantilever-joint-hook-part",
   "formats": [
    "step",
    "stl"
   ],
   "price_usd": 0,
   "license": "Xem Studio Design License",
   "step": "https://xemstudio.com/files/hardware/snap-fit-cantilever-joint/snap-fit-cantilever-joint-hook-part.step",
   "stl": "https://xemstudio.com/files/hardware/snap-fit-cantilever-joint/snap-fit-cantilever-joint-hook-part.stl",
   "note": "Part with the cantilever arm and hook"
  },
  {
   "file": "snap-fit-cantilever-joint-catch-part",
   "formats": [
    "step",
    "stl"
   ],
   "price_usd": 0,
   "license": "Xem Studio Design License",
   "step": "https://xemstudio.com/files/hardware/snap-fit-cantilever-joint/snap-fit-cantilever-joint-catch-part.step",
   "stl": "https://xemstudio.com/files/hardware/snap-fit-cantilever-joint/snap-fit-cantilever-joint-catch-part.stl",
   "note": "Mating wall with the catch window"
  },
  {
   "file": "snap-fit-cantilever-joint-assembled",
   "formats": [
    "step",
    "stl"
   ],
   "price_usd": 0,
   "license": "Xem Studio Design License",
   "step": "https://xemstudio.com/files/hardware/snap-fit-cantilever-joint/snap-fit-cantilever-joint-assembled.step",
   "stl": "https://xemstudio.com/files/hardware/snap-fit-cantilever-joint/snap-fit-cantilever-joint-assembled.stl",
   "note": "All parts in their assembled position (each part its own solid)"
  }
 ],
 "markdown": "https://xemstudio.com/objects/snap-fit-cantilever-joint/index.md"
}