// functions.crd — user-defined functions ring(r, t) = diff(sphere(r), sphere(r - t)) pillar(r, h) = cylinder(r, h) let base: Obj = ring(5, 0.5) let col: Obj = translate(pillar(0.8, 4), 4, 0, 4) let col2: Obj = translate(pillar(0.8, 4), -4, 0, 4) let col3: Obj = rotate_z(col, pi/2) let col4: Obj = rotate_z(col2, pi/2) let result: Obj = union(base, union(col, union(col2, union(col3, col4)))) cast(result)