{
  "metadata": {
    "id": "rev-41-1349-hex-shaft-5mm-135mm",
    "name": "REV 5mm x 135mm Hex Shaft",
    "type": "mechanical_shaft",
    "schema_version": "1.4.0",
    "version": "1.1",
    "manufacturer": "REV Robotics",
    "part_number": "REV-41-1349",
    "datasheet_url": "https://www.revrobotics.com/5mm-Hex-Shafts/",
    "description": "A 5 mm hex-profile shaft, 135 mm long. Commonly sold as a pack SKU variant (e.g., -PK4) depending on vendor.",
    "tags": [
      "shaft",
      "hex",
      "5mm",
      "135mm",
      "rev"
    ]
  },
  "domains": [
    {
      "domain": "mechanical",
      "dimensions_mm": {
        "length": 135,
        "width": 5,
        "height": 5
      },
      "resources": [
        {
          "id": "shaft",
          "name": "5mm hex shaft body",
          "description": "Hex-profile shaft used to transmit torque (5mm across flats).",
          "connector_type": "custom",
          "functions": [
            {
              "name": "mechanical_drive",
              "description": "Transmits rotational motion/torque through the shaft profile.",
              "direction": "bidirectional",
              "shareable_with": [
                "mechanical_drive"
              ],
              "priority": 1,
              "signal_class": "mechanical_drive"
            }
          ]
        }
      ],
      "interfaces": [
        {
          "id": "shaft-5mm-hex",
          "name": "5mm hex shaft interface",
          "description": "Coupling interface for hubs/gears/bearings on a 5mm hex shaft. Uses count:0 so it stays 1/Infinity but still binds to mechanical_drive for connection logic.",
          "protocol": {
            "type": "mechanical_rotation",
            "role": "shaft"
          },
          "requires": [
            {
              "function": "mechanical_drive",
              "count": 0
            }
          ]
        }
      ]
    }
  ]
}