//open-gripper slip on keyboard gamepad adapter for Nokia N900 phone with mugen extended battery cover difference() { // outer box cube ([120,29,30]); // cut room for N900 to fit and holes for audio and USB union() { //this is a box model of a N900 w/mugen back and screen slid out union() { translate([5,5,5]) { #cube([110.5,58,18.5]); } translate([5,29,22.5]) { #cube([110.5,58,6]); } } // audio jack translate([105,13,15]) rotate([0,90,0]) { cylinder(r=3,h=20); } // mini USB port translate([-1,11,12]) { cube([11,11,8]); } //Button Spaces for Left side diamond pattern 4 controler buttons //button hole at semicolon button translate([95,24,12]) { cylinder(r=2,h=40); } translate([95,24,28]) { cylinder(r=4,h=20); } //button hole at return button translate([102,17,12]) { cylinder(r=2,h=40); } translate([102,17,28]) { cylinder(r=4,h=20); } //button hole at colon button translate([89,17,12]) { cylinder(r=2,h=40); } translate([89,17,28]) { cylinder(r=4,h=20); } //button hole at down-arrow button translate([95,10,12]) { cylinder(r=2,h=40); } translate([95,10,28]) { cylinder(r=4,h=20); } //Button Spaces for center 4 controler buttons //button hole at T button translate([52.5,24,12]) { cylinder(r=2,h=40); } translate([52.5,24,28]) { cylinder(r=4,h=20); } //button hole at U button translate([67.5,24,12]) { cylinder(r=2,h=40); } translate([67.5,24,28]) { cylinder(r=4,h=20); } //button hole at B button translate([52.5,10,12]) { cylinder(r=2,h=40); } translate([52.5,10,28]) { cylinder(r=4,h=20); } //button hole at M button translate([67.5,10,12]) { cylinder(r=2,h=40); } translate([67.5,10,28]) { cylinder(r=4,h=20); } //directional controller, right side, center pivot to prevent multi-press of directional buttons W,A,D,X pivot bump over S key //Button through holes //button hole at W button translate([31.5,24,12]) { cylinder(r=2,h=40); } //button hole at D button translate([39,17,12]) { cylinder(r=2,h=40); } //button hole at A button translate([24,17,12]) { cylinder(r=2,h=40); } //button hole at W button translate([31.5,10,12]) { cylinder(r=2,h=40); } //Controller cross cutout and pivot bump difference() { union() { translate([28,5.5,28]) { cube ([8,22,20]); } translate([20,12.5,28]) { cube ([23,8,20]); } } //Pivot Bump translate([31.5,17,28.5]) { cylinder(r1=3, r2=1, h=2); } } } }