// dependency: https://github.com/revarbat/BOSL use module tape(start, end, height = tape_height, thickness = 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 = tape_height, thickness = tape_thickness) { color("RosyBrown") up(thickness) minkowski() { difference() { cylinder(h=height - thickness, r=r_out); cylinder(h=height - thickness, r=r_in); } sphere(thickness); } }