////////////////////////////////////////////////////////////// /// /// HandlebarPlug - Bike handlebar plug replacement /// /// Parametric so can be changed to fit any pipe diameter. /// ////////////////////////////////////////////////////////////// /// /// 2011-11-07 leemorton123, Created on Thingiverse /// 2014-01-26 Chris Newton, Modified /// 2014-05-30 Erwin Rieger, Resized, use a 4x40 universal/wood /// screw "Spax", M3 nut no longer needed. /// /// Released under Creative Commons - Attribution - Share Alike licence /// ////////////////////////////////////////////////////////////// // Some spacing, "etwas luft lassen" someSpace = 0.25; // Outer diameter of screw thread s4outer = 4 + someSpace; // Inner diameter of screw thread, don't make it too tight s4inner = 3.6 + 0.2; // Diameter of screw head s4HeadDia = 8 + someSpace; // Depth of screw head countersunkhole s4HeadDepth = 3; // Makes insert for spreading bevelled edge of plug module spreader (r1,r2,h){ difference () { cylinder (r1=r1, r2=r2, h=h); // bolt hole for s4 bolt cylinder(r=s4inner/2,h=h); } } ////////////////////////////////////////////////////////////// // // This is the plug that gets inserted into the handle bar or // end of the pipe. // ////////////////////////////////////////////////////////////// module plug (thickness = 3, // how thick do I make the parts rOuter = 14, // the radius of the cap // The portion of the plug (the cap) // that sits outside of the pipe rInner=9.5, // The radius of the plug that sits // inside the pipe height = 20, // depth of plug in tube slitWidth=1.5, // slit parameters slitDepth=8, numSlits=6) { difference() { union(){ cylinder(r=rOuter, h=thickness); cylinder(r=rInner, h=height); } // remove centre of plug translate([0,0,thickness*2]) cylinder(r=rInner-thickness, h=height); // Bevel inside edge of plug translate ([0,0,thickness+height-slitDepth]) cylinder (r1=rInner-thickness, r2=rInner, h=slitDepth-3); // cut slits in the plug for(i=[1:numSlits]){ rotate([0,0,i*360/numSlits]) translate([0,0,height-slitDepth]) cube([rOuter,slitWidth,rOuter]); } // bolt hole for s4 bolt cylinder(r=s4outer/2,h=height+thickness); // countersunk hole for head of s4 bolt cylinder (r=s4HeadDia/2, s4HeadDepth=3); } // spreader translate ([rOuter*2,0,slitDepth-3]) { rotate ([180,0,0]) spreader (r1=rInner-thickness, r2=rInner, h=slitDepth-3); } } // Make a 18.5mm plug plug (rOuter= 31/2, rInner=18.5/2, slitDepth=10);