# No. 112 (Brown 1868): "Persian drill. The stock of the drill has a very quick thread cut upon it and revolves freely, supported by the head at the top, which rests against the body.
# The button or nut shown on the middle of the screw is held firm in the hand, and pulled quickly up and down the stock, thus causing it to revolve to the right and left alternately."
#
# Model (cm): the stock stands upright and turns freely on its axis (the hinge j_s, a very little damping): a quick right-hand thread of pitch 4.0 cm, 3.75 turns, a ridge 1.8 wide at
# the core (radius 1.0) and 1.2 at its tip (radius 1.6), in 32 convex segments a turn; the head rests under the arm of the body above and the drill point hangs below.
# The button is a half-nut (1.5 turns of thread, 0.04 cm clear each flank) cut away at the front, held in the hand: it can only slide up and down the stock (the one driven joint, the
# hand pulling it 3 cm each way, 0.5 strokes a second). Nothing else is driven: the stock is turned by the flanks of its own thread against the button's, one turn for
# every 4.0 cm of travel (1.571 rad to the cm), to the right going up and to the left coming down. A line and a cross-pin on the stock show the turning.
# Generator: opencode-runs/batch9/gen112.py.
number: 112
slug: persian-drill
name: A Persian drill, the button hauled up and down the stock
brown: "Persian drill. The stock of the drill has a very quick thread cut upon it and revolves freely, supported by the head at the top, which rests against the body. The button or nut shown on the middle of the screw is held firm in the hand, and pulled quickly up and down the stock, thus causing it to revolve to the right and left alternately."
units: cm
sim:
  timestep: 0.0002
  integrator: implicitfast
  iterations: 100
  solver: CG
  multiccd: true
  duration_s: 10
  floor: false
bodies:
  - id: stock
    shape: part
    pos: [0, 0, 0]
    density: 7800
    friction: 0.1
    color: "#e4d9bf"
    pieces:
      - {kind: rod, from: [0, 0, -3.4], to: [0, 0, 16.2], radius: 1.0, collide: 0}   # the stock's core
      - {kind: rod, from: [0, 0, 16.2], to: [0, 0, 16.7], radius: 1.7, collide: 0, color: "#b8ad97"}   # the head
      - {kind: rod, from: [0, 0, -9.2], to: [0, 0, -3.4], radius: 0.5, collide: 0, color: "#8f8a80"}   # the drill's shank
      - {kind: poly, points: [[-0.5, -9.2], [0.5, -9.2], [0, -11.0]], y: [-0.2, 0.2], collide: 0, color: "#8f8a80"}   # and its point
      - {kind: poly, points: [[-0.06, -2.9], [0.06, -2.9], [0.06, 15.9], [-0.06, 15.9]], y: [-1.1, -0.98], collide: 0, color: "#6f6a60"}   # a line down the stock, to show the turning
      - {kind: poly, points: [[-1.9, 16.3], [1.9, 16.3], [1.9, 16.55], [-1.9, 16.55]], y: [-0.2, 0.2], collide: 0, color: "#6f6a60"}   # a cross-pin in the head
      - {kind: loft, a: [[0.95, 0.0, -0.925], [0.95, 0.0, 0.925], [1.6, 0.0, 0.6], [1.6, 0.0, -0.6]], b: [[0.9317, 0.1853, -0.8], [0.9317, 0.1853, 1.05], [1.5693, 0.3121, 0.725], [1.5693, 0.3121, -0.475]], collide: 1}
      - {kind: loft, a: [[0.9317, 0.1853, -0.8], [0.9317, 0.1853, 1.05], [1.5693, 0.3121, 0.725], [1.5693, 0.3121, -0.475]], b: [[0.8777, 0.3635, -0.675], [0.8777, 0.3635, 1.175], [1.4782, 0.6123, 0.85], [1.4782, 0.6123, -0.35]], collide: 1}
      - {kind: loft, a: [[0.8777, 0.3635, -0.675], [0.8777, 0.3635, 1.175], [1.4782, 0.6123, 0.85], [1.4782, 0.6123, -0.35]], b: [[0.7899, 0.5278, -0.55], [0.7899, 0.5278, 1.3], [1.3304, 0.8889, 0.975], [1.3304, 0.8889, -0.225]], collide: 1}
      - {kind: loft, a: [[0.7899, 0.5278, -0.55], [0.7899, 0.5278, 1.3], [1.3304, 0.8889, 0.975], [1.3304, 0.8889, -0.225]], b: [[0.6718, 0.6718, -0.425], [0.6718, 0.6718, 1.425], [1.1314, 1.1314, 1.1], [1.1314, 1.1314, -0.1]], collide: 1}
      - {kind: loft, a: [[0.6718, 0.6718, -0.425], [0.6718, 0.6718, 1.425], [1.1314, 1.1314, 1.1], [1.1314, 1.1314, -0.1]], b: [[0.5278, 0.7899, -0.3], [0.5278, 0.7899, 1.55], [0.8889, 1.3304, 1.225], [0.8889, 1.3304, 0.025]], collide: 1}
      - {kind: loft, a: [[0.5278, 0.7899, -0.3], [0.5278, 0.7899, 1.55], [0.8889, 1.3304, 1.225], [0.8889, 1.3304, 0.025]], b: [[0.3635, 0.8777, -0.175], [0.3635, 0.8777, 1.675], [0.6123, 1.4782, 1.35], [0.6123, 1.4782, 0.15]], collide: 1}
      - {kind: loft, a: [[0.3635, 0.8777, -0.175], [0.3635, 0.8777, 1.675], [0.6123, 1.4782, 1.35], [0.6123, 1.4782, 0.15]], b: [[0.1853, 0.9317, -0.05], [0.1853, 0.9317, 1.8], [0.3121, 1.5693, 1.475], [0.3121, 1.5693, 0.275]], collide: 1}
      - {kind: loft, a: [[0.1853, 0.9317, -0.05], [0.1853, 0.9317, 1.8], [0.3121, 1.5693, 1.475], [0.3121, 1.5693, 0.275]], b: [[0.0, 0.95, 0.075], [0.0, 0.95, 1.925], [0.0, 1.6, 1.6], [0.0, 1.6, 0.4]], collide: 1}
      - {kind: loft, a: [[0.0, 0.95, 0.075], [0.0, 0.95, 1.925], [0.0, 1.6, 1.6], [0.0, 1.6, 0.4]], b: [[-0.1853, 0.9317, 0.2], [-0.1853, 0.9317, 2.05], [-0.3121, 1.5693, 1.725], [-0.3121, 1.5693, 0.525]], collide: 1}
      - {kind: loft, a: [[-0.1853, 0.9317, 0.2], [-0.1853, 0.9317, 2.05], [-0.3121, 1.5693, 1.725], [-0.3121, 1.5693, 0.525]], b: [[-0.3635, 0.8777, 0.325], [-0.3635, 0.8777, 2.175], [-0.6123, 1.4782, 1.85], [-0.6123, 1.4782, 0.65]], collide: 1}
      - {kind: loft, a: [[-0.3635, 0.8777, 0.325], [-0.3635, 0.8777, 2.175], [-0.6123, 1.4782, 1.85], [-0.6123, 1.4782, 0.65]], b: [[-0.5278, 0.7899, 0.45], [-0.5278, 0.7899, 2.3], [-0.8889, 1.3304, 1.975], [-0.8889, 1.3304, 0.775]], collide: 1}
      - {kind: loft, a: [[-0.5278, 0.7899, 0.45], [-0.5278, 0.7899, 2.3], [-0.8889, 1.3304, 1.975], [-0.8889, 1.3304, 0.775]], b: [[-0.6718, 0.6718, 0.575], [-0.6718, 0.6718, 2.425], [-1.1314, 1.1314, 2.1], [-1.1314, 1.1314, 0.9]], collide: 1}
      - {kind: loft, a: [[-0.6718, 0.6718, 0.575], [-0.6718, 0.6718, 2.425], [-1.1314, 1.1314, 2.1], [-1.1314, 1.1314, 0.9]], b: [[-0.7899, 0.5278, 0.7], [-0.7899, 0.5278, 2.55], [-1.3304, 0.8889, 2.225], [-1.3304, 0.8889, 1.025]], collide: 1}
      - {kind: loft, a: [[-0.7899, 0.5278, 0.7], [-0.7899, 0.5278, 2.55], [-1.3304, 0.8889, 2.225], [-1.3304, 0.8889, 1.025]], b: [[-0.8777, 0.3635, 0.825], [-0.8777, 0.3635, 2.675], [-1.4782, 0.6123, 2.35], [-1.4782, 0.6123, 1.15]], collide: 1}
      - {kind: loft, a: [[-0.8777, 0.3635, 0.825], [-0.8777, 0.3635, 2.675], [-1.4782, 0.6123, 2.35], [-1.4782, 0.6123, 1.15]], b: [[-0.9317, 0.1853, 0.95], [-0.9317, 0.1853, 2.8], [-1.5693, 0.3121, 2.475], [-1.5693, 0.3121, 1.275]], collide: 1}
      - {kind: loft, a: [[-0.9317, 0.1853, 0.95], [-0.9317, 0.1853, 2.8], [-1.5693, 0.3121, 2.475], [-1.5693, 0.3121, 1.275]], b: [[-0.95, 0.0, 1.075], [-0.95, 0.0, 2.925], [-1.6, 0.0, 2.6], [-1.6, 0.0, 1.4]], collide: 1}
      - {kind: loft, a: [[-0.95, 0.0, 1.075], [-0.95, 0.0, 2.925], [-1.6, 0.0, 2.6], [-1.6, 0.0, 1.4]], b: [[-0.9317, -0.1853, 1.2], [-0.9317, -0.1853, 3.05], [-1.5693, -0.3121, 2.725], [-1.5693, -0.3121, 1.525]], collide: 1}
      - {kind: loft, a: [[-0.9317, -0.1853, 1.2], [-0.9317, -0.1853, 3.05], [-1.5693, -0.3121, 2.725], [-1.5693, -0.3121, 1.525]], b: [[-0.8777, -0.3635, 1.325], [-0.8777, -0.3635, 3.175], [-1.4782, -0.6123, 2.85], [-1.4782, -0.6123, 1.65]], collide: 1}
      - {kind: loft, a: [[-0.8777, -0.3635, 1.325], [-0.8777, -0.3635, 3.175], [-1.4782, -0.6123, 2.85], [-1.4782, -0.6123, 1.65]], b: [[-0.7899, -0.5278, 1.45], [-0.7899, -0.5278, 3.3], [-1.3304, -0.8889, 2.975], [-1.3304, -0.8889, 1.775]], collide: 1}
      - {kind: loft, a: [[-0.7899, -0.5278, 1.45], [-0.7899, -0.5278, 3.3], [-1.3304, -0.8889, 2.975], [-1.3304, -0.8889, 1.775]], b: [[-0.6718, -0.6718, 1.575], [-0.6718, -0.6718, 3.425], [-1.1314, -1.1314, 3.1], [-1.1314, -1.1314, 1.9]], collide: 1}
      - {kind: loft, a: [[-0.6718, -0.6718, 1.575], [-0.6718, -0.6718, 3.425], [-1.1314, -1.1314, 3.1], [-1.1314, -1.1314, 1.9]], b: [[-0.5278, -0.7899, 1.7], [-0.5278, -0.7899, 3.55], [-0.8889, -1.3304, 3.225], [-0.8889, -1.3304, 2.025]], collide: 1}
      - {kind: loft, a: [[-0.5278, -0.7899, 1.7], [-0.5278, -0.7899, 3.55], [-0.8889, -1.3304, 3.225], [-0.8889, -1.3304, 2.025]], b: [[-0.3635, -0.8777, 1.825], [-0.3635, -0.8777, 3.675], [-0.6123, -1.4782, 3.35], [-0.6123, -1.4782, 2.15]], collide: 1}
      - {kind: loft, a: [[-0.3635, -0.8777, 1.825], [-0.3635, -0.8777, 3.675], [-0.6123, -1.4782, 3.35], [-0.6123, -1.4782, 2.15]], b: [[-0.1853, -0.9317, 1.95], [-0.1853, -0.9317, 3.8], [-0.3121, -1.5693, 3.475], [-0.3121, -1.5693, 2.275]], collide: 1}
      - {kind: loft, a: [[-0.1853, -0.9317, 1.95], [-0.1853, -0.9317, 3.8], [-0.3121, -1.5693, 3.475], [-0.3121, -1.5693, 2.275]], b: [[-0.0, -0.95, 2.075], [-0.0, -0.95, 3.925], [-0.0, -1.6, 3.6], [-0.0, -1.6, 2.4]], collide: 1}
      - {kind: loft, a: [[-0.0, -0.95, 2.075], [-0.0, -0.95, 3.925], [-0.0, -1.6, 3.6], [-0.0, -1.6, 2.4]], b: [[0.1853, -0.9317, 2.2], [0.1853, -0.9317, 4.05], [0.3121, -1.5693, 3.725], [0.3121, -1.5693, 2.525]], collide: 1}
      - {kind: loft, a: [[0.1853, -0.9317, 2.2], [0.1853, -0.9317, 4.05], [0.3121, -1.5693, 3.725], [0.3121, -1.5693, 2.525]], b: [[0.3635, -0.8777, 2.325], [0.3635, -0.8777, 4.175], [0.6123, -1.4782, 3.85], [0.6123, -1.4782, 2.65]], collide: 1}
      - {kind: loft, a: [[0.3635, -0.8777, 2.325], [0.3635, -0.8777, 4.175], [0.6123, -1.4782, 3.85], [0.6123, -1.4782, 2.65]], b: [[0.5278, -0.7899, 2.45], [0.5278, -0.7899, 4.3], [0.8889, -1.3304, 3.975], [0.8889, -1.3304, 2.775]], collide: 1}
      - {kind: loft, a: [[0.5278, -0.7899, 2.45], [0.5278, -0.7899, 4.3], [0.8889, -1.3304, 3.975], [0.8889, -1.3304, 2.775]], b: [[0.6718, -0.6718, 2.575], [0.6718, -0.6718, 4.425], [1.1314, -1.1314, 4.1], [1.1314, -1.1314, 2.9]], collide: 1}
      - {kind: loft, a: [[0.6718, -0.6718, 2.575], [0.6718, -0.6718, 4.425], [1.1314, -1.1314, 4.1], [1.1314, -1.1314, 2.9]], b: [[0.7899, -0.5278, 2.7], [0.7899, -0.5278, 4.55], [1.3304, -0.8889, 4.225], [1.3304, -0.8889, 3.025]], collide: 1}
      - {kind: loft, a: [[0.7899, -0.5278, 2.7], [0.7899, -0.5278, 4.55], [1.3304, -0.8889, 4.225], [1.3304, -0.8889, 3.025]], b: [[0.8777, -0.3635, 2.825], [0.8777, -0.3635, 4.675], [1.4782, -0.6123, 4.35], [1.4782, -0.6123, 3.15]], collide: 1}
      - {kind: loft, a: [[0.8777, -0.3635, 2.825], [0.8777, -0.3635, 4.675], [1.4782, -0.6123, 4.35], [1.4782, -0.6123, 3.15]], b: [[0.9317, -0.1853, 2.95], [0.9317, -0.1853, 4.8], [1.5693, -0.3121, 4.475], [1.5693, -0.3121, 3.275]], collide: 1}
      - {kind: loft, a: [[0.9317, -0.1853, 2.95], [0.9317, -0.1853, 4.8], [1.5693, -0.3121, 4.475], [1.5693, -0.3121, 3.275]], b: [[0.95, -0.0, 3.075], [0.95, -0.0, 4.925], [1.6, -0.0, 4.6], [1.6, -0.0, 3.4]], collide: 1}
      - {kind: loft, a: [[0.95, -0.0, 3.075], [0.95, -0.0, 4.925], [1.6, -0.0, 4.6], [1.6, -0.0, 3.4]], b: [[0.9317, 0.1853, 3.2], [0.9317, 0.1853, 5.05], [1.5693, 0.3121, 4.725], [1.5693, 0.3121, 3.525]], collide: 1}
      - {kind: loft, a: [[0.9317, 0.1853, 3.2], [0.9317, 0.1853, 5.05], [1.5693, 0.3121, 4.725], [1.5693, 0.3121, 3.525]], b: [[0.8777, 0.3635, 3.325], [0.8777, 0.3635, 5.175], [1.4782, 0.6123, 4.85], [1.4782, 0.6123, 3.65]], collide: 1}
      - {kind: loft, a: [[0.8777, 0.3635, 3.325], [0.8777, 0.3635, 5.175], [1.4782, 0.6123, 4.85], [1.4782, 0.6123, 3.65]], b: [[0.7899, 0.5278, 3.45], [0.7899, 0.5278, 5.3], [1.3304, 0.8889, 4.975], [1.3304, 0.8889, 3.775]], collide: 1}
      - {kind: loft, a: [[0.7899, 0.5278, 3.45], [0.7899, 0.5278, 5.3], [1.3304, 0.8889, 4.975], [1.3304, 0.8889, 3.775]], b: [[0.6718, 0.6718, 3.575], [0.6718, 0.6718, 5.425], [1.1314, 1.1314, 5.1], [1.1314, 1.1314, 3.9]], collide: 1}
      - {kind: loft, a: [[0.6718, 0.6718, 3.575], [0.6718, 0.6718, 5.425], [1.1314, 1.1314, 5.1], [1.1314, 1.1314, 3.9]], b: [[0.5278, 0.7899, 3.7], [0.5278, 0.7899, 5.55], [0.8889, 1.3304, 5.225], [0.8889, 1.3304, 4.025]], collide: 1}
      - {kind: loft, a: [[0.5278, 0.7899, 3.7], [0.5278, 0.7899, 5.55], [0.8889, 1.3304, 5.225], [0.8889, 1.3304, 4.025]], b: [[0.3635, 0.8777, 3.825], [0.3635, 0.8777, 5.675], [0.6123, 1.4782, 5.35], [0.6123, 1.4782, 4.15]], collide: 1}
      - {kind: loft, a: [[0.3635, 0.8777, 3.825], [0.3635, 0.8777, 5.675], [0.6123, 1.4782, 5.35], [0.6123, 1.4782, 4.15]], b: [[0.1853, 0.9317, 3.95], [0.1853, 0.9317, 5.8], [0.3121, 1.5693, 5.475], [0.3121, 1.5693, 4.275]], collide: 1}
      - {kind: loft, a: [[0.1853, 0.9317, 3.95], [0.1853, 0.9317, 5.8], [0.3121, 1.5693, 5.475], [0.3121, 1.5693, 4.275]], b: [[0.0, 0.95, 4.075], [0.0, 0.95, 5.925], [0.0, 1.6, 5.6], [0.0, 1.6, 4.4]], collide: 1}
      - {kind: loft, a: [[0.0, 0.95, 4.075], [0.0, 0.95, 5.925], [0.0, 1.6, 5.6], [0.0, 1.6, 4.4]], b: [[-0.1853, 0.9317, 4.2], [-0.1853, 0.9317, 6.05], [-0.3121, 1.5693, 5.725], [-0.3121, 1.5693, 4.525]], collide: 1}
      - {kind: loft, a: [[-0.1853, 0.9317, 4.2], [-0.1853, 0.9317, 6.05], [-0.3121, 1.5693, 5.725], [-0.3121, 1.5693, 4.525]], b: [[-0.3635, 0.8777, 4.325], [-0.3635, 0.8777, 6.175], [-0.6123, 1.4782, 5.85], [-0.6123, 1.4782, 4.65]], collide: 1}
      - {kind: loft, a: [[-0.3635, 0.8777, 4.325], [-0.3635, 0.8777, 6.175], [-0.6123, 1.4782, 5.85], [-0.6123, 1.4782, 4.65]], b: [[-0.5278, 0.7899, 4.45], [-0.5278, 0.7899, 6.3], [-0.8889, 1.3304, 5.975], [-0.8889, 1.3304, 4.775]], collide: 1}
      - {kind: loft, a: [[-0.5278, 0.7899, 4.45], [-0.5278, 0.7899, 6.3], [-0.8889, 1.3304, 5.975], [-0.8889, 1.3304, 4.775]], b: [[-0.6718, 0.6718, 4.575], [-0.6718, 0.6718, 6.425], [-1.1314, 1.1314, 6.1], [-1.1314, 1.1314, 4.9]], collide: 1}
      - {kind: loft, a: [[-0.6718, 0.6718, 4.575], [-0.6718, 0.6718, 6.425], [-1.1314, 1.1314, 6.1], [-1.1314, 1.1314, 4.9]], b: [[-0.7899, 0.5278, 4.7], [-0.7899, 0.5278, 6.55], [-1.3304, 0.8889, 6.225], [-1.3304, 0.8889, 5.025]], collide: 1}
      - {kind: loft, a: [[-0.7899, 0.5278, 4.7], [-0.7899, 0.5278, 6.55], [-1.3304, 0.8889, 6.225], [-1.3304, 0.8889, 5.025]], b: [[-0.8777, 0.3635, 4.825], [-0.8777, 0.3635, 6.675], [-1.4782, 0.6123, 6.35], [-1.4782, 0.6123, 5.15]], collide: 1}
      - {kind: loft, a: [[-0.8777, 0.3635, 4.825], [-0.8777, 0.3635, 6.675], [-1.4782, 0.6123, 6.35], [-1.4782, 0.6123, 5.15]], b: [[-0.9317, 0.1853, 4.95], [-0.9317, 0.1853, 6.8], [-1.5693, 0.3121, 6.475], [-1.5693, 0.3121, 5.275]], collide: 1}
      - {kind: loft, a: [[-0.9317, 0.1853, 4.95], [-0.9317, 0.1853, 6.8], [-1.5693, 0.3121, 6.475], [-1.5693, 0.3121, 5.275]], b: [[-0.95, 0.0, 5.075], [-0.95, 0.0, 6.925], [-1.6, 0.0, 6.6], [-1.6, 0.0, 5.4]], collide: 1}
      - {kind: loft, a: [[-0.95, 0.0, 5.075], [-0.95, 0.0, 6.925], [-1.6, 0.0, 6.6], [-1.6, 0.0, 5.4]], b: [[-0.9317, -0.1853, 5.2], [-0.9317, -0.1853, 7.05], [-1.5693, -0.3121, 6.725], [-1.5693, -0.3121, 5.525]], collide: 1}
      - {kind: loft, a: [[-0.9317, -0.1853, 5.2], [-0.9317, -0.1853, 7.05], [-1.5693, -0.3121, 6.725], [-1.5693, -0.3121, 5.525]], b: [[-0.8777, -0.3635, 5.325], [-0.8777, -0.3635, 7.175], [-1.4782, -0.6123, 6.85], [-1.4782, -0.6123, 5.65]], collide: 1}
      - {kind: loft, a: [[-0.8777, -0.3635, 5.325], [-0.8777, -0.3635, 7.175], [-1.4782, -0.6123, 6.85], [-1.4782, -0.6123, 5.65]], b: [[-0.7899, -0.5278, 5.45], [-0.7899, -0.5278, 7.3], [-1.3304, -0.8889, 6.975], [-1.3304, -0.8889, 5.775]], collide: 1}
      - {kind: loft, a: [[-0.7899, -0.5278, 5.45], [-0.7899, -0.5278, 7.3], [-1.3304, -0.8889, 6.975], [-1.3304, -0.8889, 5.775]], b: [[-0.6718, -0.6718, 5.575], [-0.6718, -0.6718, 7.425], [-1.1314, -1.1314, 7.1], [-1.1314, -1.1314, 5.9]], collide: 1}
      - {kind: loft, a: [[-0.6718, -0.6718, 5.575], [-0.6718, -0.6718, 7.425], [-1.1314, -1.1314, 7.1], [-1.1314, -1.1314, 5.9]], b: [[-0.5278, -0.7899, 5.7], [-0.5278, -0.7899, 7.55], [-0.8889, -1.3304, 7.225], [-0.8889, -1.3304, 6.025]], collide: 1}
      - {kind: loft, a: [[-0.5278, -0.7899, 5.7], [-0.5278, -0.7899, 7.55], [-0.8889, -1.3304, 7.225], [-0.8889, -1.3304, 6.025]], b: [[-0.3635, -0.8777, 5.825], [-0.3635, -0.8777, 7.675], [-0.6123, -1.4782, 7.35], [-0.6123, -1.4782, 6.15]], collide: 1}
      - {kind: loft, a: [[-0.3635, -0.8777, 5.825], [-0.3635, -0.8777, 7.675], [-0.6123, -1.4782, 7.35], [-0.6123, -1.4782, 6.15]], b: [[-0.1853, -0.9317, 5.95], [-0.1853, -0.9317, 7.8], [-0.3121, -1.5693, 7.475], [-0.3121, -1.5693, 6.275]], collide: 1}
      - {kind: loft, a: [[-0.1853, -0.9317, 5.95], [-0.1853, -0.9317, 7.8], [-0.3121, -1.5693, 7.475], [-0.3121, -1.5693, 6.275]], b: [[-0.0, -0.95, 6.075], [-0.0, -0.95, 7.925], [-0.0, -1.6, 7.6], [-0.0, -1.6, 6.4]], collide: 1}
      - {kind: loft, a: [[-0.0, -0.95, 6.075], [-0.0, -0.95, 7.925], [-0.0, -1.6, 7.6], [-0.0, -1.6, 6.4]], b: [[0.1853, -0.9317, 6.2], [0.1853, -0.9317, 8.05], [0.3121, -1.5693, 7.725], [0.3121, -1.5693, 6.525]], collide: 1}
      - {kind: loft, a: [[0.1853, -0.9317, 6.2], [0.1853, -0.9317, 8.05], [0.3121, -1.5693, 7.725], [0.3121, -1.5693, 6.525]], b: [[0.3635, -0.8777, 6.325], [0.3635, -0.8777, 8.175], [0.6123, -1.4782, 7.85], [0.6123, -1.4782, 6.65]], collide: 1}
      - {kind: loft, a: [[0.3635, -0.8777, 6.325], [0.3635, -0.8777, 8.175], [0.6123, -1.4782, 7.85], [0.6123, -1.4782, 6.65]], b: [[0.5278, -0.7899, 6.45], [0.5278, -0.7899, 8.3], [0.8889, -1.3304, 7.975], [0.8889, -1.3304, 6.775]], collide: 1}
      - {kind: loft, a: [[0.5278, -0.7899, 6.45], [0.5278, -0.7899, 8.3], [0.8889, -1.3304, 7.975], [0.8889, -1.3304, 6.775]], b: [[0.6718, -0.6718, 6.575], [0.6718, -0.6718, 8.425], [1.1314, -1.1314, 8.1], [1.1314, -1.1314, 6.9]], collide: 1}
      - {kind: loft, a: [[0.6718, -0.6718, 6.575], [0.6718, -0.6718, 8.425], [1.1314, -1.1314, 8.1], [1.1314, -1.1314, 6.9]], b: [[0.7899, -0.5278, 6.7], [0.7899, -0.5278, 8.55], [1.3304, -0.8889, 8.225], [1.3304, -0.8889, 7.025]], collide: 1}
      - {kind: loft, a: [[0.7899, -0.5278, 6.7], [0.7899, -0.5278, 8.55], [1.3304, -0.8889, 8.225], [1.3304, -0.8889, 7.025]], b: [[0.8777, -0.3635, 6.825], [0.8777, -0.3635, 8.675], [1.4782, -0.6123, 8.35], [1.4782, -0.6123, 7.15]], collide: 1}
      - {kind: loft, a: [[0.8777, -0.3635, 6.825], [0.8777, -0.3635, 8.675], [1.4782, -0.6123, 8.35], [1.4782, -0.6123, 7.15]], b: [[0.9317, -0.1853, 6.95], [0.9317, -0.1853, 8.8], [1.5693, -0.3121, 8.475], [1.5693, -0.3121, 7.275]], collide: 1}
      - {kind: loft, a: [[0.9317, -0.1853, 6.95], [0.9317, -0.1853, 8.8], [1.5693, -0.3121, 8.475], [1.5693, -0.3121, 7.275]], b: [[0.95, -0.0, 7.075], [0.95, -0.0, 8.925], [1.6, -0.0, 8.6], [1.6, -0.0, 7.4]], collide: 1}
      - {kind: loft, a: [[0.95, -0.0, 7.075], [0.95, -0.0, 8.925], [1.6, -0.0, 8.6], [1.6, -0.0, 7.4]], b: [[0.9317, 0.1853, 7.2], [0.9317, 0.1853, 9.05], [1.5693, 0.3121, 8.725], [1.5693, 0.3121, 7.525]], collide: 1}
      - {kind: loft, a: [[0.9317, 0.1853, 7.2], [0.9317, 0.1853, 9.05], [1.5693, 0.3121, 8.725], [1.5693, 0.3121, 7.525]], b: [[0.8777, 0.3635, 7.325], [0.8777, 0.3635, 9.175], [1.4782, 0.6123, 8.85], [1.4782, 0.6123, 7.65]], collide: 1}
      - {kind: loft, a: [[0.8777, 0.3635, 7.325], [0.8777, 0.3635, 9.175], [1.4782, 0.6123, 8.85], [1.4782, 0.6123, 7.65]], b: [[0.7899, 0.5278, 7.45], [0.7899, 0.5278, 9.3], [1.3304, 0.8889, 8.975], [1.3304, 0.8889, 7.775]], collide: 1}
      - {kind: loft, a: [[0.7899, 0.5278, 7.45], [0.7899, 0.5278, 9.3], [1.3304, 0.8889, 8.975], [1.3304, 0.8889, 7.775]], b: [[0.6718, 0.6718, 7.575], [0.6718, 0.6718, 9.425], [1.1314, 1.1314, 9.1], [1.1314, 1.1314, 7.9]], collide: 1}
      - {kind: loft, a: [[0.6718, 0.6718, 7.575], [0.6718, 0.6718, 9.425], [1.1314, 1.1314, 9.1], [1.1314, 1.1314, 7.9]], b: [[0.5278, 0.7899, 7.7], [0.5278, 0.7899, 9.55], [0.8889, 1.3304, 9.225], [0.8889, 1.3304, 8.025]], collide: 1}
      - {kind: loft, a: [[0.5278, 0.7899, 7.7], [0.5278, 0.7899, 9.55], [0.8889, 1.3304, 9.225], [0.8889, 1.3304, 8.025]], b: [[0.3635, 0.8777, 7.825], [0.3635, 0.8777, 9.675], [0.6123, 1.4782, 9.35], [0.6123, 1.4782, 8.15]], collide: 1}
      - {kind: loft, a: [[0.3635, 0.8777, 7.825], [0.3635, 0.8777, 9.675], [0.6123, 1.4782, 9.35], [0.6123, 1.4782, 8.15]], b: [[0.1853, 0.9317, 7.95], [0.1853, 0.9317, 9.8], [0.3121, 1.5693, 9.475], [0.3121, 1.5693, 8.275]], collide: 1}
      - {kind: loft, a: [[0.1853, 0.9317, 7.95], [0.1853, 0.9317, 9.8], [0.3121, 1.5693, 9.475], [0.3121, 1.5693, 8.275]], b: [[0.0, 0.95, 8.075], [0.0, 0.95, 9.925], [0.0, 1.6, 9.6], [0.0, 1.6, 8.4]], collide: 1}
      - {kind: loft, a: [[0.0, 0.95, 8.075], [0.0, 0.95, 9.925], [0.0, 1.6, 9.6], [0.0, 1.6, 8.4]], b: [[-0.1853, 0.9317, 8.2], [-0.1853, 0.9317, 10.05], [-0.3121, 1.5693, 9.725], [-0.3121, 1.5693, 8.525]], collide: 1}
      - {kind: loft, a: [[-0.1853, 0.9317, 8.2], [-0.1853, 0.9317, 10.05], [-0.3121, 1.5693, 9.725], [-0.3121, 1.5693, 8.525]], b: [[-0.3635, 0.8777, 8.325], [-0.3635, 0.8777, 10.175], [-0.6123, 1.4782, 9.85], [-0.6123, 1.4782, 8.65]], collide: 1}
      - {kind: loft, a: [[-0.3635, 0.8777, 8.325], [-0.3635, 0.8777, 10.175], [-0.6123, 1.4782, 9.85], [-0.6123, 1.4782, 8.65]], b: [[-0.5278, 0.7899, 8.45], [-0.5278, 0.7899, 10.3], [-0.8889, 1.3304, 9.975], [-0.8889, 1.3304, 8.775]], collide: 1}
      - {kind: loft, a: [[-0.5278, 0.7899, 8.45], [-0.5278, 0.7899, 10.3], [-0.8889, 1.3304, 9.975], [-0.8889, 1.3304, 8.775]], b: [[-0.6718, 0.6718, 8.575], [-0.6718, 0.6718, 10.425], [-1.1314, 1.1314, 10.1], [-1.1314, 1.1314, 8.9]], collide: 1}
      - {kind: loft, a: [[-0.6718, 0.6718, 8.575], [-0.6718, 0.6718, 10.425], [-1.1314, 1.1314, 10.1], [-1.1314, 1.1314, 8.9]], b: [[-0.7899, 0.5278, 8.7], [-0.7899, 0.5278, 10.55], [-1.3304, 0.8889, 10.225], [-1.3304, 0.8889, 9.025]], collide: 1}
      - {kind: loft, a: [[-0.7899, 0.5278, 8.7], [-0.7899, 0.5278, 10.55], [-1.3304, 0.8889, 10.225], [-1.3304, 0.8889, 9.025]], b: [[-0.8777, 0.3635, 8.825], [-0.8777, 0.3635, 10.675], [-1.4782, 0.6123, 10.35], [-1.4782, 0.6123, 9.15]], collide: 1}
      - {kind: loft, a: [[-0.8777, 0.3635, 8.825], [-0.8777, 0.3635, 10.675], [-1.4782, 0.6123, 10.35], [-1.4782, 0.6123, 9.15]], b: [[-0.9317, 0.1853, 8.95], [-0.9317, 0.1853, 10.8], [-1.5693, 0.3121, 10.475], [-1.5693, 0.3121, 9.275]], collide: 1}
      - {kind: loft, a: [[-0.9317, 0.1853, 8.95], [-0.9317, 0.1853, 10.8], [-1.5693, 0.3121, 10.475], [-1.5693, 0.3121, 9.275]], b: [[-0.95, 0.0, 9.075], [-0.95, 0.0, 10.925], [-1.6, 0.0, 10.6], [-1.6, 0.0, 9.4]], collide: 1}
      - {kind: loft, a: [[-0.95, 0.0, 9.075], [-0.95, 0.0, 10.925], [-1.6, 0.0, 10.6], [-1.6, 0.0, 9.4]], b: [[-0.9317, -0.1853, 9.2], [-0.9317, -0.1853, 11.05], [-1.5693, -0.3121, 10.725], [-1.5693, -0.3121, 9.525]], collide: 1}
      - {kind: loft, a: [[-0.9317, -0.1853, 9.2], [-0.9317, -0.1853, 11.05], [-1.5693, -0.3121, 10.725], [-1.5693, -0.3121, 9.525]], b: [[-0.8777, -0.3635, 9.325], [-0.8777, -0.3635, 11.175], [-1.4782, -0.6123, 10.85], [-1.4782, -0.6123, 9.65]], collide: 1}
      - {kind: loft, a: [[-0.8777, -0.3635, 9.325], [-0.8777, -0.3635, 11.175], [-1.4782, -0.6123, 10.85], [-1.4782, -0.6123, 9.65]], b: [[-0.7899, -0.5278, 9.45], [-0.7899, -0.5278, 11.3], [-1.3304, -0.8889, 10.975], [-1.3304, -0.8889, 9.775]], collide: 1}
      - {kind: loft, a: [[-0.7899, -0.5278, 9.45], [-0.7899, -0.5278, 11.3], [-1.3304, -0.8889, 10.975], [-1.3304, -0.8889, 9.775]], b: [[-0.6718, -0.6718, 9.575], [-0.6718, -0.6718, 11.425], [-1.1314, -1.1314, 11.1], [-1.1314, -1.1314, 9.9]], collide: 1}
      - {kind: loft, a: [[-0.6718, -0.6718, 9.575], [-0.6718, -0.6718, 11.425], [-1.1314, -1.1314, 11.1], [-1.1314, -1.1314, 9.9]], b: [[-0.5278, -0.7899, 9.7], [-0.5278, -0.7899, 11.55], [-0.8889, -1.3304, 11.225], [-0.8889, -1.3304, 10.025]], collide: 1}
      - {kind: loft, a: [[-0.5278, -0.7899, 9.7], [-0.5278, -0.7899, 11.55], [-0.8889, -1.3304, 11.225], [-0.8889, -1.3304, 10.025]], b: [[-0.3635, -0.8777, 9.825], [-0.3635, -0.8777, 11.675], [-0.6123, -1.4782, 11.35], [-0.6123, -1.4782, 10.15]], collide: 1}
      - {kind: loft, a: [[-0.3635, -0.8777, 9.825], [-0.3635, -0.8777, 11.675], [-0.6123, -1.4782, 11.35], [-0.6123, -1.4782, 10.15]], b: [[-0.1853, -0.9317, 9.95], [-0.1853, -0.9317, 11.8], [-0.3121, -1.5693, 11.475], [-0.3121, -1.5693, 10.275]], collide: 1}
      - {kind: loft, a: [[-0.1853, -0.9317, 9.95], [-0.1853, -0.9317, 11.8], [-0.3121, -1.5693, 11.475], [-0.3121, -1.5693, 10.275]], b: [[-0.0, -0.95, 10.075], [-0.0, -0.95, 11.925], [-0.0, -1.6, 11.6], [-0.0, -1.6, 10.4]], collide: 1}
      - {kind: loft, a: [[-0.0, -0.95, 10.075], [-0.0, -0.95, 11.925], [-0.0, -1.6, 11.6], [-0.0, -1.6, 10.4]], b: [[0.1853, -0.9317, 10.2], [0.1853, -0.9317, 12.05], [0.3121, -1.5693, 11.725], [0.3121, -1.5693, 10.525]], collide: 1}
      - {kind: loft, a: [[0.1853, -0.9317, 10.2], [0.1853, -0.9317, 12.05], [0.3121, -1.5693, 11.725], [0.3121, -1.5693, 10.525]], b: [[0.3635, -0.8777, 10.325], [0.3635, -0.8777, 12.175], [0.6123, -1.4782, 11.85], [0.6123, -1.4782, 10.65]], collide: 1}
      - {kind: loft, a: [[0.3635, -0.8777, 10.325], [0.3635, -0.8777, 12.175], [0.6123, -1.4782, 11.85], [0.6123, -1.4782, 10.65]], b: [[0.5278, -0.7899, 10.45], [0.5278, -0.7899, 12.3], [0.8889, -1.3304, 11.975], [0.8889, -1.3304, 10.775]], collide: 1}
      - {kind: loft, a: [[0.5278, -0.7899, 10.45], [0.5278, -0.7899, 12.3], [0.8889, -1.3304, 11.975], [0.8889, -1.3304, 10.775]], b: [[0.6718, -0.6718, 10.575], [0.6718, -0.6718, 12.425], [1.1314, -1.1314, 12.1], [1.1314, -1.1314, 10.9]], collide: 1}
      - {kind: loft, a: [[0.6718, -0.6718, 10.575], [0.6718, -0.6718, 12.425], [1.1314, -1.1314, 12.1], [1.1314, -1.1314, 10.9]], b: [[0.7899, -0.5278, 10.7], [0.7899, -0.5278, 12.55], [1.3304, -0.8889, 12.225], [1.3304, -0.8889, 11.025]], collide: 1}
      - {kind: loft, a: [[0.7899, -0.5278, 10.7], [0.7899, -0.5278, 12.55], [1.3304, -0.8889, 12.225], [1.3304, -0.8889, 11.025]], b: [[0.8777, -0.3635, 10.825], [0.8777, -0.3635, 12.675], [1.4782, -0.6123, 12.35], [1.4782, -0.6123, 11.15]], collide: 1}
      - {kind: loft, a: [[0.8777, -0.3635, 10.825], [0.8777, -0.3635, 12.675], [1.4782, -0.6123, 12.35], [1.4782, -0.6123, 11.15]], b: [[0.9317, -0.1853, 10.95], [0.9317, -0.1853, 12.8], [1.5693, -0.3121, 12.475], [1.5693, -0.3121, 11.275]], collide: 1}
      - {kind: loft, a: [[0.9317, -0.1853, 10.95], [0.9317, -0.1853, 12.8], [1.5693, -0.3121, 12.475], [1.5693, -0.3121, 11.275]], b: [[0.95, -0.0, 11.075], [0.95, -0.0, 12.925], [1.6, -0.0, 12.6], [1.6, -0.0, 11.4]], collide: 1}
      - {kind: loft, a: [[0.95, -0.0, 11.075], [0.95, -0.0, 12.925], [1.6, -0.0, 12.6], [1.6, -0.0, 11.4]], b: [[0.9317, 0.1853, 11.2], [0.9317, 0.1853, 13.05], [1.5693, 0.3121, 12.725], [1.5693, 0.3121, 11.525]], collide: 1}
      - {kind: loft, a: [[0.9317, 0.1853, 11.2], [0.9317, 0.1853, 13.05], [1.5693, 0.3121, 12.725], [1.5693, 0.3121, 11.525]], b: [[0.8777, 0.3635, 11.325], [0.8777, 0.3635, 13.175], [1.4782, 0.6123, 12.85], [1.4782, 0.6123, 11.65]], collide: 1}
      - {kind: loft, a: [[0.8777, 0.3635, 11.325], [0.8777, 0.3635, 13.175], [1.4782, 0.6123, 12.85], [1.4782, 0.6123, 11.65]], b: [[0.7899, 0.5278, 11.45], [0.7899, 0.5278, 13.3], [1.3304, 0.8889, 12.975], [1.3304, 0.8889, 11.775]], collide: 1}
      - {kind: loft, a: [[0.7899, 0.5278, 11.45], [0.7899, 0.5278, 13.3], [1.3304, 0.8889, 12.975], [1.3304, 0.8889, 11.775]], b: [[0.6718, 0.6718, 11.575], [0.6718, 0.6718, 13.425], [1.1314, 1.1314, 13.1], [1.1314, 1.1314, 11.9]], collide: 1}
      - {kind: loft, a: [[0.6718, 0.6718, 11.575], [0.6718, 0.6718, 13.425], [1.1314, 1.1314, 13.1], [1.1314, 1.1314, 11.9]], b: [[0.5278, 0.7899, 11.7], [0.5278, 0.7899, 13.55], [0.8889, 1.3304, 13.225], [0.8889, 1.3304, 12.025]], collide: 1}
      - {kind: loft, a: [[0.5278, 0.7899, 11.7], [0.5278, 0.7899, 13.55], [0.8889, 1.3304, 13.225], [0.8889, 1.3304, 12.025]], b: [[0.3635, 0.8777, 11.825], [0.3635, 0.8777, 13.675], [0.6123, 1.4782, 13.35], [0.6123, 1.4782, 12.15]], collide: 1}
      - {kind: loft, a: [[0.3635, 0.8777, 11.825], [0.3635, 0.8777, 13.675], [0.6123, 1.4782, 13.35], [0.6123, 1.4782, 12.15]], b: [[0.1853, 0.9317, 11.95], [0.1853, 0.9317, 13.8], [0.3121, 1.5693, 13.475], [0.3121, 1.5693, 12.275]], collide: 1}
      - {kind: loft, a: [[0.1853, 0.9317, 11.95], [0.1853, 0.9317, 13.8], [0.3121, 1.5693, 13.475], [0.3121, 1.5693, 12.275]], b: [[0.0, 0.95, 12.075], [0.0, 0.95, 13.925], [0.0, 1.6, 13.6], [0.0, 1.6, 12.4]], collide: 1}
      - {kind: loft, a: [[0.0, 0.95, 12.075], [0.0, 0.95, 13.925], [0.0, 1.6, 13.6], [0.0, 1.6, 12.4]], b: [[-0.1853, 0.9317, 12.2], [-0.1853, 0.9317, 14.05], [-0.3121, 1.5693, 13.725], [-0.3121, 1.5693, 12.525]], collide: 1}
      - {kind: loft, a: [[-0.1853, 0.9317, 12.2], [-0.1853, 0.9317, 14.05], [-0.3121, 1.5693, 13.725], [-0.3121, 1.5693, 12.525]], b: [[-0.3635, 0.8777, 12.325], [-0.3635, 0.8777, 14.175], [-0.6123, 1.4782, 13.85], [-0.6123, 1.4782, 12.65]], collide: 1}
      - {kind: loft, a: [[-0.3635, 0.8777, 12.325], [-0.3635, 0.8777, 14.175], [-0.6123, 1.4782, 13.85], [-0.6123, 1.4782, 12.65]], b: [[-0.5278, 0.7899, 12.45], [-0.5278, 0.7899, 14.3], [-0.8889, 1.3304, 13.975], [-0.8889, 1.3304, 12.775]], collide: 1}
      - {kind: loft, a: [[-0.5278, 0.7899, 12.45], [-0.5278, 0.7899, 14.3], [-0.8889, 1.3304, 13.975], [-0.8889, 1.3304, 12.775]], b: [[-0.6718, 0.6718, 12.575], [-0.6718, 0.6718, 14.425], [-1.1314, 1.1314, 14.1], [-1.1314, 1.1314, 12.9]], collide: 1}
      - {kind: loft, a: [[-0.6718, 0.6718, 12.575], [-0.6718, 0.6718, 14.425], [-1.1314, 1.1314, 14.1], [-1.1314, 1.1314, 12.9]], b: [[-0.7899, 0.5278, 12.7], [-0.7899, 0.5278, 14.55], [-1.3304, 0.8889, 14.225], [-1.3304, 0.8889, 13.025]], collide: 1}
      - {kind: loft, a: [[-0.7899, 0.5278, 12.7], [-0.7899, 0.5278, 14.55], [-1.3304, 0.8889, 14.225], [-1.3304, 0.8889, 13.025]], b: [[-0.8777, 0.3635, 12.825], [-0.8777, 0.3635, 14.675], [-1.4782, 0.6123, 14.35], [-1.4782, 0.6123, 13.15]], collide: 1}
      - {kind: loft, a: [[-0.8777, 0.3635, 12.825], [-0.8777, 0.3635, 14.675], [-1.4782, 0.6123, 14.35], [-1.4782, 0.6123, 13.15]], b: [[-0.9317, 0.1853, 12.95], [-0.9317, 0.1853, 14.8], [-1.5693, 0.3121, 14.475], [-1.5693, 0.3121, 13.275]], collide: 1}
      - {kind: loft, a: [[-0.9317, 0.1853, 12.95], [-0.9317, 0.1853, 14.8], [-1.5693, 0.3121, 14.475], [-1.5693, 0.3121, 13.275]], b: [[-0.95, 0.0, 13.075], [-0.95, 0.0, 14.925], [-1.6, 0.0, 14.6], [-1.6, 0.0, 13.4]], collide: 1}
      - {kind: loft, a: [[-0.95, 0.0, 13.075], [-0.95, 0.0, 14.925], [-1.6, 0.0, 14.6], [-1.6, 0.0, 13.4]], b: [[-0.9317, -0.1853, 13.2], [-0.9317, -0.1853, 15.05], [-1.5693, -0.3121, 14.725], [-1.5693, -0.3121, 13.525]], collide: 1}
      - {kind: loft, a: [[-0.9317, -0.1853, 13.2], [-0.9317, -0.1853, 15.05], [-1.5693, -0.3121, 14.725], [-1.5693, -0.3121, 13.525]], b: [[-0.8777, -0.3635, 13.325], [-0.8777, -0.3635, 15.175], [-1.4782, -0.6123, 14.85], [-1.4782, -0.6123, 13.65]], collide: 1}
      - {kind: loft, a: [[-0.8777, -0.3635, 13.325], [-0.8777, -0.3635, 15.175], [-1.4782, -0.6123, 14.85], [-1.4782, -0.6123, 13.65]], b: [[-0.7899, -0.5278, 13.45], [-0.7899, -0.5278, 15.3], [-1.3304, -0.8889, 14.975], [-1.3304, -0.8889, 13.775]], collide: 1}
      - {kind: loft, a: [[-0.7899, -0.5278, 13.45], [-0.7899, -0.5278, 15.3], [-1.3304, -0.8889, 14.975], [-1.3304, -0.8889, 13.775]], b: [[-0.6718, -0.6718, 13.575], [-0.6718, -0.6718, 15.425], [-1.1314, -1.1314, 15.1], [-1.1314, -1.1314, 13.9]], collide: 1}
      - {kind: loft, a: [[-0.6718, -0.6718, 13.575], [-0.6718, -0.6718, 15.425], [-1.1314, -1.1314, 15.1], [-1.1314, -1.1314, 13.9]], b: [[-0.5278, -0.7899, 13.7], [-0.5278, -0.7899, 15.55], [-0.8889, -1.3304, 15.225], [-0.8889, -1.3304, 14.025]], collide: 1}
      - {kind: loft, a: [[-0.5278, -0.7899, 13.7], [-0.5278, -0.7899, 15.55], [-0.8889, -1.3304, 15.225], [-0.8889, -1.3304, 14.025]], b: [[-0.3635, -0.8777, 13.825], [-0.3635, -0.8777, 15.675], [-0.6123, -1.4782, 15.35], [-0.6123, -1.4782, 14.15]], collide: 1}
      - {kind: loft, a: [[-0.3635, -0.8777, 13.825], [-0.3635, -0.8777, 15.675], [-0.6123, -1.4782, 15.35], [-0.6123, -1.4782, 14.15]], b: [[-0.1853, -0.9317, 13.95], [-0.1853, -0.9317, 15.8], [-0.3121, -1.5693, 15.475], [-0.3121, -1.5693, 14.275]], collide: 1}
      - {kind: loft, a: [[-0.1853, -0.9317, 13.95], [-0.1853, -0.9317, 15.8], [-0.3121, -1.5693, 15.475], [-0.3121, -1.5693, 14.275]], b: [[-0.0, -0.95, 14.075], [-0.0, -0.95, 15.925], [-0.0, -1.6, 15.6], [-0.0, -1.6, 14.4]], collide: 1}
  - id: nut
    shape: part
    pos: [0, 0, 0]
    density: 2700
    friction: 0.1
    color: "#b8ad97"
    pieces:
      - {kind: poly, points: [[-3.2, 3.24], [-2.0, 3.24], [-2.0, 12.76], [-3.2, 12.76]], y: [-1.2, 1.2], collide: 0}   # the button's left side
      - {kind: poly, points: [[2.0, 3.24], [3.2, 3.24], [3.2, 12.76], [2.0, 12.76]], y: [-1.2, 1.2], collide: 0}   # its right side
      - {kind: poly, points: [[-3.2, 3.24], [3.2, 3.24], [3.2, 12.76], [-3.2, 12.76]], y: [1.6, 2.4], collide: 0}   # its back, cut away at the front
      - {kind: rod, from: [3.2, 0, 8.0], to: [6.4, 0, 8.0], radius: 0.55, collide: 0, color: "#8f8a80"}   # the hand's grip
      - {kind: rod, from: [6.4, 0, 8.0], to: [6.9, 0, 8.0], radius: 1.1, collide: 0, color: "#8f8a80"}
      - {kind: loft, a: [[-0.0, -1.8, 3.54], [-0.0, -1.8, 6.46], [-0.0, -1.05, 6.085], [-0.0, -1.05, 3.915]], b: [[0.3512, -1.7654, 3.665], [0.3512, -1.7654, 6.585], [0.2048, -1.0298, 6.21], [0.2048, -1.0298, 4.04]], collide: 2}
      - {kind: loft, a: [[0.3512, -1.7654, 3.665], [0.3512, -1.7654, 6.585], [0.2048, -1.0298, 6.21], [0.2048, -1.0298, 4.04]], b: [[0.6888, -1.663, 3.79], [0.6888, -1.663, 6.71], [0.4018, -0.9701, 6.335], [0.4018, -0.9701, 4.165]], collide: 2}
      - {kind: loft, a: [[0.6888, -1.663, 3.79], [0.6888, -1.663, 6.71], [0.4018, -0.9701, 6.335], [0.4018, -0.9701, 4.165]], b: [[1.0, -1.4966, 3.915], [1.0, -1.4966, 6.835], [0.5833, -0.873, 6.46], [0.5833, -0.873, 4.29]], collide: 2}
      - {kind: loft, a: [[1.0, -1.4966, 3.915], [1.0, -1.4966, 6.835], [0.5833, -0.873, 6.46], [0.5833, -0.873, 4.29]], b: [[1.2728, -1.2728, 4.04], [1.2728, -1.2728, 6.96], [0.7425, -0.7425, 6.585], [0.7425, -0.7425, 4.415]], collide: 2}
      - {kind: loft, a: [[1.2728, -1.2728, 4.04], [1.2728, -1.2728, 6.96], [0.7425, -0.7425, 6.585], [0.7425, -0.7425, 4.415]], b: [[1.4966, -1.0, 4.165], [1.4966, -1.0, 7.085], [0.873, -0.5833, 6.71], [0.873, -0.5833, 4.54]], collide: 2}
      - {kind: loft, a: [[1.4966, -1.0, 4.165], [1.4966, -1.0, 7.085], [0.873, -0.5833, 6.71], [0.873, -0.5833, 4.54]], b: [[1.663, -0.6888, 4.29], [1.663, -0.6888, 7.21], [0.9701, -0.4018, 6.835], [0.9701, -0.4018, 4.665]], collide: 2}
      - {kind: loft, a: [[1.663, -0.6888, 4.29], [1.663, -0.6888, 7.21], [0.9701, -0.4018, 6.835], [0.9701, -0.4018, 4.665]], b: [[1.7654, -0.3512, 4.415], [1.7654, -0.3512, 7.335], [1.0298, -0.2048, 6.96], [1.0298, -0.2048, 4.79]], collide: 2}
      - {kind: loft, a: [[1.7654, -0.3512, 4.415], [1.7654, -0.3512, 7.335], [1.0298, -0.2048, 6.96], [1.0298, -0.2048, 4.79]], b: [[1.8, -0.0, 4.54], [1.8, -0.0, 7.46], [1.05, -0.0, 7.085], [1.05, -0.0, 4.915]], collide: 2}
      - {kind: loft, a: [[1.8, -0.0, 4.54], [1.8, -0.0, 7.46], [1.05, -0.0, 7.085], [1.05, -0.0, 4.915]], b: [[1.7654, 0.3512, 4.665], [1.7654, 0.3512, 7.585], [1.0298, 0.2048, 7.21], [1.0298, 0.2048, 5.04]], collide: 2}
      - {kind: loft, a: [[1.7654, 0.3512, 4.665], [1.7654, 0.3512, 7.585], [1.0298, 0.2048, 7.21], [1.0298, 0.2048, 5.04]], b: [[1.663, 0.6888, 4.79], [1.663, 0.6888, 7.71], [0.9701, 0.4018, 7.335], [0.9701, 0.4018, 5.165]], collide: 2}
      - {kind: loft, a: [[1.663, 0.6888, 4.79], [1.663, 0.6888, 7.71], [0.9701, 0.4018, 7.335], [0.9701, 0.4018, 5.165]], b: [[1.4966, 1.0, 4.915], [1.4966, 1.0, 7.835], [0.873, 0.5833, 7.46], [0.873, 0.5833, 5.29]], collide: 2}
      - {kind: loft, a: [[1.4966, 1.0, 4.915], [1.4966, 1.0, 7.835], [0.873, 0.5833, 7.46], [0.873, 0.5833, 5.29]], b: [[1.2728, 1.2728, 5.04], [1.2728, 1.2728, 7.96], [0.7425, 0.7425, 7.585], [0.7425, 0.7425, 5.415]], collide: 2}
      - {kind: loft, a: [[1.2728, 1.2728, 5.04], [1.2728, 1.2728, 7.96], [0.7425, 0.7425, 7.585], [0.7425, 0.7425, 5.415]], b: [[1.0, 1.4966, 5.165], [1.0, 1.4966, 8.085], [0.5833, 0.873, 7.71], [0.5833, 0.873, 5.54]], collide: 2}
      - {kind: loft, a: [[1.0, 1.4966, 5.165], [1.0, 1.4966, 8.085], [0.5833, 0.873, 7.71], [0.5833, 0.873, 5.54]], b: [[0.6888, 1.663, 5.29], [0.6888, 1.663, 8.21], [0.4018, 0.9701, 7.835], [0.4018, 0.9701, 5.665]], collide: 2}
      - {kind: loft, a: [[0.6888, 1.663, 5.29], [0.6888, 1.663, 8.21], [0.4018, 0.9701, 7.835], [0.4018, 0.9701, 5.665]], b: [[0.3512, 1.7654, 5.415], [0.3512, 1.7654, 8.335], [0.2048, 1.0298, 7.96], [0.2048, 1.0298, 5.79]], collide: 2}
      - {kind: loft, a: [[0.3512, 1.7654, 5.415], [0.3512, 1.7654, 8.335], [0.2048, 1.0298, 7.96], [0.2048, 1.0298, 5.79]], b: [[0.0, 1.8, 5.54], [0.0, 1.8, 8.46], [0.0, 1.05, 8.085], [0.0, 1.05, 5.915]], collide: 2}
      - {kind: loft, a: [[0.0, 1.8, 5.54], [0.0, 1.8, 8.46], [0.0, 1.05, 8.085], [0.0, 1.05, 5.915]], b: [[-0.3512, 1.7654, 5.665], [-0.3512, 1.7654, 8.585], [-0.2048, 1.0298, 8.21], [-0.2048, 1.0298, 6.04]], collide: 2}
      - {kind: loft, a: [[-0.3512, 1.7654, 5.665], [-0.3512, 1.7654, 8.585], [-0.2048, 1.0298, 8.21], [-0.2048, 1.0298, 6.04]], b: [[-0.6888, 1.663, 5.79], [-0.6888, 1.663, 8.71], [-0.4018, 0.9701, 8.335], [-0.4018, 0.9701, 6.165]], collide: 2}
      - {kind: loft, a: [[-0.6888, 1.663, 5.79], [-0.6888, 1.663, 8.71], [-0.4018, 0.9701, 8.335], [-0.4018, 0.9701, 6.165]], b: [[-1.0, 1.4966, 5.915], [-1.0, 1.4966, 8.835], [-0.5833, 0.873, 8.46], [-0.5833, 0.873, 6.29]], collide: 2}
      - {kind: loft, a: [[-1.0, 1.4966, 5.915], [-1.0, 1.4966, 8.835], [-0.5833, 0.873, 8.46], [-0.5833, 0.873, 6.29]], b: [[-1.2728, 1.2728, 6.04], [-1.2728, 1.2728, 8.96], [-0.7425, 0.7425, 8.585], [-0.7425, 0.7425, 6.415]], collide: 2}
      - {kind: loft, a: [[-1.2728, 1.2728, 6.04], [-1.2728, 1.2728, 8.96], [-0.7425, 0.7425, 8.585], [-0.7425, 0.7425, 6.415]], b: [[-1.4966, 1.0, 6.165], [-1.4966, 1.0, 9.085], [-0.873, 0.5833, 8.71], [-0.873, 0.5833, 6.54]], collide: 2}
      - {kind: loft, a: [[-1.4966, 1.0, 6.165], [-1.4966, 1.0, 9.085], [-0.873, 0.5833, 8.71], [-0.873, 0.5833, 6.54]], b: [[-1.663, 0.6888, 6.29], [-1.663, 0.6888, 9.21], [-0.9701, 0.4018, 8.835], [-0.9701, 0.4018, 6.665]], collide: 2}
      - {kind: loft, a: [[-1.663, 0.6888, 6.29], [-1.663, 0.6888, 9.21], [-0.9701, 0.4018, 8.835], [-0.9701, 0.4018, 6.665]], b: [[-1.7654, 0.3512, 6.415], [-1.7654, 0.3512, 9.335], [-1.0298, 0.2048, 8.96], [-1.0298, 0.2048, 6.79]], collide: 2}
      - {kind: loft, a: [[-1.7654, 0.3512, 6.415], [-1.7654, 0.3512, 9.335], [-1.0298, 0.2048, 8.96], [-1.0298, 0.2048, 6.79]], b: [[-1.8, 0.0, 6.54], [-1.8, 0.0, 9.46], [-1.05, 0.0, 9.085], [-1.05, 0.0, 6.915]], collide: 2}
      - {kind: loft, a: [[-1.8, 0.0, 6.54], [-1.8, 0.0, 9.46], [-1.05, 0.0, 9.085], [-1.05, 0.0, 6.915]], b: [[-1.7654, -0.3512, 6.665], [-1.7654, -0.3512, 9.585], [-1.0298, -0.2048, 9.21], [-1.0298, -0.2048, 7.04]], collide: 2}
      - {kind: loft, a: [[-1.7654, -0.3512, 6.665], [-1.7654, -0.3512, 9.585], [-1.0298, -0.2048, 9.21], [-1.0298, -0.2048, 7.04]], b: [[-1.663, -0.6888, 6.79], [-1.663, -0.6888, 9.71], [-0.9701, -0.4018, 9.335], [-0.9701, -0.4018, 7.165]], collide: 2}
      - {kind: loft, a: [[-1.663, -0.6888, 6.79], [-1.663, -0.6888, 9.71], [-0.9701, -0.4018, 9.335], [-0.9701, -0.4018, 7.165]], b: [[-1.4966, -1.0, 6.915], [-1.4966, -1.0, 9.835], [-0.873, -0.5833, 9.46], [-0.873, -0.5833, 7.29]], collide: 2}
      - {kind: loft, a: [[-1.4966, -1.0, 6.915], [-1.4966, -1.0, 9.835], [-0.873, -0.5833, 9.46], [-0.873, -0.5833, 7.29]], b: [[-1.2728, -1.2728, 7.04], [-1.2728, -1.2728, 9.96], [-0.7425, -0.7425, 9.585], [-0.7425, -0.7425, 7.415]], collide: 2}
      - {kind: loft, a: [[-1.2728, -1.2728, 7.04], [-1.2728, -1.2728, 9.96], [-0.7425, -0.7425, 9.585], [-0.7425, -0.7425, 7.415]], b: [[-1.0, -1.4966, 7.165], [-1.0, -1.4966, 10.085], [-0.5833, -0.873, 9.71], [-0.5833, -0.873, 7.54]], collide: 2}
      - {kind: loft, a: [[-1.0, -1.4966, 7.165], [-1.0, -1.4966, 10.085], [-0.5833, -0.873, 9.71], [-0.5833, -0.873, 7.54]], b: [[-0.6888, -1.663, 7.29], [-0.6888, -1.663, 10.21], [-0.4018, -0.9701, 9.835], [-0.4018, -0.9701, 7.665]], collide: 2}
      - {kind: loft, a: [[-0.6888, -1.663, 7.29], [-0.6888, -1.663, 10.21], [-0.4018, -0.9701, 9.835], [-0.4018, -0.9701, 7.665]], b: [[-0.3512, -1.7654, 7.415], [-0.3512, -1.7654, 10.335], [-0.2048, -1.0298, 9.96], [-0.2048, -1.0298, 7.79]], collide: 2}
      - {kind: loft, a: [[-0.3512, -1.7654, 7.415], [-0.3512, -1.7654, 10.335], [-0.2048, -1.0298, 9.96], [-0.2048, -1.0298, 7.79]], b: [[-0.0, -1.8, 7.54], [-0.0, -1.8, 10.46], [-0.0, -1.05, 10.085], [-0.0, -1.05, 7.915]], collide: 2}
      - {kind: loft, a: [[-0.0, -1.8, 7.54], [-0.0, -1.8, 10.46], [-0.0, -1.05, 10.085], [-0.0, -1.05, 7.915]], b: [[0.3512, -1.7654, 7.665], [0.3512, -1.7654, 10.585], [0.2048, -1.0298, 10.21], [0.2048, -1.0298, 8.04]], collide: 2}
      - {kind: loft, a: [[0.3512, -1.7654, 7.665], [0.3512, -1.7654, 10.585], [0.2048, -1.0298, 10.21], [0.2048, -1.0298, 8.04]], b: [[0.6888, -1.663, 7.79], [0.6888, -1.663, 10.71], [0.4018, -0.9701, 10.335], [0.4018, -0.9701, 8.165]], collide: 2}
      - {kind: loft, a: [[0.6888, -1.663, 7.79], [0.6888, -1.663, 10.71], [0.4018, -0.9701, 10.335], [0.4018, -0.9701, 8.165]], b: [[1.0, -1.4966, 7.915], [1.0, -1.4966, 10.835], [0.5833, -0.873, 10.46], [0.5833, -0.873, 8.29]], collide: 2}
      - {kind: loft, a: [[1.0, -1.4966, 7.915], [1.0, -1.4966, 10.835], [0.5833, -0.873, 10.46], [0.5833, -0.873, 8.29]], b: [[1.2728, -1.2728, 8.04], [1.2728, -1.2728, 10.96], [0.7425, -0.7425, 10.585], [0.7425, -0.7425, 8.415]], collide: 2}
      - {kind: loft, a: [[1.2728, -1.2728, 8.04], [1.2728, -1.2728, 10.96], [0.7425, -0.7425, 10.585], [0.7425, -0.7425, 8.415]], b: [[1.4966, -1.0, 8.165], [1.4966, -1.0, 11.085], [0.873, -0.5833, 10.71], [0.873, -0.5833, 8.54]], collide: 2}
      - {kind: loft, a: [[1.4966, -1.0, 8.165], [1.4966, -1.0, 11.085], [0.873, -0.5833, 10.71], [0.873, -0.5833, 8.54]], b: [[1.663, -0.6888, 8.29], [1.663, -0.6888, 11.21], [0.9701, -0.4018, 10.835], [0.9701, -0.4018, 8.665]], collide: 2}
      - {kind: loft, a: [[1.663, -0.6888, 8.29], [1.663, -0.6888, 11.21], [0.9701, -0.4018, 10.835], [0.9701, -0.4018, 8.665]], b: [[1.7654, -0.3512, 8.415], [1.7654, -0.3512, 11.335], [1.0298, -0.2048, 10.96], [1.0298, -0.2048, 8.79]], collide: 2}
      - {kind: loft, a: [[1.7654, -0.3512, 8.415], [1.7654, -0.3512, 11.335], [1.0298, -0.2048, 10.96], [1.0298, -0.2048, 8.79]], b: [[1.8, -0.0, 8.54], [1.8, -0.0, 11.46], [1.05, -0.0, 11.085], [1.05, -0.0, 8.915]], collide: 2}
      - {kind: loft, a: [[1.8, -0.0, 8.54], [1.8, -0.0, 11.46], [1.05, -0.0, 11.085], [1.05, -0.0, 8.915]], b: [[1.7654, 0.3512, 8.665], [1.7654, 0.3512, 11.585], [1.0298, 0.2048, 11.21], [1.0298, 0.2048, 9.04]], collide: 2}
      - {kind: loft, a: [[1.7654, 0.3512, 8.665], [1.7654, 0.3512, 11.585], [1.0298, 0.2048, 11.21], [1.0298, 0.2048, 9.04]], b: [[1.663, 0.6888, 8.79], [1.663, 0.6888, 11.71], [0.9701, 0.4018, 11.335], [0.9701, 0.4018, 9.165]], collide: 2}
      - {kind: loft, a: [[1.663, 0.6888, 8.79], [1.663, 0.6888, 11.71], [0.9701, 0.4018, 11.335], [0.9701, 0.4018, 9.165]], b: [[1.4966, 1.0, 8.915], [1.4966, 1.0, 11.835], [0.873, 0.5833, 11.46], [0.873, 0.5833, 9.29]], collide: 2}
      - {kind: loft, a: [[1.4966, 1.0, 8.915], [1.4966, 1.0, 11.835], [0.873, 0.5833, 11.46], [0.873, 0.5833, 9.29]], b: [[1.2728, 1.2728, 9.04], [1.2728, 1.2728, 11.96], [0.7425, 0.7425, 11.585], [0.7425, 0.7425, 9.415]], collide: 2}
      - {kind: loft, a: [[1.2728, 1.2728, 9.04], [1.2728, 1.2728, 11.96], [0.7425, 0.7425, 11.585], [0.7425, 0.7425, 9.415]], b: [[1.0, 1.4966, 9.165], [1.0, 1.4966, 12.085], [0.5833, 0.873, 11.71], [0.5833, 0.873, 9.54]], collide: 2}
      - {kind: loft, a: [[1.0, 1.4966, 9.165], [1.0, 1.4966, 12.085], [0.5833, 0.873, 11.71], [0.5833, 0.873, 9.54]], b: [[0.6888, 1.663, 9.29], [0.6888, 1.663, 12.21], [0.4018, 0.9701, 11.835], [0.4018, 0.9701, 9.665]], collide: 2}
      - {kind: loft, a: [[0.6888, 1.663, 9.29], [0.6888, 1.663, 12.21], [0.4018, 0.9701, 11.835], [0.4018, 0.9701, 9.665]], b: [[0.3512, 1.7654, 9.415], [0.3512, 1.7654, 12.335], [0.2048, 1.0298, 11.96], [0.2048, 1.0298, 9.79]], collide: 2}
      - {kind: loft, a: [[0.3512, 1.7654, 9.415], [0.3512, 1.7654, 12.335], [0.2048, 1.0298, 11.96], [0.2048, 1.0298, 9.79]], b: [[0.0, 1.8, 9.54], [0.0, 1.8, 12.46], [0.0, 1.05, 12.085], [0.0, 1.05, 9.915]], collide: 2}
  - id: frame
    shape: part
    pos: [0, 0, 0]
    fixed: true
    color: "#cfc6b4"
    pieces:
      - {kind: poly, points: [[-12, -13.6], [6, -13.6], [6, -12.4], [-12, -12.4]], y: [-3, 3], color: "#b9b09c"}   # the bench
      - {kind: poly, points: [[-3.4, -12.4], [3.4, -12.4], [3.4, -11.0], [-3.4, -11.0]], y: [-1.6, 1.6], collide: 0, color: "#a39a86"}   # the work
      - {kind: poly, points: [[-9.6, -12.4], [-8.2, -12.4], [-8.2, 19.8], [-9.6, 19.8]], y: [-1.6, 1.6], collide: 0}   # the body's post
      - {kind: poly, points: [[-9.6, 18.4], [2.4, 18.4], [2.4, 19.8], [-9.6, 19.8]], y: [-1.6, 1.6], collide: 0}   # and its arm, over the head
joints:
  - {id: j_s, type: hinge, body: stock, axis: [0, 0, 1], damping: 0.0005}   # the stock, free on its axis; + : counter-clockwise seen from above
  - {id: j_n, type: slide, body: nut, axis: [0, 0, 1], range: [-3.6, 3.6], damping: 0.02}   # the button in the hand; + : up
driver: {joint: j_n, kind: velocity, rpm: 0, swing: {amplitude: 0.03, hz: 0.5}, kv: 60000.0, max_torque: 600.0}
checks:
  - {type: follow, out: j_s, in: j_n, expect: -157.08, tol: 6.283, min_r2: 0.99, settle_s: 0.4, window_s: 2.0}   # up and down: one turn for 4.0 cm
  - {type: follow, out: j_s, in: j_n, expect: -157.08, tol: 6.283, min_r2: 0.99, settle_s: 4.4, window_s: 2.0}
  - {type: position, joint: j_n, min: -3.5, max: 3.5, settle_s: 0.0, window_s: 9}
camera: {target: [-1.5, 0, 0.0], position: [-1.5, -92.0, 0.0], fov: 34}
display:
  output: j_s
  labels: {j_n: "Button (hand)", j_s: "Stock"}
  proof: {label: "Button out of the thread", sub: "the hand pulls the button but the stock stands"}

