25 lines
863 B
Plaintext
25 lines
863 B
Plaintext
// 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)
|