// t=18 (objects: 9, operations: 8, transforms: 8)
// Gear approximation: outer ring with 8 tooth slots

let ring: Obj = diff(cylinder(4, 1), cylinder(1.5, 2))

let t0: Obj = translate(cylinder(0.6, 2), 3.5, 0, 0)
let t1: Obj = translate(cylinder(0.6, 2), 2.475, 2.475, 0)
let t2: Obj = translate(cylinder(0.6, 2), 0, 3.5, 0)
let t3: Obj = translate(cylinder(0.6, 2), -2.475, 2.475, 0)
let t4: Obj = translate(cylinder(0.6, 2), -3.5, 0, 0)
let t5: Obj = translate(cylinder(0.6, 2), -2.475, -2.475, 0)
let t6: Obj = translate(cylinder(0.6, 2), 0, -3.5, 0)
let t7: Obj = translate(cylinder(0.6, 2), 2.475, -2.475, 0)

let slots: Obj = union(t0, t1)
let s2: Obj = union(slots, t2)
let s3: Obj = union(s2, t3)
let s4: Obj = union(s3, t4)
let s5: Obj = union(s4, t5)
let s6: Obj = union(s5, t6)
let s7: Obj = union(s6, t7)

let scene: Obj = diff(ring, s7)
cast(scene)
