include in_d = 9; t = 2; zip_t = 0.75; zip_w = 7.5; zip_n = 3; zip_dist = 15; height = 60; $fn=36; difference() { cyl(d=in_d+2*t, h=height, rounding=1); down(0.01) cyl(d=in_d, h=height+0.02, rounding=-1); for(i = [0:1:zip_n-1]) { up(-(height-zip_dist)/2 + i*(height-zip_dist)/(zip_n-1)) difference() { cyl(d=in_d+2*t+0.01, h=zip_w); cyl(d=in_d+2*t-2*zip_t, h=zip_w, rounding=-1); } } cube([100,1,100], center=true); }