Mate holder
From 33C3_Public_Wiki
Description | Mate holder for the chairs in CCH |
---|---|
Has website | |
Persons working on | Asbjorn |
Other projects... |
Keep you mate bottles from tilting over on the floor. I preprinted about 60 at Labitat before going to congress.
Unfortunately there are some chairs, where they doesn't fit (too few measurement samples), forcing them will make break em, so only use them on those were they fit.
Enjoy, if you want one there currently are some in saal 2.
holder.scad
// Mate holder for Saal 1-2 at CCH, rev 1 // Placed in Public Domain plate_d = 16.3; // turned out to only fit about 2/3 of the chairs :( plate_w = 500; plate_h = 600; // >>> ((atan(58./10)/(tau/360))+360)%90 // 80.21759296819272 plate_angle = 9.8; mate_head_radius = 13.25; mate_outer_radius = 15.75; arm_w = 5; holder_w = 2*mate_head_radius+(2*arm_w); holder_hf = 10; holder_hb = 20; module backplate() { translate([-plate_w/2,0,0]) rotate([plate_angle+180,0,0]) cube([plate_w,plate_d,plate_h]); } module barehook() { rotate([plate_angle+180,0,0]) translate([-holder_w/2,plate_d/2,0]) rotate([90,0,90]) scale([1,0.47,1]) cylinder(r=plate_d/2+5,h=holder_w,$fn=50); translate([-holder_w/2,0,0]) rotate([plate_angle+180,0,0]) translate([0,-5,0]) { cube([holder_w,10+plate_d,holder_hf]); translate([0,plate_d,0]) cube([holder_w,10,holder_hb]); } } module mate_bottle() { translate([0,0,-24.8]) cylinder(r=mate_head_radius,h=25,$fn=50); translate([0,0,0.001]) cylinder(r=mate_outer_radius,h=3,$fn=50); } module room_for_mate() { mate_bottle(); cylinder(r=mate_outer_radius,h=30,$fn=50); difference(){ translate([-mate_outer_radius,-30,0]) cube([2*mate_outer_radius, 30,10]); translate([-holder_w/2,-11, -0.5]) rotate([0,90,0]) scale([0.67,1,1]) cylinder(r=4,h=holder_w,$fn=50); } translate([0,-mate_head_radius,0]) cube([mate_head_radius*2,mate_head_radius*2,20],center=true); } module mate_holder() { difference () { union(){ translate([-holder_w/2,-15,-5]) cube([holder_w,30,5]); translate([-holder_w/2,-11, -0.5]) rotate([0,90,0]) scale([0.67,1,1]) cylinder(r=4,h=holder_w,$fn=50); } union(){ mate_bottle(); translate([0,-mate_head_radius,0]) cube([mate_head_radius*2,mate_head_radius*2,20],center=true); } } //mate_bottle(); } module arm_support() { difference(){ translate([0,-25,-25]) cube([5,25,25]); translate([0,-25,0]) rotate([50,0,0]) translate([-1,-50,-50]) cube([7,50,50]); } } module hook() { difference () { union(){ barehook(); translate([0,-30,3]) mate_holder(); translate([-holder_w/2,-41,0]) cube([holder_w,37,5.2]); translate([0,-17,0]){ translate([-holder_w/2,0,0]) arm_support(); translate([holder_w/2-5,0,0]) arm_support(); } }; backplate(); translate([0,-30,0]) room_for_mate(); rotate([plate_angle+90,0,0]) translate([0,-3,10]) cylinder(r=3,h=15,$fn=50); } } //%backplate(); //hook(); rotate([180,0,0]) // for rotate for printing hook();