{
 "commands": [
  {
   "command": "parameters.add",
   "params": {
    "name": "knob_d",
    "expression": "30 mm",
    "comment": "knob outer diameter, 16 .. 80 mm",
    "favorite": true
   }
  },
  {
   "command": "parameters.add",
   "params": {
    "name": "knob_h",
    "expression": "14 mm",
    "comment": "knob height, nut_depth + 4 mm .. 40 mm",
    "favorite": true
   }
  },
  {
   "command": "parameters.add",
   "params": {
    "name": "nut_af",
    "expression": "10 mm",
    "comment": "hex nut pocket across flats (M6 nut = 10 mm), 5 mm .. knob_d - 10 mm",
    "favorite": true
   }
  },
  {
   "command": "parameters.add",
   "params": {
    "name": "nut_depth",
    "expression": "5 mm",
    "comment": "hex nut pocket depth from the bottom face, 1 mm .. knob_h - 4 mm",
    "favorite": true
   }
  },
  {
   "command": "parameters.add",
   "params": {
    "name": "bore_d",
    "expression": "6.5 mm",
    "comment": "through hole diameter, 2 mm .. nut_af - 1 mm",
    "favorite": true
   }
  },
  {
   "command": "parameters.add",
   "params": {
    "name": "top_fillet",
    "expression": "2 mm",
    "comment": "top outer edge fillet radius, 0.5 .. 4 mm",
    "favorite": true
   }
  },
  {
   "command": "parameters.add",
   "params": {
    "name": "knurl_end_depth",
    "expression": "0.5 mm",
    "comment": "90 deg V-groove depth at the bottom and top of the knurl band, 0.3 .. 1 mm"
   }
  },
  {
   "command": "parameters.add",
   "params": {
    "name": "band_h",
    "expression": "knob_h - top_fillet - 1 mm",
    "comment": "derived: height of the knurled band; the crown above it is smooth and carries the fillet"
   }
  },
  {
   "command": "parameters.add",
   "params": {
    "name": "knurl_apex_r",
    "expression": "sqrt((knob_d/2 - knurl_end_depth)^2 - (band_h/2 * tan(30 deg))^2)",
    "comment": "derived: closest approach of each straight 30 deg groove to the axis; mid-band depth = knob_d/2 - knurl_apex_r"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": "XY",
    "name": "BandSketch"
   }
  },
  {
   "command": "sketch.arc.center_point",
   "params": {
    "center": "origin",
    "start": [
     "knob_d/2*cos(7.0 deg)",
     "knob_d/2*sin(7.0 deg)"
    ],
    "end": [
     "knob_d/2*cos(37.0 deg)",
     "knob_d/2*sin(37.0 deg)"
    ]
   }
  },
  {
   "command": "sketch.arc.center_point",
   "params": {
    "center": "origin",
    "start": [
     "knob_d/2*cos(37.0 deg)",
     "knob_d/2*sin(37.0 deg)"
    ],
    "end": [
     "knob_d/2*cos(67.0 deg)",
     "knob_d/2*sin(67.0 deg)"
    ]
   }
  },
  {
   "command": "sketch.arc.center_point",
   "params": {
    "center": "origin",
    "start": [
     "knob_d/2*cos(67.0 deg)",
     "knob_d/2*sin(67.0 deg)"
    ],
    "end": [
     "knob_d/2*cos(97.0 deg)",
     "knob_d/2*sin(97.0 deg)"
    ]
   }
  },
  {
   "command": "sketch.arc.center_point",
   "params": {
    "center": "origin",
    "start": [
     "knob_d/2*cos(97.0 deg)",
     "knob_d/2*sin(97.0 deg)"
    ],
    "end": [
     "knob_d/2*cos(127.00000000000001 deg)",
     "knob_d/2*sin(127.00000000000001 deg)"
    ]
   }
  },
  {
   "command": "sketch.arc.center_point",
   "params": {
    "center": "origin",
    "start": [
     "knob_d/2*cos(127.00000000000001 deg)",
     "knob_d/2*sin(127.00000000000001 deg)"
    ],
    "end": [
     "knob_d/2*cos(157.0 deg)",
     "knob_d/2*sin(157.0 deg)"
    ]
   }
  },
  {
   "command": "sketch.arc.center_point",
   "params": {
    "center": "origin",
    "start": [
     "knob_d/2*cos(157.0 deg)",
     "knob_d/2*sin(157.0 deg)"
    ],
    "end": [
     "knob_d/2*cos(187.0 deg)",
     "knob_d/2*sin(187.0 deg)"
    ]
   }
  },
  {
   "command": "sketch.arc.center_point",
   "params": {
    "center": "origin",
    "start": [
     "knob_d/2*cos(187.0 deg)",
     "knob_d/2*sin(187.0 deg)"
    ],
    "end": [
     "knob_d/2*cos(217.0 deg)",
     "knob_d/2*sin(217.0 deg)"
    ]
   }
  },
  {
   "command": "sketch.arc.center_point",
   "params": {
    "center": "origin",
    "start": [
     "knob_d/2*cos(217.0 deg)",
     "knob_d/2*sin(217.0 deg)"
    ],
    "end": [
     "knob_d/2*cos(247.0 deg)",
     "knob_d/2*sin(247.0 deg)"
    ]
   }
  },
  {
   "command": "sketch.arc.center_point",
   "params": {
    "center": "origin",
    "start": [
     "knob_d/2*cos(247.0 deg)",
     "knob_d/2*sin(247.0 deg)"
    ],
    "end": [
     "knob_d/2*cos(277.0 deg)",
     "knob_d/2*sin(277.0 deg)"
    ]
   }
  },
  {
   "command": "sketch.arc.center_point",
   "params": {
    "center": "origin",
    "start": [
     "knob_d/2*cos(277.0 deg)",
     "knob_d/2*sin(277.0 deg)"
    ],
    "end": [
     "knob_d/2*cos(307.0 deg)",
     "knob_d/2*sin(307.0 deg)"
    ]
   }
  },
  {
   "command": "sketch.arc.center_point",
   "params": {
    "center": "origin",
    "start": [
     "knob_d/2*cos(307.0 deg)",
     "knob_d/2*sin(307.0 deg)"
    ],
    "end": [
     "knob_d/2*cos(337.0 deg)",
     "knob_d/2*sin(337.0 deg)"
    ]
   }
  },
  {
   "command": "sketch.arc.center_point",
   "params": {
    "center": "origin",
    "start": [
     "knob_d/2*cos(337.0 deg)",
     "knob_d/2*sin(337.0 deg)"
    ],
    "end": [
     "knob_d/2*cos(367.0 deg)",
     "knob_d/2*sin(367.0 deg)"
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "distance": "band_h",
    "name": "Band",
    "body_name": "Knob"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      1.0,
      0.0,
      0
     ],
     "y_dir": [
      -0.0,
      0.866025403784,
      -0.5
     ]
    },
    "name": "GrooveRight01Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight01Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight01"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.951056516295,
      0.309016994375,
      0
     ],
     "y_dir": [
      -0.26761656733,
      0.823639103546,
      -0.5
     ]
    },
    "name": "GrooveRight02Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight02Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight02"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.809016994375,
      0.587785252292,
      0
     ],
     "y_dir": [
      -0.509036960455,
      0.700629269222,
      -0.5
     ]
    },
    "name": "GrooveRight03Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight03Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight03"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.587785252292,
      0.809016994375,
      0
     ],
     "y_dir": [
      -0.700629269222,
      0.509036960455,
      -0.5
     ]
    },
    "name": "GrooveRight04Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight04Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight04"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.309016994375,
      0.951056516295,
      0
     ],
     "y_dir": [
      -0.823639103546,
      0.26761656733,
      -0.5
     ]
    },
    "name": "GrooveRight05Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight05Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight05"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.0,
      1.0,
      0
     ],
     "y_dir": [
      -0.866025403784,
      0.0,
      -0.5
     ]
    },
    "name": "GrooveRight06Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight06Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight06"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.309016994375,
      0.951056516295,
      0
     ],
     "y_dir": [
      -0.823639103546,
      -0.26761656733,
      -0.5
     ]
    },
    "name": "GrooveRight07Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight07Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight07"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.587785252292,
      0.809016994375,
      0
     ],
     "y_dir": [
      -0.700629269222,
      -0.509036960455,
      -0.5
     ]
    },
    "name": "GrooveRight08Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight08Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight08"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.809016994375,
      0.587785252292,
      0
     ],
     "y_dir": [
      -0.509036960455,
      -0.700629269222,
      -0.5
     ]
    },
    "name": "GrooveRight09Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight09Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight09"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.951056516295,
      0.309016994375,
      0
     ],
     "y_dir": [
      -0.26761656733,
      -0.823639103546,
      -0.5
     ]
    },
    "name": "GrooveRight10Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight10Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight10"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -1.0,
      0.0,
      0
     ],
     "y_dir": [
      -0.0,
      -0.866025403784,
      -0.5
     ]
    },
    "name": "GrooveRight11Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight11Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight11"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.951056516295,
      -0.309016994375,
      0
     ],
     "y_dir": [
      0.26761656733,
      -0.823639103546,
      -0.5
     ]
    },
    "name": "GrooveRight12Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight12Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight12"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.809016994375,
      -0.587785252292,
      0
     ],
     "y_dir": [
      0.509036960455,
      -0.700629269222,
      -0.5
     ]
    },
    "name": "GrooveRight13Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight13Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight13"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.587785252292,
      -0.809016994375,
      0
     ],
     "y_dir": [
      0.700629269222,
      -0.509036960455,
      -0.5
     ]
    },
    "name": "GrooveRight14Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight14Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight14"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.309016994375,
      -0.951056516295,
      0
     ],
     "y_dir": [
      0.823639103546,
      -0.26761656733,
      -0.5
     ]
    },
    "name": "GrooveRight15Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight15Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight15"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.0,
      -1.0,
      0
     ],
     "y_dir": [
      0.866025403784,
      -0.0,
      -0.5
     ]
    },
    "name": "GrooveRight16Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight16Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight16"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.309016994375,
      -0.951056516295,
      0
     ],
     "y_dir": [
      0.823639103546,
      0.26761656733,
      -0.5
     ]
    },
    "name": "GrooveRight17Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight17Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight17"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.587785252292,
      -0.809016994375,
      0
     ],
     "y_dir": [
      0.700629269222,
      0.509036960455,
      -0.5
     ]
    },
    "name": "GrooveRight18Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight18Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight18"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.809016994375,
      -0.587785252292,
      0
     ],
     "y_dir": [
      0.509036960455,
      0.700629269222,
      -0.5
     ]
    },
    "name": "GrooveRight19Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight19Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight19"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.951056516295,
      -0.309016994375,
      0
     ],
     "y_dir": [
      0.26761656733,
      0.823639103546,
      -0.5
     ]
    },
    "name": "GrooveRight20Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "-band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) + (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.3 mm",
      "-band_h/2*sin(30 deg) - (knob_d/2 + 0.3 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveRight20Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveRight20"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.987688340595,
      0.15643446504,
      0
     ],
     "y_dir": [
      -0.135476220752,
      0.855363193977,
      0.5
     ]
    },
    "name": "GrooveLeft01Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft01Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft01"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.891006524188,
      0.45399049974,
      0
     ],
     "y_dir": [
      -0.393167305851,
      0.771634284885,
      0.5
     ]
    },
    "name": "GrooveLeft02Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft02Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft02"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.707106781187,
      0.707106781187,
      0
     ],
     "y_dir": [
      -0.612372435696,
      0.612372435696,
      0.5
     ]
    },
    "name": "GrooveLeft03Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft03Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft03"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.45399049974,
      0.891006524188,
      0
     ],
     "y_dir": [
      -0.771634284885,
      0.393167305851,
      0.5
     ]
    },
    "name": "GrooveLeft04Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft04Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft04"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.15643446504,
      0.987688340595,
      0
     ],
     "y_dir": [
      -0.855363193977,
      0.135476220752,
      0.5
     ]
    },
    "name": "GrooveLeft05Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft05Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft05"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.15643446504,
      0.987688340595,
      0
     ],
     "y_dir": [
      -0.855363193977,
      -0.135476220752,
      0.5
     ]
    },
    "name": "GrooveLeft06Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft06Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft06"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.45399049974,
      0.891006524188,
      0
     ],
     "y_dir": [
      -0.771634284885,
      -0.393167305851,
      0.5
     ]
    },
    "name": "GrooveLeft07Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft07Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft07"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.707106781187,
      0.707106781187,
      0
     ],
     "y_dir": [
      -0.612372435696,
      -0.612372435696,
      0.5
     ]
    },
    "name": "GrooveLeft08Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft08Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft08"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.891006524188,
      0.45399049974,
      0
     ],
     "y_dir": [
      -0.393167305851,
      -0.771634284885,
      0.5
     ]
    },
    "name": "GrooveLeft09Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft09Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft09"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.987688340595,
      0.15643446504,
      0
     ],
     "y_dir": [
      -0.135476220752,
      -0.855363193977,
      0.5
     ]
    },
    "name": "GrooveLeft10Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft10Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft10"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.987688340595,
      -0.15643446504,
      0
     ],
     "y_dir": [
      0.135476220752,
      -0.855363193977,
      0.5
     ]
    },
    "name": "GrooveLeft11Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft11Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft11"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.891006524188,
      -0.45399049974,
      0
     ],
     "y_dir": [
      0.393167305851,
      -0.771634284885,
      0.5
     ]
    },
    "name": "GrooveLeft12Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft12Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft12"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.707106781187,
      -0.707106781187,
      0
     ],
     "y_dir": [
      0.612372435696,
      -0.612372435696,
      0.5
     ]
    },
    "name": "GrooveLeft13Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft13Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft13"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.45399049974,
      -0.891006524188,
      0
     ],
     "y_dir": [
      0.771634284885,
      -0.393167305851,
      0.5
     ]
    },
    "name": "GrooveLeft14Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft14Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft14"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      -0.15643446504,
      -0.987688340595,
      0
     ],
     "y_dir": [
      0.855363193977,
      -0.135476220752,
      0.5
     ]
    },
    "name": "GrooveLeft15Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft15Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft15"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.15643446504,
      -0.987688340595,
      0
     ],
     "y_dir": [
      0.855363193977,
      0.135476220752,
      0.5
     ]
    },
    "name": "GrooveLeft16Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft16Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft16"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.45399049974,
      -0.891006524188,
      0
     ],
     "y_dir": [
      0.771634284885,
      0.393167305851,
      0.5
     ]
    },
    "name": "GrooveLeft17Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft17Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft17"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.707106781187,
      -0.707106781187,
      0
     ],
     "y_dir": [
      0.612372435696,
      0.612372435696,
      0.5
     ]
    },
    "name": "GrooveLeft18Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft18Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft18"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.891006524188,
      -0.45399049974,
      0
     ],
     "y_dir": [
      0.393167305851,
      0.771634284885,
      0.5
     ]
    },
    "name": "GrooveLeft19Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft19Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft19"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": {
     "origin": [
      0,
      0,
      0
     ],
     "x_dir": [
      0.987688340595,
      -0.15643446504,
      0
     ],
     "y_dir": [
      0.135476220752,
      0.855363193977,
      0.5
     ]
    },
    "name": "GrooveLeft20Sketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "knurl_apex_r",
      "band_h/2*sin(30 deg)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) + (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ],
     [
      "knob_d/2 + 0.4 mm",
      "band_h/2*sin(30 deg) - (knob_d/2 + 0.4 mm - knurl_apex_r)"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "GrooveLeft20Sketch",
    "distance": "(band_h*7/8 + 1 mm)/cos(30 deg)",
    "distance2": "(band_h/8 + 1 mm)/cos(30 deg)",
    "operation": "cut",
    "targets": [
     "Knob"
    ],
    "name": "GrooveLeft20"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": "XY",
    "offset": "band_h",
    "name": "CrownSketch"
   }
  },
  {
   "command": "sketch.draw.dimensioned",
   "params": {
    "command": "sketch.circle.center",
    "params": {
     "center": [
      0,
      0
     ],
     "diameter": 30
    },
    "dimensions": {
     "diameter": "knob_d"
    }
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "CrownSketch",
    "distance": "knob_h - band_h",
    "operation": "join",
    "targets": [
     "Knob"
    ],
    "name": "Crown"
   }
  },
  {
   "command": "solid.fillet",
   "params": {
    "edges": [
     [
      15,
      0,
      14
     ]
    ],
    "radius": "top_fillet",
    "name": "TopFillet"
   }
  },
  {
   "command": "sketch.create",
   "params": {
    "plane": "XY",
    "offset": "-1 mm",
    "name": "HexSketch"
   }
  },
  {
   "command": "sketch.line",
   "params": {
    "closed": true,
    "points": [
     [
      "nut_af/sqrt(3)",
      0
     ],
     [
      "nut_af/(2*sqrt(3))",
      "nut_af/2"
     ],
     [
      "-nut_af/(2*sqrt(3))",
      "nut_af/2"
     ],
     [
      "-nut_af/sqrt(3)",
      0
     ],
     [
      "-nut_af/(2*sqrt(3))",
      "-nut_af/2"
     ],
     [
      "nut_af/(2*sqrt(3))",
      "-nut_af/2"
     ]
    ]
   }
  },
  {
   "command": "sketch.finish",
   "params": {}
  },
  {
   "command": "solid.extrude",
   "params": {
    "sketch": "HexSketch",
    "distance": "nut_depth + 1 mm",
    "operation": "cut",
    "name": "NutPocket"
   }
  },
  {
   "command": "solid.cylinder",
   "params": {
    "diameter": "bore_d",
    "height": "knob_h + 2 mm",
    "base": [
     0,
     0,
     "-1 mm"
    ],
    "operation": "cut",
    "name": "Bore"
   }
  }
 ]
}