burr 0.13.2

Design-rule checks for CAD-as-code workflows.
Documentation
{
  "schema_version": "burr.rulepack.v1",
  "id": "actuator_mount",
  "version": "0.8.0",
  "artifact_type": "actuator_mount",
  "process_kind": "FDM",
  "rules": [
    {
      "id": "m3_loaded_hole_edge_distance",
      "kind": "hole_edge_distance",
      "description": "Loaded M3 clearance holes in printed actuator mounts need enough edge material.",
      "applies_to": {
        "kind": "clearance_hole",
        "fastener": "M3",
        "intent_any": ["mechanical_interface"],
        "role_any": ["loaded_mount", "mount", "housing_mount"]
      },
      "min_center_to_edge_diameter_multiple": 3.0
    },
    {
      "id": "m3_clearance_hole_wall_thickness",
      "kind": "minimum_wall_thickness",
      "description": "M3 clearance holes in printed actuator mounts need printable wall material around the hole.",
      "applies_to": {
        "kind": "clearance_hole",
        "fastener": "M3",
        "intent_any": ["mechanical_interface"]
      },
      "min_wall_thickness_mm": 2.0
    },
    {
      "id": "m3_clearance_hole_step_presence",
      "kind": "feature_presence",
      "description": "Declared M3 clearance holes must exist as matching cylindrical geometry in the exported STEP artifact.",
      "applies_to": {
        "kind": "clearance_hole",
        "fastener": "M3",
        "intent_any": ["mechanical_interface"]
      },
      "artifact_kind": "step",
      "diameter_tolerance_mm": 0.05,
      "centerline_tolerance_mm": 0.25,
      "axis_dot_min": 0.99
    },
    {
      "id": "straight_slot_step_presence",
      "kind": "feature_presence",
      "description": "Declared straight slots must exist as matching endpoint-cylinder and side-plane geometry in the exported STEP artifact.",
      "applies_to": {
        "kind": "straight_slot",
        "intent_any": ["mechanical_interface"]
      },
      "artifact_kind": "step",
      "width_tolerance_mm": 0.05,
      "endpoint_tolerance_mm": 0.25,
      "side_plane_tolerance_mm": 0.25,
      "axis_dot_min": 0.99
    },
    {
      "id": "counterbore_step_presence",
      "kind": "feature_presence",
      "description": "Declared counterbores must exist as matching bore, counterbore, and shoulder-plane geometry in the exported STEP artifact.",
      "applies_to": {
        "kind": "counterbore",
        "intent_any": ["mechanical_interface"]
      },
      "artifact_kind": "step",
      "bore_diameter_tolerance_mm": 0.05,
      "counterbore_diameter_tolerance_mm": 0.05,
      "centerline_tolerance_mm": 0.25,
      "counterbore_center_tolerance_mm": 0.5,
      "shoulder_plane_tolerance_mm": 0.25,
      "axis_dot_min": 0.99
    },
    {
      "id": "heat_set_insert_pocket_step_presence",
      "kind": "feature_presence",
      "description": "Declared heat-set insert pockets must exist as matching blind pocket cylindrical and bottom-plane geometry in the exported STEP artifact.",
      "applies_to": {
        "kind": "heat_set_insert_pocket",
        "intent_any": ["mechanical_interface"]
      },
      "artifact_kind": "step",
      "pocket_diameter_tolerance_mm": 0.05,
      "centerline_tolerance_mm": 0.25,
      "pocket_center_tolerance_mm": 0.5,
      "bottom_plane_tolerance_mm": 0.25,
      "axis_dot_min": 0.99
    },
    {
      "id": "bearing_seat_step_presence",
      "kind": "feature_presence",
      "description": "Declared bearing seats must exist as matching seat cylindrical and shoulder-plane geometry in the exported STEP artifact.",
      "applies_to": {
        "kind": "bearing_seat",
        "intent_any": ["mechanical_interface"]
      },
      "artifact_kind": "step",
      "seat_diameter_tolerance_mm": 0.05,
      "centerline_tolerance_mm": 0.25,
      "seat_center_tolerance_mm": 0.5,
      "shoulder_plane_tolerance_mm": 0.25,
      "axis_dot_min": 0.99
    }
  ]
}