# No. 202 (Brown 1868): "Worm or endless screw and worm-wheel. Modification of 31, used when steadiness or great power is required."
#
# Model (cm; drawing plane x-z, depth y): as in the plate, the worm-wheel stands face-on, 40 teeth of module 0.5 (pitch radius 10, face 0.8), on a
# shaft along y; under it lies the worm along x, 11.6 below the wheel's centre. Unlike No. 31's straight screw, this worm is an hour-glass: its thread is
# curved round the wheel's pitch circle, so that it holds 4.6 teeth' worth of the rim (+-20.6 deg) at once instead of one or
# two, the steadiness and power the text speaks of. Pitch radius 1.6 at the throat, rising to 2.24 at the ends. The thread is 110 convex
# segments (`loft` pieces, 24 a turn, 4.58 turns): at worm angle t its section is the wheel's tooth space (20-deg flanks, 0.620 thick on the pitch
# circle) set on the wheel's radius at angle (t - 90 deg) / 40, carried round the worm axis. Fully physical: only the worm's shaft is driven (60 rpm); the
# wheel touches nothing but the thread, one tooth per worm turn, a ratio of 1/40. Generator: opencode-runs/batch11/gen202.py.
number: 202
slug: hourglass-worm
name: Hour-glass worm and worm-wheel
brown: "Worm or endless screw and worm-wheel. Modification of 31, used when steadiness or great power is required."
units: cm
sim:
  timestep: 0.0002
  integrator: implicitfast
  iterations: 100
  solver: CG
  multiccd: true
  duration_s: 6.0
  floor: false
bodies:
  - {id: wheel, shape: assembly, pos: [0, 0, 0], color: "#e8dec6"}
  - id: worm
    shape: part
    pos: [0, 0, -11.6]
    density: 7800
    friction: 0.1
    color: "#e4d9bf"
    pieces:
      - {kind: rod, from: [-3.52274, 0, -11.6], to: [-2.93562, 0, -11.6], radius: 1.4576, collide: 0}
      - {kind: rod, from: [-2.93562, 0, -11.6], to: [-2.34849, 0, -11.6], radius: 1.28873, collide: 0}
      - {kind: rod, from: [-2.34849, 0, -11.6], to: [-1.76137, 0, -11.6], radius: 1.15561, collide: 0}
      - {kind: rod, from: [-1.76137, 0, -11.6], to: [-1.17425, 0, -11.6], radius: 1.05687, collide: 0}
      - {kind: rod, from: [-1.17425, 0, -11.6], to: [-0.58712, 0, -11.6], radius: 0.99156, collide: 0}
      - {kind: rod, from: [-0.58712, 0, -11.6], to: [0.0, 0, -11.6], radius: 0.95906, collide: 0}
      - {kind: rod, from: [0.0, 0, -11.6], to: [0.58712, 0, -11.6], radius: 0.95906, collide: 0}
      - {kind: rod, from: [0.58712, 0, -11.6], to: [1.17425, 0, -11.6], radius: 0.99156, collide: 0}
      - {kind: rod, from: [1.17425, 0, -11.6], to: [1.76137, 0, -11.6], radius: 1.05687, collide: 0}
      - {kind: rod, from: [1.76137, 0, -11.6], to: [2.34849, 0, -11.6], radius: 1.15561, collide: 0}
      - {kind: rod, from: [2.34849, 0, -11.6], to: [2.93562, 0, -11.6], radius: 1.28873, collide: 0}
      - {kind: rod, from: [2.93562, 0, -11.6], to: [3.52274, 0, -11.6], radius: 1.4576, collide: 0}
      - {kind: rod, from: [-9.52274, 0, -11.6], to: [9.52274, 0, -11.6], radius: 0.5, collide: 0}   # its shaft
      - {kind: loft, a: [[-4.24613, 1.78213, -12.07949], [-3.2397, 1.41632, -11.98107], [-3.22661, 2.57233, -12.29211], [-3.4666, 2.65956, -12.31558]], b: [[-4.18219, 1.81792, -11.60188], [-3.17331, 1.4457, -11.60149], [-3.16805, 2.64289, -11.60273], [-3.40863, 2.73165, -11.60282]], collide: 1}
      - {kind: loft, a: [[-4.18219, 1.81792, -11.60188], [-3.17331, 1.4457, -11.60149], [-3.16805, 2.64289, -11.60273], [-3.40863, 2.73165, -11.60282]], b: [[-4.11808, 1.73022, -11.1383], [-3.10678, 1.37697, -11.23257], [-3.10936, 2.53369, -10.92391], [-3.35051, 2.61793, -10.90143]], collide: 1}
      - {kind: loft, a: [[-4.11808, 1.73022, -11.1383], [-3.10678, 1.37697, -11.23257], [-3.10936, 2.53369, -10.92391], [-3.35051, 2.61793, -10.90143]], b: [[-4.05379, 1.5286, -10.71957], [-3.04012, 1.21752, -10.89874], [-3.05054, 2.2549, -10.30124], [-3.29226, 2.32908, -10.25851]], collide: 1}
      - {kind: loft, a: [[-4.05379, 1.5286, -10.71957], [-3.04012, 1.21752, -10.89874], [-3.05054, 2.2549, -10.30124], [-3.29226, 2.32908, -10.25851]], b: [[-3.98933, 1.23001, -10.37253], [-2.97333, 0.9806, -10.62142], [-2.99158, 1.82793, -9.77585], [-3.23385, 1.8874, -9.7165]], collide: 1}
      - {kind: loft, a: [[-3.98933, 1.23001, -10.37253], [-2.97333, 0.9806, -10.62142], [-2.99158, 1.82793, -9.77585], [-3.23385, 1.8874, -9.7165]], b: [[-3.9247, 0.85743, -10.11842], [-2.90641, 0.68428, -10.41762], [-2.9325, 1.28381, -9.38168], [-3.17532, 1.3251, -9.31033]], collide: 1}
      - {kind: loft, a: [[-3.9247, 0.85743, -10.11842], [-2.90641, 0.68428, -10.41762], [-2.9325, 1.28381, -9.38168], [-3.17532, 1.3251, -9.31033]], b: [[-3.85989, 0.43814, -9.97159], [-2.83937, 0.35005, -10.29896], [-2.87329, 0.66098, -9.14334], [-3.11664, 0.68199, -9.06528]], collide: 1}
      - {kind: loft, a: [[-3.85989, 0.43814, -9.97159], [-2.83937, 0.35005, -10.29896], [-2.87329, 0.66098, -9.14334], [-3.11664, 0.68199, -9.06528]], b: [[-3.79493, 0.00172, -9.93873], [-2.77221, 0.00137, -10.27106], [-2.81396, 0.00261, -9.07459], [-3.05783, 0.00269, -8.99534]], collide: 1}
      - {kind: loft, a: [[-3.79493, 0.00172, -9.93873], [-2.77221, 0.00137, -10.27106], [-2.81396, 0.00261, -9.07459], [-3.05783, 0.00269, -8.99534]], b: [[-3.7298, -0.42196, -10.01868], [-2.70492, -0.33801, -10.3333], [-2.7545, -0.64641, -9.17757], [-2.99889, -0.66643, -9.10254]], collide: 1}
      - {kind: loft, a: [[-3.7298, -0.42196, -10.01868], [-2.70492, -0.33801, -10.3333], [-2.7545, -0.64641, -9.17757], [-2.99889, -0.66643, -9.10254]], b: [[-3.66451, -0.80478, -10.20274], [-2.63752, -0.64561, -10.4791], [-2.69493, -1.24245, -9.44287], [-2.93983, -1.28041, -9.37697]], collide: 1}
      - {kind: loft, a: [[-3.66451, -0.80478, -10.20274], [-2.63752, -0.64561, -10.4791], [-2.69493, -1.24245, -9.44287], [-2.93983, -1.28041, -9.37697]], b: [[-3.59906, -1.12221, -10.47547], [-2.57001, -0.90168, -10.69645], [-2.63525, -1.7461, -9.85029], [-2.88063, -1.79869, -9.79759]], collide: 1}
      - {kind: loft, a: [[-3.59906, -1.12221, -10.47547], [-2.57001, -0.90168, -10.69645], [-2.63525, -1.7461, -9.85029], [-2.88063, -1.79869, -9.79759]], b: [[-3.53346, -1.35482, -10.81593], [-2.50239, -1.09045, -10.96892], [-2.57545, -2.1247, -10.37037], [-2.82131, -2.18774, -10.33389]], collide: 1}
      - {kind: loft, a: [[-3.53346, -1.35482, -10.81593], [-2.50239, -1.09045, -10.96892], [-2.57545, -2.1247, -10.37037], [-2.82131, -2.18774, -10.33389]], b: [[-3.46771, -1.48946, -11.19925], [-2.43466, -1.20103, -11.27686], [-2.51554, -2.35447, -10.96651], [-2.76188, -2.42325, -10.94801]], collide: 1}
      - {kind: loft, a: [[-3.46771, -1.48946, -11.19925], [-2.43466, -1.20103, -11.27686], [-2.51554, -2.35447, -10.96651], [-2.76188, -2.42325, -10.94801]], b: [[-3.40181, -1.51995, -11.59843], [-2.36683, -1.22803, -11.59873], [-2.45552, -2.42193, -11.5975], [-2.70232, -2.49155, -11.59742]], collide: 1}
      - {kind: loft, a: [[-3.40181, -1.51995, -11.59843], [-2.36683, -1.22803, -11.59873], [-2.45552, -2.42193, -11.5975], [-2.70232, -2.49155, -11.59742]], b: [[-3.33576, -1.44726, -11.98619], [-2.29889, -1.17176, -11.91267], [-2.3954, -2.32472, -12.22033], [-2.64265, -2.39042, -12.23786]], collide: 1}
      - {kind: loft, a: [[-3.33576, -1.44726, -11.98619], [-2.29889, -1.17176, -11.91267], [-2.3954, -2.32472, -12.22033], [-2.64265, -2.39042, -12.23786]], b: [[-3.26957, -1.27926, -12.33682], [-2.23086, -1.03806, -12.19789], [-2.33517, -2.07154, -12.79315], [-2.58286, -2.12905, -12.82628]], collide: 1}
      - {kind: loft, a: [[-3.26957, -1.27926, -12.33682], [-2.23086, -1.03806, -12.19789], [-2.33517, -2.07154, -12.79315], [-2.58286, -2.12905, -12.82628]], b: [[-3.20324, -1.02998, -12.62785], [-2.16273, -0.83776, -12.43603], [-2.27485, -1.68146, -13.27799], [-2.52297, -1.7273, -13.32373]], collide: 1}
      - {kind: loft, a: [[-3.20324, -1.02998, -12.62785], [-2.16273, -0.83776, -12.43603], [-2.27485, -1.68146, -13.27799], [-2.52297, -1.7273, -13.32373]], b: [[-3.13678, -0.71846, -12.84145], [-2.09451, -0.58586, -12.61232], [-2.21443, -1.18251, -13.64329], [-2.46296, -1.21413, -13.69793]], collide: 1}
      - {kind: loft, a: [[-3.13678, -0.71846, -12.84145], [-2.09451, -0.58586, -12.61232], [-2.21443, -1.18251, -13.64329], [-2.46296, -1.21413, -13.69793]], b: [[-3.07018, -0.36739, -12.96548], [-2.0262, -0.30038, -12.71643], [-2.15391, -0.60966, -13.86592], [-2.40285, -0.62564, -13.92531]], collide: 1}
      - {kind: loft, a: [[-3.07018, -0.36739, -12.96548], [-2.0262, -0.30038, -12.71643], [-2.15391, -0.60966, -13.86592], [-2.40285, -0.62564, -13.92531]], b: [[-3.00345, -0.00144, -12.99417], [-1.9578, -0.00118, -12.7431], [-2.0933, -0.00241, -13.93261], [-2.34264, -0.00247, -13.99248]], collide: 1}
      - {kind: loft, a: [[-3.00345, -0.00144, -12.99417], [-1.9578, -0.00118, -12.7431], [-2.0933, -0.00241, -13.93261], [-2.34264, -0.00247, -13.99248]], b: [[-2.93658, 0.35443, -12.92825], [-1.88932, 0.29147, -12.69229], [-2.0326, 0.59791, -13.8407], [-2.28233, 0.61293, -13.89697]], collide: 1}
      - {kind: loft, a: [[-2.93658, 0.35443, -12.92825], [-1.88932, 0.29147, -12.69229], [-2.0326, 0.59791, -13.8407], [-2.28233, 0.61293, -13.89697]], b: [[-2.8696, 0.67665, -12.77479], [-1.82076, 0.55818, -12.56911], [-1.97181, 1.15094, -13.59825], [-2.22192, 1.17919, -13.64729]], collide: 1}
      - {kind: loft, a: [[-2.8696, 0.67665, -12.77479], [-1.82076, 0.55818, -12.56911], [-1.97181, 1.15094, -13.59825], [-2.22192, 1.17919, -13.64729]], b: [[-2.80249, 0.94454, -12.5465], [-1.75212, 0.78173, -12.38335], [-1.91094, 1.61993, -13.22328], [-2.16141, 1.65875, -13.26218]], collide: 1}
      - {kind: loft, a: [[-2.80249, 0.94454, -12.5465], [-1.75212, 0.78173, -12.38335], [-1.91094, 1.61993, -13.22328], [-2.16141, 1.65875, -13.26218]], b: [[-2.73526, 1.14164, -12.2607], [-1.6834, 0.94811, -12.1487], [-1.84999, 1.97421, -12.74254], [-2.10081, 2.02036, -12.76924]], collide: 1}
      - {kind: loft, a: [[-2.73526, 1.14164, -12.2607], [-1.6834, 0.94811, -12.1487], [-1.84999, 1.97421, -12.74254], [-2.10081, 2.02036, -12.76924]], b: [[-2.66791, 1.25667, -11.93812], [-1.61461, 1.04739, -11.88181], [-1.78896, 2.19115, -12.18955], [-2.04012, 2.24106, -12.20297]], collide: 1}
      - {kind: loft, a: [[-2.66791, 1.25667, -11.93812], [-1.61461, 1.04739, -11.88181], [-1.78896, 2.19115, -12.18955], [-2.04012, 2.24106, -12.20297]], b: [[-2.60045, 1.28412, -11.60133], [-1.54576, 1.0743, -11.60111], [-1.72785, 2.25757, -11.60233], [-1.97935, 2.3076, -11.60239]], collide: 1}
      - {kind: loft, a: [[-2.60045, 1.28412, -11.60133], [-1.54576, 1.0743, -11.60111], [-1.72785, 2.25757, -11.60233], [-1.97935, 2.3076, -11.60239]], b: [[-2.53288, 1.22448, -11.27326], [-1.47683, 1.02842, -11.32557], [-1.66667, 2.17052, -11.02082], [-1.91849, 2.21727, -11.00834]], collide: 1}
      - {kind: loft, a: [[-2.53288, 1.22448, -11.27326], [-1.47683, 1.02842, -11.32557], [-1.66667, 2.17052, -11.02082], [-1.91849, 2.21727, -11.00834]], b: [[-2.4652, 1.08401, -10.97564], [-1.40785, 0.91417, -11.07346], [-1.60541, 1.93737, -10.48412], [-1.85755, 1.97787, -10.4608]], collide: 1}
      - {kind: loft, a: [[-2.4652, 1.08401, -10.97564], [-1.40785, 0.91417, -11.07346], [-1.60541, 1.93737, -10.48412], [-1.85755, 1.97787, -10.4608]], b: [[-2.39741, 0.87422, -10.72759], [-1.3388, 0.74038, -10.86115], [-1.54409, 1.57526, -10.028], [-1.79652, 1.60717, -9.99615]], collide: 1}
      - {kind: loft, a: [[-2.39741, 0.87422, -10.72759], [-1.3388, 0.74038, -10.86115], [-1.54409, 1.57526, -10.028], [-1.79652, 1.60717, -9.99615]], b: [[-2.32952, 0.61088, -10.54444], [-1.2697, 0.51965, -10.70208], [-1.4827, 1.10975, -9.68243], [-1.73542, 1.13151, -9.64484]], collide: 1}
      - {kind: loft, a: [[-2.32952, 0.61088, -10.54444], [-1.2697, 0.51965, -10.70208], [-1.4827, 1.10975, -9.68243], [-1.73542, 1.13151, -9.64484]], b: [[-2.26153, 0.31297, -10.43681], [-1.20054, 0.26745, -10.60599], [-1.42125, 0.57317, -9.46972], [-1.67425, 0.58402, -9.42938]], collide: 1}
      - {kind: loft, a: [[-2.26153, 0.31297, -10.43681], [-1.20054, 0.26745, -10.60599], [-1.42125, 0.57317, -9.46972], [-1.67425, 0.58402, -9.42938]], b: [[-2.19345, 0.00123, -10.41002], [-1.13133, 0.00106, -10.57827], [-1.35973, 0.00227, -9.40306], [-1.613, 0.00231, -9.36294]], collide: 1}
      - {kind: loft, a: [[-2.19345, 0.00123, -10.41002], [-1.13133, 0.00106, -10.57827], [-1.35973, 0.00227, -9.40306], [-1.613, 0.00231, -9.36294]], b: [[-2.12527, -0.30316, -10.46391], [-1.06207, -0.26157, -10.61975], [-1.29816, -0.56417, -9.48574], [-1.55169, -0.57409, -9.44858]], collide: 1}
      - {kind: loft, a: [[-2.12527, -0.30316, -10.46391], [-1.06207, -0.26157, -10.61975], [-1.29816, -0.56417, -9.48574], [-1.55169, -0.57409, -9.44858]], b: [[-2.057, -0.58004, -10.59294], [-0.99277, -0.50301, -10.72668], [-1.23654, -1.08802, -9.71099], [-1.49031, -1.10639, -9.6791]], collide: 1}
      - {kind: loft, a: [[-2.057, -0.58004, -10.59294], [-0.99277, -0.50301, -10.72668], [-1.23654, -1.08802, -9.71099], [-1.49031, -1.10639, -9.6791]], b: [[-1.98864, -0.81157, -10.78675], [-0.92342, -0.70747, -10.89106], [-1.17486, -1.53429, -10.06254], [-1.42886, -1.55911, -10.03766]], collide: 1}
      - {kind: loft, a: [[-1.98864, -0.81157, -10.78675], [-0.92342, -0.70747, -10.89106], [-1.17486, -1.53429, -10.06254], [-1.42886, -1.55911, -10.03766]], b: [[-1.92019, -0.98333, -11.03092], [-0.85403, -0.86182, -11.10124], [-1.11313, -1.87345, -10.51578], [-1.36736, -1.90243, -10.49901]], collide: 1}
      - {kind: loft, a: [[-1.92019, -0.98333, -11.03092], [-0.85403, -0.86182, -11.10124], [-1.11313, -1.87345, -10.51578], [-1.36736, -1.90243, -10.49901]], b: [[-1.85167, -1.08519, -11.30802], [-0.78461, -0.95636, -11.34268], [-1.05135, -2.08339, -11.03945], [-1.30579, -2.11411, -11.03118]], collide: 1}
      - {kind: loft, a: [[-1.85167, -1.08519, -11.30802], [-0.78461, -0.95636, -11.34268], [-1.05135, -2.08339, -11.03945], [-1.30579, -2.11411, -11.03118]], b: [[-1.78306, -1.11189, -11.59885], [-0.71516, -0.98547, -11.59898], [-0.98952, -2.1508, -11.59778], [-1.24417, -2.18095, -11.59775]], collide: 1}
      - {kind: loft, a: [[-1.78306, -1.11189, -11.59885], [-0.71516, -0.98547, -11.59898], [-0.98952, -2.1508, -11.59778], [-1.24417, -2.18095, -11.59775]], b: [[-1.71438, -1.06324, -11.88372], [-0.64567, -0.94785, -11.85293], [-0.92766, -2.07203, -12.1529], [-1.1825, -2.09955, -12.16025]], collide: 1}
      - {kind: loft, a: [[-1.71438, -1.06324, -11.88372], [-0.64567, -0.94785, -11.85293], [-0.92766, -2.07203, -12.1529], [-1.1825, -2.09955, -12.16025]], b: [[-1.64562, -0.94405, -12.14375], [-0.57615, -0.84663, -12.08763], [-0.86575, -1.85324, -12.66742], [-1.12078, -1.87647, -12.6808]], collide: 1}
      - {kind: loft, a: [[-1.64562, -0.94405, -12.14375], [-0.57615, -0.84663, -12.08763], [-0.86575, -1.85324, -12.66742], [-1.12078, -1.87647, -12.6808]], b: [[-1.5768, -0.76369, -12.36211], [-0.50662, -0.68906, -12.28764], [-0.80381, -1.50996, -13.10684], [-1.059, -1.52775, -13.1246]], collide: 1}
      - {kind: loft, a: [[-1.5768, -0.76369, -12.36211], [-0.50662, -0.68906, -12.28764], [-0.80381, -1.50996, -13.10684], [-1.059, -1.52775, -13.1246]], b: [[-1.5079, -0.53536, -12.52506], [-0.43705, -0.48606, -12.43988], [-0.74183, -1.06597, -13.44192], [-0.99719, -1.07773, -13.46224]], collide: 1}
      - {kind: loft, a: [[-1.5079, -0.53536, -12.52506], [-0.43705, -0.48606, -12.43988], [-0.74183, -1.06597, -13.44192], [-0.99719, -1.07773, -13.46224]], b: [[-1.43894, -0.27519, -12.62279], [-0.36747, -0.25144, -12.53452], [-0.67983, -0.55172, -13.65056], [-0.93533, -0.55738, -13.67161]], collide: 1}
      - {kind: loft, a: [[-1.43894, -0.27519, -12.62279], [-0.36747, -0.25144, -12.53452], [-0.67983, -0.55172, -13.65056], [-0.93533, -0.55738, -13.67161]], b: [[-1.36992, -0.00109, -12.64997], [-0.29788, -0.001, -12.56557], [-0.61779, -0.00219, -13.71924], [-0.87342, -0.00221, -13.73937]], collide: 1}
      - {kind: loft, a: [[-1.36992, -0.00109, -12.64997], [-0.29788, -0.001, -12.56557], [-0.61779, -0.00219, -13.71924], [-0.87342, -0.00221, -13.73937]], b: [[-1.30084, 0.26845, -12.60603], [-0.22827, 0.2485, -12.53127], [-0.55572, 0.54539, -13.64389], [-0.81149, 0.55015, -13.66171]], collide: 1}
      - {kind: loft, a: [[-1.30084, 0.26845, -12.60603], [-0.22827, 0.2485, -12.53127], [-0.55572, 0.54539, -13.64389], [-0.81149, 0.55015, -13.66171]], b: [[-1.23171, 0.51555, -12.49509], [-0.15865, 0.48043, -12.43412], [-0.49364, 1.05409, -13.43011], [-0.74951, 1.06247, -13.44465]], collide: 1}
      - {kind: loft, a: [[-1.23171, 0.51555, -12.49509], [-0.15865, 0.48043, -12.43412], [-0.49364, 1.05409, -13.43011], [-0.74951, 1.06247, -13.44465]], b: [[-1.16252, 0.72411, -12.32561], [-0.08903, 0.67938, -12.28078], [-0.43153, 1.4897, -13.09279], [-0.68751, 1.50037, -13.10348]], collide: 1}
      - {kind: loft, a: [[-1.16252, 0.72411, -12.32561], [-0.08903, 0.67938, -12.28078], [-0.43153, 1.4897, -13.09279], [-0.68751, 1.50037, -13.10348]], b: [[-1.09329, 0.88085, -12.10978], [-0.0194, 0.83212, -12.08157], [-0.3694, 1.82304, -12.65504], [-0.62547, 1.83466, -12.66177]], collide: 1}
      - {kind: loft, a: [[-1.09329, 0.88085, -12.10978], [-0.0194, 0.83212, -12.08157], [-0.3694, 1.82304, -12.65504], [-0.62547, 1.83466, -12.66177]], b: [[-1.024, 0.97609, -11.86262], [0.05023, 0.9285, -11.84982], [-0.30726, 2.03184, -12.14668], [-0.56341, 2.04319, -12.14974]], collide: 1}
      - {kind: loft, a: [[-1.024, 0.97609, -11.86262], [0.05023, 0.9285, -11.84982], [-0.30726, 2.03184, -12.14668], [-0.56341, 2.04319, -12.14974]], b: [[-0.95468, 1.00432, -11.60104], [0.11986, 0.96208, -11.60099], [-0.2451, 2.1023, -11.60217], [-0.50133, 2.11237, -11.60218]], collide: 1}
      - {kind: loft, a: [[-0.95468, 1.00432, -11.60104], [0.11986, 0.96208, -11.60099], [-0.2451, 2.1023, -11.60217], [-0.50133, 2.11237, -11.60218]], b: [[-0.88531, 0.96455, -11.34262], [0.18948, 0.93053, -11.3517], [-0.18293, 2.02987, -11.05835], [-0.43922, 2.03798, -11.05618]], collide: 1}
      - {kind: loft, a: [[-0.88531, 0.96455, -11.34262], [0.18948, 0.93053, -11.3517], [-0.18293, 2.02987, -11.05835], [-0.43922, 2.03798, -11.05618]], b: [[-0.8159, 0.86025, -11.10452], [0.25909, 0.83583, -11.11858], [-0.12076, 1.81965, -10.55193], [-0.3771, 1.82548, -10.54858]], collide: 1}
      - {kind: loft, a: [[-0.8159, 0.86025, -11.10452], [0.25909, 0.83583, -11.11858], [-0.12076, 1.81965, -10.55193], [-0.3771, 1.82548, -10.54858]], b: [[-0.74646, 0.69908, -10.90237], [0.32869, 0.68411, -10.9173], [-0.05858, 1.48597, -10.1171], [-0.31495, 1.48954, -10.11353]], collide: 1}
      - {kind: loft, a: [[-0.74646, 0.69908, -10.90237], [0.32869, 0.68411, -10.9173], [-0.05858, 1.48597, -10.1171], [-0.31495, 1.48954, -10.11353]], b: [[-0.67699, 0.49236, -10.74924], [0.39828, 0.4853, -10.76144], [0.00361, 1.05145, -9.78318], [-0.2528, 1.05313, -9.78027]], collide: 1}
      - {kind: loft, a: [[-0.67699, 0.49236, -10.74924], [0.39828, 0.4853, -10.76144], [0.00361, 1.05145, -9.78318], [-0.2528, 1.05313, -9.78027]], b: [[-0.60748, 0.2543, -10.65485], [0.46785, 0.25246, -10.66167], [0.06579, 0.54545, -9.57273], [-0.19063, 0.54589, -9.57111]], collide: 1}
      - {kind: loft, a: [[-0.60748, 0.2543, -10.65485], [0.46785, 0.25246, -10.66167], [0.06579, 0.54545, -9.57273], [-0.19063, 0.54589, -9.57111]], b: [[-0.53796, 0.00101, -10.62499], [0.53741, 0.00101, -10.62501], [0.12797, 0.00217, -9.5], [-0.12846, 0.00217, -9.5]], collide: 1}
      - {kind: loft, a: [[-0.53796, 0.00101, -10.62499], [0.53741, 0.00101, -10.62501], [0.12797, 0.00217, -9.5], [-0.12846, 0.00217, -9.5]], b: [[-0.4684, -0.25053, -10.66113], [0.60693, -0.25234, -10.65436], [0.19014, -0.54169, -9.56999], [-0.06628, -0.54126, -9.57161]], collide: 1}
      - {kind: loft, a: [[-0.4684, -0.25053, -10.66113], [0.60693, -0.25234, -10.65436], [0.19014, -0.54169, -9.56999], [-0.06628, -0.54126, -9.57161]], b: [[-0.39883, -0.48357, -10.76042], [0.67644, -0.49059, -10.74825], [0.25231, -1.04936, -9.77811], [-0.0041, -1.04769, -9.78101]], collide: 1}
      - {kind: loft, a: [[-0.39883, -0.48357, -10.76042], [0.67644, -0.49059, -10.74825], [0.25231, -1.04936, -9.77811], [-0.0041, -1.04769, -9.78101]], b: [[-0.32924, -0.68271, -10.91588], [0.74591, -0.69761, -10.90095], [0.31446, -1.48645, -10.11047], [0.05809, -1.4829, -10.11403]], collide: 1}
      - {kind: loft, a: [[-0.32924, -0.68271, -10.91588], [0.74591, -0.69761, -10.90095], [0.31446, -1.48645, -10.11047], [0.05809, -1.4829, -10.11403]], b: [[-0.25964, -0.83485, -11.11685], [0.81535, -0.85919, -11.10276], [0.37661, -1.82328, -10.54481], [0.12027, -1.81748, -10.54817]], collide: 1}
      - {kind: loft, a: [[-0.25964, -0.83485, -11.11685], [0.81535, -0.85919, -11.10276], [0.37661, -1.82328, -10.54481], [0.12027, -1.81748, -10.54817]], b: [[-0.19003, -0.93003, -11.34977], [0.88476, -0.96398, -11.34064], [0.43873, -2.03683, -11.05198], [0.18244, -2.02874, -11.05415]], collide: 1}
      - {kind: loft, a: [[-0.19003, -0.93003, -11.34977], [0.88476, -0.96398, -11.34064], [0.43873, -2.03683, -11.05198], [0.18244, -2.02874, -11.05415]], b: [[-0.12041, -0.96208, -11.59901], [0.95413, -1.00428, -11.59896], [0.50084, -2.11234, -11.59782], [0.24461, -2.10228, -11.59783]], collide: 1}
      - {kind: loft, a: [[-0.12041, -0.96208, -11.59901], [0.95413, -1.00428, -11.59896], [0.50084, -2.11234, -11.59782], [0.24461, -2.10228, -11.59783]], b: [[-0.05078, -0.92902, -11.8479], [1.02346, -0.97658, -11.86059], [0.56292, -2.0443, -12.1455], [0.30676, -2.03296, -12.14248]], collide: 1}
      - {kind: loft, a: [[-0.05078, -0.92902, -11.8479], [1.02346, -0.97658, -11.86059], [0.56292, -2.0443, -12.1455], [0.30676, -2.03296, -12.14248]], b: [[0.01885, -0.83311, -12.07985], [1.09274, -0.88186, -12.10793], [0.62498, -1.83682, -12.65796], [0.36891, -1.8252, -12.65126]], collide: 1}
      - {kind: loft, a: [[0.01885, -0.83311, -12.07985], [1.09274, -0.88186, -12.10793], [0.62498, -1.83682, -12.65796], [0.36891, -1.8252, -12.65126]], b: [[0.08848, -0.68078, -12.27937], [1.16198, -0.72557, -12.32407], [0.68702, -1.50345, -13.10035], [0.43104, -1.49277, -13.08969]], collide: 1}
      - {kind: loft, a: [[0.08848, -0.68078, -12.27937], [1.16198, -0.72557, -12.32407], [0.68702, -1.50345, -13.10035], [0.43104, -1.49277, -13.08969]], b: [[0.1581, -0.48215, -12.43312], [1.23116, -0.51737, -12.49397], [0.74902, -1.06626, -13.44241], [0.49315, -1.05786, -13.4279]], collide: 1}
      - {kind: loft, a: [[0.1581, -0.48215, -12.43312], [1.23116, -0.51737, -12.49397], [0.74902, -1.06626, -13.44241], [0.49315, -1.05786, -13.4279]], b: [[0.22772, -0.25042, -12.53074], [1.3003, -0.27051, -12.60541], [0.811, -0.5544, -13.66053], [0.55523, -0.54961, -13.64273]], collide: 1}
      - {kind: loft, a: [[0.22772, -0.25042, -12.53074], [1.3003, -0.27051, -12.60541], [0.811, -0.5544, -13.66053], [0.55523, -0.54961, -13.64273]], b: [[0.29733, -0.001, -12.56556], [1.36938, -0.00109, -12.6499], [0.87294, -0.00221, -13.73932], [0.6173, -0.00219, -13.71921]], collide: 1}
      - {kind: loft, a: [[0.29733, -0.001, -12.56556], [1.36938, -0.00109, -12.6499], [0.87294, -0.00221, -13.73932], [0.6173, -0.00219, -13.71921]], b: [[0.36693, 0.2495, -12.53502], [1.4384, 0.27306, -12.62329], [0.93484, 0.55309, -13.67271], [0.67934, 0.54747, -13.65167]], collide: 1}
      - {kind: loft, a: [[0.36693, 0.2495, -12.53502], [1.4384, 0.27306, -12.62329], [0.93484, 0.55309, -13.67271], [0.67934, 0.54747, -13.65167]], b: [[0.43651, 0.48431, -12.44086], [1.50736, 0.53341, -12.5261], [0.9967, 1.07385, -13.46442], [0.74134, 1.06215, -13.44409]], collide: 1}
      - {kind: loft, a: [[0.43651, 0.48431, -12.44086], [1.50736, 0.53341, -12.5261], [0.9967, 1.07385, -13.46442], [0.74134, 1.06215, -13.44409]], b: [[0.50607, 0.68762, -12.28904], [1.57625, 0.76205, -12.36363], [1.05852, 1.52456, -13.12771], [0.80332, 1.50681, -13.10993]], collide: 1}
      - {kind: loft, a: [[0.50607, 0.68762, -12.28904], [1.57625, 0.76205, -12.36363], [1.05852, 1.52456, -13.12771], [0.80332, 1.50681, -13.10993]], b: [[0.57561, 0.84559, -12.08937], [1.64508, 0.94285, -12.14566], [1.12029, 1.87418, -12.68465], [0.86526, 1.85099, -12.67122]], collide: 1}
      - {kind: loft, a: [[0.57561, 0.84559, -12.08937], [1.64508, 0.94285, -12.14566], [1.12029, 1.87418, -12.68465], [0.86526, 1.85099, -12.67122]], b: [[0.64512, 0.94729, -11.85488], [1.71383, 1.06257, -11.88589], [1.18201, 2.09833, -12.16457], [0.92717, 2.07084, -12.15717]], collide: 1}
      - {kind: loft, a: [[0.64512, 0.94729, -11.85488], [1.71383, 1.06257, -11.88589], [1.18201, 2.09833, -12.16457], [0.92717, 2.07084, -12.15717]], b: [[0.71461, 0.98543, -11.60102], [1.78252, 1.1118, -11.60115], [1.24369, 2.18089, -11.60225], [0.98904, 2.15075, -11.60222]], collide: 1}
      - {kind: loft, a: [[0.71461, 0.98543, -11.60102], [1.78252, 1.1118, -11.60115], [1.24369, 2.18089, -11.60225], [0.98904, 2.15075, -11.60222]], b: [[0.78406, 0.95686, -11.34467], [1.85112, 1.0857, -11.31029], [1.30531, 2.11522, -11.03557], [1.05086, 2.08449, -11.04377]], collide: 1}
      - {kind: loft, a: [[0.78406, 0.95686, -11.34467], [1.85112, 1.0857, -11.31029], [1.30531, 2.11522, -11.03557], [1.05086, 2.08449, -11.04377]], b: [[0.85349, 0.86281, -11.10304], [1.91965, 0.98442, -11.033], [1.36687, 1.90464, -10.50298], [1.11264, 1.87564, -10.51968]], collide: 1}
      - {kind: loft, a: [[0.85349, 0.86281, -11.10304], [1.91965, 0.98442, -11.033], [1.36687, 1.90464, -10.50298], [1.11264, 1.87564, -10.51968]], b: [[0.92287, 0.7089, -10.89256], [1.9881, 0.81318, -10.7885], [1.42838, 1.56228, -10.04094], [1.17437, 1.53742, -10.06576]], collide: 1}
      - {kind: loft, a: [[0.92287, 0.7089, -10.89256], [1.9881, 0.81318, -10.7885], [1.42838, 1.56228, -10.04094], [1.17437, 1.53742, -10.06576]], b: [[0.99222, 0.50479, -10.72776], [2.05646, 0.58207, -10.59423], [1.48982, 1.11032, -9.68145], [1.23605, 1.09189, -9.71329]], collide: 1}
      - {kind: loft, a: [[0.99222, 0.50479, -10.72776], [2.05646, 0.58207, -10.59423], [1.48982, 1.11032, -9.68145], [1.23605, 1.09189, -9.71329]], b: [[1.06152, 0.26358, -10.62034], [2.12473, 0.30548, -10.46464], [1.55121, 0.57852, -9.44984], [1.29768, 0.56853, -9.48697]], collide: 1}
      - {kind: loft, a: [[1.06152, 0.26358, -10.62034], [2.12473, 0.30548, -10.46464], [1.55121, 0.57852, -9.44984], [1.29768, 0.56853, -9.48697]], b: [[1.13078, 0.00106, -10.57833], [2.19291, 0.00123, -10.41013], [1.61252, 0.00231, -9.36303], [1.35925, 0.00227, -9.40313]], collide: 1}
      - {kind: loft, a: [[1.13078, 0.00106, -10.57833], [2.19291, 0.00123, -10.41013], [1.61252, 0.00231, -9.36303], [1.35925, 0.00227, -9.40313]], b: [[1.19999, -0.26537, -10.6055], [2.26099, -0.31053, -10.43628], [1.67377, -0.57951, -9.42826], [1.42076, -0.56874, -9.46861]], collide: 1}
      - {kind: loft, a: [[1.19999, -0.26537, -10.6055], [2.26099, -0.31053, -10.43628], [1.67377, -0.57951, -9.42826], [1.42076, -0.56874, -9.46861]], b: [[1.26915, -0.51776, -10.70107], [2.32898, -0.60864, -10.54328], [1.73494, -1.12742, -9.64258], [1.48222, -1.10575, -9.68021]], collide: 1}
      - {kind: loft, a: [[1.26915, -0.51776, -10.70107], [2.32898, -0.60864, -10.54328], [1.73494, -1.12742, -9.64258], [1.48222, -1.10575, -9.68021]], b: [[1.33826, -0.73881, -10.85967], [2.39687, -0.87232, -10.72587], [1.79604, -1.60378, -9.9929], [1.54361, -1.57195, -10.0248]], collide: 1}
      - {kind: loft, a: [[1.33826, -0.73881, -10.85967], [2.39687, -0.87232, -10.72587], [1.79604, -1.60378, -9.9929], [1.54361, -1.57195, -10.0248]], b: [[1.4073, -0.91302, -11.07161], [2.46466, -1.08261, -10.97346], [1.85706, -1.97543, -10.45676], [1.60493, -1.93499, -10.48016]], collide: 1}
      - {kind: loft, a: [[1.4073, -0.91302, -11.07161], [2.46466, -1.08261, -10.97346], [1.85706, -1.97543, -10.45676], [1.60493, -1.93499, -10.48016]], b: [[1.47629, -1.02778, -11.32347], [2.53234, -1.22367, -11.27076], [1.91801, -2.21594, -11.00378], [1.66618, -2.16923, -11.01635]], collide: 1}
      - {kind: loft, a: [[1.47629, -1.02778, -11.32347], [2.53234, -1.22367, -11.27076], [1.91801, -2.21594, -11.00378], [1.66618, -2.16923, -11.01635]], b: [[1.54521, -1.07422, -11.59889], [2.59992, -1.28398, -11.59867], [1.97887, -2.3075, -11.59761], [1.72737, -2.25748, -11.59767]], collide: 1}
      - {kind: loft, a: [[1.54521, -1.07422, -11.59889], [2.59992, -1.28398, -11.59867], [1.97887, -2.3075, -11.59761], [1.72737, -2.25748, -11.59767]], b: [[1.61407, -1.04789, -11.87962], [2.66738, -1.25723, -11.93548], [2.03964, -2.2422, -12.19831], [1.78848, -2.19228, -12.18499]], collide: 1}
      - {kind: loft, a: [[1.61407, -1.04789, -11.87962], [2.66738, -1.25723, -11.93548], [2.03964, -2.2422, -12.19831], [1.78848, -2.19228, -12.18499]], b: [[1.68286, -0.94916, -12.14669], [2.73473, -1.14288, -12.25827], [2.10033, -2.02268, -12.76501], [1.84951, -1.97649, -12.7384]], collide: 1}
      - {kind: loft, a: [[1.68286, -0.94916, -12.14669], [2.73473, -1.14288, -12.25827], [2.10033, -2.02268, -12.76501], [1.84951, -1.97649, -12.7384]], b: [[1.75158, -0.78328, -12.38167], [2.80196, -0.94639, -12.54444], [2.16093, -1.66211, -13.25867], [1.91046, -1.62321, -13.21986]], collide: 1}
      - {kind: loft, a: [[1.75158, -0.78328, -12.38167], [2.80196, -0.94639, -12.54444], [2.16093, -1.66211, -13.25867], [1.91046, -1.62321, -13.21986]], b: [[1.82022, -0.56014, -12.56788], [2.86907, -0.679, -12.77326], [2.22144, -1.18336, -13.64475], [1.97133, -1.15501, -13.59578]], collide: 1}
      - {kind: loft, a: [[1.82022, -0.56014, -12.56788], [2.86907, -0.679, -12.77326], [2.22144, -1.18336, -13.64475], [1.97133, -1.15501, -13.59578]], b: [[1.88878, -0.2937, -12.69159], [2.93606, -0.35714, -12.92737], [2.28185, -0.61764, -13.89558], [2.03212, -0.60252, -13.83936]], collide: 1}
      - {kind: loft, a: [[1.88878, -0.2937, -12.69159], [2.93606, -0.35714, -12.92737], [2.28185, -0.61764, -13.89558], [2.03212, -0.60252, -13.83936]], b: [[1.95726, -0.00118, -12.743], [3.00292, -0.00144, -12.99401], [2.34216, -0.00247, -13.99235], [2.09282, -0.00241, -13.9325]], collide: 1}
      - {kind: loft, a: [[1.95726, -0.00118, -12.743], [3.00292, -0.00144, -12.99401], [2.34216, -0.00247, -13.99235], [2.09282, -0.00241, -13.9325]], b: [[2.02566, 0.29805, -12.71695], [3.06965, 0.36453, -12.96608], [2.40238, 0.6208, -13.92648], [2.15343, 0.60495, -13.86707]], collide: 1}
      - {kind: loft, a: [[2.02566, 0.29805, -12.71695], [3.06965, 0.36453, -12.96608], [2.40238, 0.6208, -13.92648], [2.15343, 0.60495, -13.86707]], b: [[2.09397, 0.58371, -12.61343], [3.13625, 0.71581, -12.84279], [2.46249, 1.20973, -13.70033], [2.21395, 1.17823, -13.64564]], collide: 1}
      - {kind: loft, a: [[2.09397, 0.58371, -12.61343], [3.13625, 0.71581, -12.84279], [2.46249, 1.20973, -13.70033], [2.21395, 1.17823, -13.64564]], b: [[2.16219, 0.83596, -12.43769], [3.20272, 1.02773, -12.62986], [2.52249, 1.72364, -13.32721], [2.27437, 1.67791, -13.28138]], collide: 1}
      - {kind: loft, a: [[2.16219, 0.83596, -12.43769], [3.20272, 1.02773, -12.62986], [2.52249, 1.72364, -13.32721], [2.27437, 1.67791, -13.28138]], b: [[2.23032, 1.03672, -12.19998], [3.26905, 1.27759, -12.33938], [2.58239, 2.1264, -12.83061], [2.3347, 2.06896, -12.79737]], collide: 1}
      - {kind: loft, a: [[2.23032, 1.03672, -12.19998], [3.26905, 1.27759, -12.33938], [2.58239, 2.1264, -12.83061], [2.3347, 2.06896, -12.79737]], b: [[2.29836, 1.17099, -11.91506], [3.33524, 1.44629, -11.98914], [2.64218, 2.38896, -12.24277], [2.39492, 2.32331, -12.2251]], collide: 1}
      - {kind: loft, a: [[2.29836, 1.17099, -11.91506], [3.33524, 1.44629, -11.98914], [2.64218, 2.38896, -12.24277], [2.39492, 2.32331, -12.2251]], b: [[2.36629, 1.2279, -11.60127], [3.40129, 1.51977, -11.60157], [2.70185, 2.49141, -11.60258], [2.45505, 2.42181, -11.6025]], collide: 1}
      - {kind: loft, a: [[2.36629, 1.2279, -11.60127], [3.40129, 1.51977, -11.60157], [2.70185, 2.49141, -11.60258], [2.45505, 2.42181, -11.6025]], b: [[2.43413, 1.20157, -11.27937], [3.46719, 1.49011, -11.20238], [2.76141, 2.42445, -10.95305], [2.51506, 2.35565, -10.97141]], collide: 1}
      - {kind: loft, a: [[2.43413, 1.20157, -11.27937], [3.46719, 1.49011, -11.20238], [2.76141, 2.42445, -10.95305], [2.51506, 2.35565, -10.97141]], b: [[2.50186, 1.09164, -10.97124], [3.53294, 1.35628, -10.81882], [2.82085, 2.19023, -10.33849], [2.57498, 2.12713, -10.37483]], collide: 1}
      - {kind: loft, a: [[2.50186, 1.09164, -10.97124], [3.53294, 1.35628, -10.81882], [2.82085, 2.19023, -10.33849], [2.57498, 2.12713, -10.37483]], b: [[2.56948, 0.90346, -10.69841], [3.59854, 1.1244, -10.47793], [2.88016, 1.8023, -9.80142], [2.63478, 1.74962, -9.854]], collide: 1}
      - {kind: loft, a: [[2.56948, 0.90346, -10.69841], [3.59854, 1.1244, -10.47793], [2.88016, 1.8023, -9.80142], [2.63478, 1.74962, -9.854]], b: [[2.63699, 0.64786, -10.48055], [3.66399, 0.80757, -10.20457], [2.93936, 1.28492, -9.37975], [2.69446, 1.24684, -9.44556]], collide: 1}
      - {kind: loft, a: [[2.63699, 0.64786, -10.48055], [3.66399, 0.80757, -10.20457], [2.93936, 1.28492, -9.37975], [2.69446, 1.24684, -9.44556]], b: [[2.70439, 0.34059, -10.33414], [3.72928, 0.42518, -10.01974], [2.99843, 0.67155, -9.10408], [2.75403, 0.65138, -9.17905]], collide: 1}
      - {kind: loft, a: [[2.70439, 0.34059, -10.33414], [3.72928, 0.42518, -10.01974], [2.99843, 0.67155, -9.10408], [2.75403, 0.65138, -9.17905]], b: [[2.77168, 0.00137, -10.2712], [3.79441, 0.00172, -9.93892], [3.05737, 0.00269, -8.9955], [2.81349, 0.00261, -9.07473]], collide: 1}
      - {kind: loft, a: [[2.77168, 0.00137, -10.2712], [3.79441, 0.00172, -9.93892], [3.05737, 0.00269, -8.9955], [2.81349, 0.00261, -9.07473]], b: [[2.83884, -0.34733, -10.29838], [3.85938, -0.43472, -9.97088], [3.11618, -0.6767, -9.06403], [2.87282, -0.65586, -9.14212]], collide: 1}
      - {kind: loft, a: [[2.83884, -0.34733, -10.29838], [3.85938, -0.43472, -9.97088], [3.11618, -0.6767, -9.06403], [2.87282, -0.65586, -9.14212]], b: [[2.90588, -0.68176, -10.41634], [3.92418, -0.85427, -10.11683], [3.17485, -1.32028, -9.30774], [2.93203, -1.27914, -9.37916]], collide: 1}
      - {kind: loft, a: [[2.90588, -0.68176, -10.41634], [3.92418, -0.85427, -10.11683], [3.17485, -1.32028, -9.30774], [2.93203, -1.27914, -9.37916]], b: [[2.9728, -0.97847, -10.6195], [3.98882, -1.22732, -10.37014], [3.23339, -1.88338, -9.71272], [2.99112, -1.82404, -9.77218]], collide: 1}
      - {kind: loft, a: [[2.9728, -0.97847, -10.6195], [3.98882, -1.22732, -10.37014], [3.23339, -1.88338, -9.71272], [2.99112, -1.82404, -9.77218]], b: [[3.03959, -1.21593, -10.89631], [4.05328, -1.52659, -10.71652], [3.29179, -2.32616, -10.25379], [3.05007, -2.25208, -10.29666]], collide: 1}
      - {kind: loft, a: [[3.03959, -1.21593, -10.89631], [4.05328, -1.52659, -10.71652], [3.29179, -2.32616, -10.25379], [3.05007, -2.25208, -10.29666]], b: [[3.10626, -1.37605, -11.22976], [4.11757, -1.72906, -11.13478], [3.35006, -2.61631, -10.89606], [3.1089, -2.53213, -10.91871]], collide: 1}
      - {kind: loft, a: [[3.10626, -1.37605, -11.22976], [4.11757, -1.72906, -11.13478], [3.35006, -2.61631, -10.89606], [3.1089, -2.53213, -10.91871]], b: [[3.17278, -1.44553, -11.59851], [4.18169, -1.81771, -11.59812], [3.40817, -2.73147, -11.59718], [3.16759, -2.64272, -11.59727]], collide: 1}
      - {kind: loft, a: [[3.17278, -1.44553, -11.59851], [4.18169, -1.81771, -11.59812], [3.40817, -2.73147, -11.59718], [3.16759, -2.64272, -11.59727]], b: [[3.23918, -1.41694, -11.9781], [4.24562, -1.7829, -12.07575], [3.46614, -2.66086, -12.31003], [3.22615, -2.5736, -12.28674]], collide: 1}
  - id: frame
    shape: frame
    color: "#8f8a80"
    rods:
      - {from: [0, -2.2, 0], to: [0, 2.2, 0], radius: 0.6}            # the wheel's shaft stub
      - {from: [-8.12274, 0, -11.6], to: [-6.92274, 0, -11.6], radius: 0.9}     # the worm's bearings
      - {from: [6.92274, 0, -11.6], to: [8.12274, 0, -11.6], radius: 0.9}
joints:
  - {id: j_worm, type: hinge, body: worm, axis: [1, 0, 0], damping: 0.001}
  - {id: j_wheel, type: hinge, body: wheel, axis: [0, 1, 0], damping: 0.02}
spurs:
  - {id: ww, body: wheel, pos: [0, 0, 0], teeth: 40, module: 0.5, width: 0.8, backlash: 0.02, phase: 0.0785, meets_parts: true}
contact: {solref: [0.002, 1.0], solimp: [0.98, 0.99, 0.0002], margin: 0}
driver: {joint: j_worm, kind: velocity, rpm: 60, kv: 2, max_torque: 3}
checks:
  - {type: ratio, out: j_wheel, in: j_worm, expect: 0.02500, tol: 0.00075, settle_s: 1, window_s: 4}
  - {type: penetration, max: 0.0008, settle_s: 0.5}
camera: {target: [0, 0, -6.8], position: [0, -75, -5.8], fov: 34}
display:
  output: j_wheel
  labels: {j_worm: "Hour-glass worm (driver)", j_wheel: "Worm-wheel (40 teeth)"}
  proof: {label: "Thread out of contact", sub: "the worm turns alone: the wheel stands still"}

