// 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)