{
  "schema": "cad-agent-catalog-area/1",
  "origin": "https://cad-agent.valpatel.com",
  "revision": "5911faa4c077eb211b1dc042cfbe02a68c0ed0cf",
  "fields": {
    "level": "domain, area or bucket",
    "domain": "areas: the domain it belongs to",
    "priority": "demo (a good demo)",
    "projects": "areas: keys of the projects in docs/areas.yaml (areas_source) that used it",
    "issues": "GitHub issues for work in this area",
    "topics": "areas: its topics, with scope, maturity and issues",
    "areas": "domains: its areas",
    "count": "entries here",
    "kinds": "count per kind",
    "items": "every entry placed here (a domain holds its areas' entries): the fields of catalog.json without summary and related"
  },
  "item_fields": "https://cad-agent.valpatel.com/catalog.json (fields)",
  "slug": "fasteners-and-hardware",
  "title": "Fasteners, bought hardware and assembly",
  "scope": "Screws, inserts and other bought parts, and getting them in and out.",
  "maturity": "tooling",
  "level": "area",
  "domain": "mechanical",
  "priority": [],
  "projects": [],
  "issues": [
    "https://github.com/Valpatel/cad-agent/issues/46"
  ],
  "topics": [
    {
      "slug": "fasteners",
      "title": "Fasteners",
      "scope": "Screw stacks, engagement, bottoming and hole clearance.",
      "maturity": "tooling",
      "issues": []
    },
    {
      "slug": "screw-bosses",
      "title": "Screw bosses",
      "scope": "Thread-forming screws in printed bosses: clamp, stripping, torque window, wall.",
      "maturity": "tooling",
      "issues": [
        "https://github.com/Valpatel/cad-agent/issues/161"
      ]
    },
    {
      "slug": "bought-parts",
      "title": "Bought parts",
      "scope": "Real catalogue parts with their manufacturer models.",
      "maturity": "tooling",
      "issues": []
    },
    {
      "slug": "assembly-access",
      "title": "Assembly access",
      "scope": "Tool reach, insertion paths and subassembly order.",
      "maturity": "tooling",
      "issues": []
    }
  ],
  "count": 12,
  "kinds": {
    "demo": 3,
    "tool": 2,
    "project": 2,
    "library": 2,
    "guide": 2,
    "skill": 1
  },
  "page": "https://cad-agent.valpatel.com/catalog?area=fasteners-and-hardware",
  "index": "https://cad-agent.valpatel.com/catalog/index.json",
  "items": [
    {
      "type": "demo",
      "status": "ours",
      "name": "Screw-boss explorer",
      "url": "https://cad-agent.valpatel.com/docs/screw-bosses#try-it-the-screw-boss-explorer",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/screw-bosses.md",
      "id": "demo-screw-boss-explorer",
      "kind": "demo",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "A thread-forming screw in a printed boss, its clamp, where the thread strips, and the torque window.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/fasteners/screw-boss-explorer.svg",
      "demo": "https://cad-agent.valpatel.com/docs/screw-bosses#try-it-the-screw-boss-explorer",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "interactive"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Rib in a counterbore",
      "url": "https://cad-agent.valpatel.com/docs/common-issues#geometry-and-modelling",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/common-issues.md",
      "id": "demo-rib-in-counterbore",
      "kind": "demo",
      "areas": [
        "fasteners-and-hardware",
        "review-and-evidence"
      ],
      "maturity": "tooling",
      "what": "Why every hole is cut last; a rib added after the holes refills the counterbore, and the hole check finds it.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-rib-in-counterbore.svg",
      "demo": "https://cad-agent.valpatel.com/docs/common-issues#geometry-and-modelling",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/rib-in-counterbore.svg"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Module insertion",
      "url": "https://cad-agent.valpatel.com/docs/subassembly-insertion#rigid-subassembly-insertion",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/subassembly-insertion.md",
      "id": "demo-module-insertion",
      "kind": "demo",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "A preassembled module checked on its bench, then inserted into its parent as one body and withdrawn.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-module-insertion.svg",
      "demo": "https://cad-agent.valpatel.com/docs/subassembly-insertion#rigid-subassembly-insertion",
      "licence_family": "permissive",
      "updated": "2026-10-31",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/module-insertion.svg"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent holes",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "how": "cad-agent holes --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#holes-clear",
      "id": "tool-holes",
      "kind": "tool",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "Check every hole of every part (exports/<part>.step) is clear of material: ribs or bosses added after the holes",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-rib-in-counterbore-at-80.svg",
      "demo": "https://cad-agent.valpatel.com/docs/common-issues#geometry-and-modelling",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/rib-in-counterbore.svg"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent mcmaster",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "how": "cad-agent mcmaster --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/skills/mcmaster-parts/SKILL.md",
      "doc": "https://cad-agent.valpatel.com/skills/mcmaster-parts/SKILL",
      "id": "tool-mcmaster",
      "kind": "tool",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "Download McMaster-Carr STEP + product data per part number and normalise it (one page at a time; skills/mcmaster-parts/SKILL.md)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-mcmaster.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "ballerabdude/agent-cad-works",
      "url": "https://github.com/ballerabdude/agent-cad-works",
      "policy": "may incorporate with attribution; ideas for motion sweeps and vendor-STEP fit",
      "license": "Apache-2.0",
      "stars": 1,
      "last_push": "2026-10-26",
      "id": "project-ballerabdude-agent-cad-works",
      "kind": "project",
      "areas": [
        "mechanisms",
        "3d-printing",
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "build123d workflow that sweeps motion for collisions, checks printability, slices in Orca and fits vendor STEP",
      "notes": "build123d motion sweep, watertight/mid-air checks, Orca times, BOM",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-ballerabdude-agent-cad-works.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-10-26"
    },
    {
      "type": "upstream",
      "status": "rejected",
      "name": "heartland-eng/bd_hardware",
      "url": "https://github.com/heartland-eng/bd_hardware",
      "policy": "ideas only (no licence, README only)",
      "license": "none",
      "stars": 0,
      "last_push": "2026-10-28",
      "id": "project-heartland-eng-bd-hardware",
      "kind": "project",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "Planned build123d library of holes, insert pockets, nut traps and snap fits; the repo has only a README",
      "notes": "claims a build123d snap-fit feature library; no code yet",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-heartland-eng-bd-hardware.svg",
      "demo": null,
      "licence_family": "other",
      "updated": "2026-10-28"
    },
    {
      "type": "library",
      "status": "reference",
      "name": "partcad/partcad",
      "url": "https://github.com/partcad/partcad",
      "license": "Apache-2.0",
      "stars": 509,
      "last_push": "2026-10-24",
      "id": "library-partcad-partcad",
      "kind": "library",
      "areas": [
        "fasteners-and-hardware",
        "design-process"
      ],
      "maturity": "tooling",
      "what": "Package format and manager for CAD parts and assemblies, with BOMs, sourcing and assembly instructions",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/library-partcad-partcad.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-10-24"
    },
    {
      "type": "library",
      "status": "reference",
      "name": "gumyr/bd_warehouse",
      "url": "https://github.com/gumyr/bd_warehouse",
      "license": "Apache-2.0",
      "stars": 112,
      "last_push": "2026-10-18",
      "id": "library-gumyr-bd-warehouse",
      "kind": "library",
      "areas": [
        "fasteners-and-hardware",
        "gears",
        "belt-and-chain-drives"
      ],
      "maturity": "tooling",
      "what": "Parametric part collection for build123d: fasteners, threads, bearings, gears, sprockets, pipes, flanges",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/library-gumyr-bd-warehouse.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-10-18"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Screw bosses for printed parts",
      "url": "https://cad-agent.valpatel.com/docs/screw-bosses",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/screw-bosses.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/screw-bosses.md",
      "id": "guide-screw-bosses",
      "kind": "guide",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "A thread-forming screw, such as an EJOT DELTA PT, makes its own thread in a plain hole in a plastic boss.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-screw-bosses.svg",
      "demo": "https://cad-agent.valpatel.com/docs/screw-bosses#try-it-the-screw-boss-explorer",
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Rigid subassembly insertion",
      "url": "https://cad-agent.valpatel.com/docs/subassembly-insertion",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/subassembly-insertion.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/subassembly-insertion.md",
      "id": "guide-subassembly-insertion",
      "kind": "guide",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "A preassembled module needs two separately checked sequences: its internal bench assembly and its insertion into the parent.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-subassembly-insertion.svg",
      "demo": "https://cad-agent.valpatel.com/docs/subassembly-insertion#rigid-subassembly-insertion",
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "skill",
      "status": "ours",
      "name": "mcmaster-parts",
      "url": "https://cad-agent.valpatel.com/skills/mcmaster-parts/SKILL",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/skills/mcmaster-parts/SKILL.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/skills/mcmaster-parts/SKILL.md",
      "id": "skill-mcmaster-parts",
      "kind": "skill",
      "areas": [
        "fasteners-and-hardware"
      ],
      "maturity": "tooling",
      "what": "Use for any bought hardware in a CAD design (bearings, screws, nuts, washers, heat-set inserts, dowel and shoulder pins, standoffs and spacers, rod ends, threaded rod, grommets).",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/skill-mcmaster-parts.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    }
  ]
}
