// dependency: https://github.com/revarbat/BOSL use use module tape(start, end, height = get_holodisk_tape_height(), thickness = get_holodisk_tape_thickness()) { color("RosyBrown") up(thickness) hull() { translate(start) sphere(thickness); translate(end) sphere(thickness); up(height - thickness) { translate(start) sphere(thickness); translate(end) sphere(thickness); } } } module tape_spool(r_in, r_out, height = get_holodisk_tape_height(), thickness = get_holodisk_tape_thickness()) { color("RosyBrown") up(thickness) minkowski() { difference() { cylinder(h=height - thickness, r=r_out); cylinder(h=height - thickness, r=r_in); } sphere(thickness); } }