include ; use ; $fn=100; thread = [ 4, // diameter 6 // depth ]; thickness = 1.2; gap = 0.4; pipe_diameter = 8; module multi_helix( length, diameter, count = 4) { factor = 90*length/diameter; for( f = [factor, -factor]) linear_extrude( length, center = true, slices=length/2, twist = f) for( i = [0:count-1]) rotate( [0, 0, 360/count*i]) translate( [diameter/2, 0, 0]) children(); } difference() { cylinder( h=50, d=20, center=true); cylinder( h=50+0.1, d=20-2*thickness, center=true); } intersection() { multi_helix( 50, diameter = 20-thickness, count = 4) translate( [-thickness,0,0]) //circle( d=thickness*4); square(thickness*2,center=true); cylinder( h=50, d=20, center=true); }