{
  "schema": "cad-agent-catalog-area/1",
  "origin": "https://cad-agent.valpatel.com",
  "revision": "3a4ec137a2a7cf52fa6072b5bc81b7e320d49701",
  "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": "mechanisms",
  "title": "Mechanisms",
  "scope": "Joints, linkages, motor mounts and the motion between parts.",
  "maturity": "tooling",
  "level": "area",
  "domain": "mechanical",
  "priority": [
    "demo"
  ],
  "projects": [
    "gyropup"
  ],
  "issues": [],
  "topics": [
    {
      "slug": "motor-mounts",
      "title": "Motor mounts",
      "scope": "Bolt circles, pilots and load paths for bought actuators and motors.",
      "maturity": "idea",
      "issues": [
        "https://github.com/Valpatel/cad-agent/issues/144"
      ]
    },
    {
      "slug": "linkages",
      "title": "Linkages",
      "scope": "Four- and five-bar position, workspace and transmission angle.",
      "maturity": "tooling",
      "issues": [
        "https://github.com/Valpatel/cad-agent/issues/187"
      ]
    },
    {
      "slug": "range-of-motion",
      "title": "Range-of-motion clearance",
      "scope": "Moving parts that do not hit each other at any sampled pose, and swept-volume cutters that clear them.",
      "maturity": "tooling",
      "issues": [
        "https://github.com/Valpatel/cad-agent/issues/251"
      ]
    },
    {
      "slug": "joints-and-bearings",
      "title": "Joints and bearings",
      "scope": "Pivots, bearing seats, shafts and their fits.",
      "maturity": "tooling",
      "issues": [
        "https://github.com/Valpatel/cad-agent/issues/97"
      ]
    },
    {
      "slug": "rolling-bearings",
      "title": "Rolling bearings",
      "scope": "Ball and roller bearings: ISO 281 life turning or oscillating, duty cycles, ISO 76 static safety, axial load and speed limits.",
      "maturity": "tooling",
      "issues": [
        "https://github.com/Valpatel/cad-agent/issues/180"
      ]
    }
  ],
  "count": 14,
  "kinds": {
    "demo": 4,
    "tool": 2,
    "project": 2,
    "guide": 5,
    "skill": 1
  },
  "page": "https://cad-agent.valpatel.com/catalog?area=mechanisms",
  "index": "https://cad-agent.valpatel.com/catalog/index.json",
  "items": [
    {
      "type": "demo",
      "status": "ours",
      "name": "Four-bar linkage animator",
      "url": "https://cad-agent.valpatel.com/docs/linkages#try-it-the-four-bar-animator",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/linkages.md",
      "id": "demo-fourbar-animator",
      "kind": "demo",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "Set four link lengths and watch the crank turn or lock, both assemblies and the transmission angle against 40°.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/formulas/fourbar-animator.svg",
      "demo": "https://cad-agent.valpatel.com/docs/linkages#try-it-the-four-bar-animator",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "interactive"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Five-bar leg sweep",
      "url": "https://cad-agent.valpatel.com/docs/linkages#sweeping-a-closed-loop-four-bars-and-five-bars",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/linkages.md",
      "id": "demo-fivebar-sweep",
      "kind": "demo",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "A five-bar leg's foot driven round a stride, on its map of crank angles with the lock a symmetric sweep runs into.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/linkages-fivebar.svg",
      "demo": "https://cad-agent.valpatel.com/docs/linkages#sweeping-a-closed-loop-four-bars-and-five-bars",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/linkages/fivebar.svg"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Hinge sweep and collision onset",
      "url": "https://cad-agent.valpatel.com/docs/gates#motion-range-interference-cadagentreviewgatesmotion",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/gates.md",
      "id": "demo-hinge-sweep",
      "kind": "demo",
      "areas": [
        "mechanisms",
        "design-process"
      ],
      "maturity": "tooling",
      "what": "A gate arm swept through its range; the first pose that hits the frame is bisected to a hundredth of a degree.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-hinge-sweep.svg",
      "demo": "https://cad-agent.valpatel.com/docs/gates#motion-range-interference-cadagentreviewgatesmotion",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/hinge-sweep.svg"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Rendered motion against the CAD",
      "url": "https://cad-agent.valpatel.com/docs/rendered-motion",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/rendered-motion.md",
      "id": "demo-motion-trace",
      "kind": "demo",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "What a renderer drew at every required pose, checked against the CAD; one that spins a rotor about the wrong pivot fails.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/motion-motion-trace.svg",
      "demo": "https://cad-agent.valpatel.com/docs/rendered-motion",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/motion/motion-trace.svg"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent bearings",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "how": "cad-agent bearings --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/bearings.md",
      "doc": "https://cad-agent.valpatel.com/docs/bearings",
      "id": "tool-bearings",
      "kind": "tool",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "Check rolling bearings declared in a YAML/JSON file: life, static safety, axial load and speed, turning or oscillating (docs/bearings.md)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/bearings/life-load.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-02"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent motion-trace",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "how": "cad-agent motion-trace --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/rendered-motion.md",
      "doc": "https://cad-agent.valpatel.com/docs/rendered-motion",
      "id": "tool-motion-trace",
      "kind": "tool",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "Validate rendered joint pivots against independent CAD landmarks",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-motion-trace.svg",
      "demo": "https://cad-agent.valpatel.com/docs/rendered-motion",
      "licence_family": "permissive",
      "updated": "2026-11-02"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "Pan-Chera/Multi-Agent-CAD",
      "url": "https://github.com/Pan-Chera/Multi-Agent-CAD",
      "policy": "may incorporate with attribution",
      "license": "MIT",
      "stars": 1048,
      "last_push": "2026-10-17",
      "id": "project-pan-chera-multi-agent-cad",
      "kind": "project",
      "areas": [
        "mechanisms",
        "3d-printing"
      ],
      "maturity": "tooling",
      "what": "Multi-agent text-to-CAD in build123d for single parts and, as a preview, multi-part assemblies",
      "notes": "assembly generation is a technology preview",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-pan-chera-multi-agent-cad.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-10-17"
    },
    {
      "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": "doc",
      "status": "ours",
      "name": "Tools: the cad-agent command and Python package",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/toolkit.md",
      "id": "guide-toolkit",
      "kind": "guide",
      "areas": [
        "cad-modelling",
        "mechanisms",
        "cross-cutting"
      ],
      "maturity": "tooling",
      "what": "cad-agent is a toolkit for agents doing hardware design, in the six domains of the topic tree: mechanical design, manufacturing, thermal, simulation and validation, electrical design, and practice…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/gates/bench-sections.webp",
      "demo": "https://cad-agent.valpatel.com/docs/toolkit#mating-connectors-cadagentmechanicalconnectors-standard-practice-for-every-port",
      "licence_family": "permissive",
      "updated": "2026-11-02"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Rolling bearings",
      "url": "https://cad-agent.valpatel.com/docs/bearings",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/bearings.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/bearings.md",
      "id": "guide-bearings",
      "kind": "guide",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "A ball or roller bearing in a design has to last, stand its peak loads without denting, take the axial load its type allows and run below its speed limits.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/bearings/checks.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Printed load-bearing joints",
      "url": "https://cad-agent.valpatel.com/docs/printed-joints",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/printed-joints.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/printed-joints.md",
      "id": "guide-printed-joints",
      "kind": "guide",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "A printed part that carries load usually fails at a joint: an eye round a pin, the root of a boss, a screw.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/joints/eye.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-02"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Linkages",
      "url": "https://cad-agent.valpatel.com/docs/linkages",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/linkages.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/linkages.md",
      "id": "guide-linkages",
      "kind": "guide",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "A four-bar is the simplest closed linkage: an input crank a, a coupler b, an output rocker c and the ground d between the two fixed pivots.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-linkages.svg",
      "demo": "https://cad-agent.valpatel.com/docs/linkages#try-it-the-four-bar-animator",
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Rendered joint motion validation",
      "url": "https://cad-agent.valpatel.com/docs/rendered-motion",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/rendered-motion.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/rendered-motion.md",
      "id": "guide-rendered-motion",
      "kind": "guide",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "The maintained trace protocol ships with the cad-motion-validation skill, including when the workflow installer copies the skill to a different machine.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-rendered-motion.svg",
      "demo": "https://cad-agent.valpatel.com/docs/rendered-motion#rendered-joint-motion-validation",
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "skill",
      "status": "ours",
      "name": "cad-motion-validation",
      "url": "https://cad-agent.valpatel.com/skills/cad-motion-validation/SKILL",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/skills/cad-motion-validation/SKILL.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/skills/cad-motion-validation/SKILL.md",
      "id": "skill-cad-motion-validation",
      "kind": "skill",
      "areas": [
        "mechanisms"
      ],
      "maturity": "tooling",
      "what": "Use when implementing or reviewing articulated CAD viewers and robot simulations, especially parts orbiting away from shafts, mismatched units or frames, nested joints, and stationary housings that…",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/skill-cad-motion-validation.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-10-31"
    }
  ]
}
