//open-gripper slip on keyboard gamepad adapter for Nokia N900 phone with mugen extended battery cover(edited to cut face from rest of model for printing and add screw holes) 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]); } //Add delete cube to remove bottom of model translate([-0.5,-5,-0.5]) { cube ([121,300,24]); } //Add block to remove back of model translate([-1,-1,0]) { cube ([125,5,50]); } //Add space to back of model for button wiggle translate([21,7,18.5]) { //cube ([120-16-20,29-14+5,7]); } //add screw holes and countersinks union() { translate ([2.8,13,29]) { cylinder(r1=1, r2=3, h=1.1); translate([0,0,-30]) { #cylinder(r=1, h=50); } } translate ([110.5+1.8+5,26,29]) { cylinder(r1=1, r2=3, h=1.1); translate([0,0,-30]) { #cylinder(r=1, h=50); } } } translate ([2.8,7,29]) { cylinder(r1=1, r2=3, h=1.1); translate([0,0,-30]) { #cylinder(r=1, h=50); } } translate ([110.5+1.8+5,7,29]) { cylinder(r1=1, r2=3, h=1.1); translate([0,0,-30]) { #cylinder(r=1, h=50); } } } } // 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.5,24,12]) { cylinder(r=2,h=40); } translate([95.5,24,28]) { cylinder(r=4,h=20); } translate([95.5,24,18.5]) { cylinder(r1=5, r2=2,h=7); } //button hole at return button translate([102,17,12]) { cylinder(r=2,h=40); } translate([102,17,28]) { cylinder(r=4,h=20); } translate([102,17,18.5]) { cylinder(r1=5, r2=2,h=7); } //button hole at colon button translate([89,17,12]) { cylinder(r=2,h=40); } translate([89,17,28]) { cylinder(r=4,h=20); } translate([89,17,18.5]) { cylinder(r1=5, r2=2,h=7); } //button hole at down-arrow button translate([95.5,10,12]) { cylinder(r=2,h=40); } translate([95.5,10,28]) { cylinder(r=4,h=20); } translate([95.5,10,18.5]) { cylinder(r1=5, r2=2,h=7); } //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); } translate([52.5,24,18.5]) { cylinder(r1=5, r2=2,h=7); } //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); } translate([67.5,24,18.5]) { cylinder(r1=5, r2=2,h=7); } //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); } translate([52.5,10,18.5]) { cylinder(r1=5, r2=2,h=7); } //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); } translate([67.5,10,18.5]) { cylinder(r1=5, r2=2,h=7); } //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); } translate([31.5,24,18.5]) { cylinder(r1=5, r2=2,h=7); } //button hole at D button translate([39,17,12]) { cylinder(r=2,h=40); } translate([39,17,18.5]) { cylinder(r1=5, r2=2,h=7); } //button hole at A button translate([24,17,12]) { cylinder(r=2,h=40); } translate([24,17,18.5]) { cylinder(r1=5, r2=2,h=7); } //button hole at X button translate([31.5,10,12]) { cylinder(r=2,h=40); } translate([31.5,10,18.5]) { cylinder(r1=5, r2=2,h=7); } //Controller cross cutout and pivot bump difference() { union() { translate([27.5,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=2, r2=1, h=3); } } }
//open-gripper slip on keyboard gamepad adapter for Nokia N900 phone with mugen extended battery cover(edited to cut bottom from rest of model for printing and add screw holes) 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]); } //Add delete cube to remove top(gamepad area) of model translate([-1,-1,18.5+4.99]) { cube ([150,300,24]); } //Add block to thin back of model translate([-1,-1,-1]) { cube ([125,6.1,50]); } //Add block to thin translate([-1,-1,-1]) { cube ([125,125,3]); } //add screw holes and countersinks union() { translate ([2.8,13,29]) { cylinder(r1=1, r2=3, h=1.1); translate([0,0,-30]) { #cylinder(r=1, h=50); } } translate ([110.5+1.8+5,26,29]) { cylinder(r1=1, r2=3, h=1.1); translate([0,0,-30]) { #cylinder(r=1, h=50); } } } translate ([2.8,7,29]) { cylinder(r1=1, r2=3, h=1.1); translate([0,0,-30]) { #cylinder(r=1, h=50); } } translate ([110.5+1.8+5,7,29]) { cylinder(r1=1, r2=3, h=1.1); translate([0,0,-30]) { #cylinder(r=1, h=50); } } } } // audio jack translate([105,13+5,15]) rotate([0,90,0]) { cylinder(r=3,h=20); } // mini USB port translate([-1,11+5,12]) { cube([11,11,8]); } //Button Spaces for Left side diamond pattern 4 controler buttons //button hole at semicolon button translate([95.5,24,12]) { cylinder(r=2,h=40); } translate([95.5,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.5,10,12]) { cylinder(r=2,h=40); } translate([95.5,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 X 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); } } }
//button and control pad for open-gripper v0.2 //Controller cross cutout and pivot bump difference() { union() { translate([27.5,5.5,0]) { cube ([8,22,4]); } translate([20,12.5,0]) { cube ([23,8,4]); } //button hole at W button translate([31.5,24,1]) { cylinder(r1=1.5, r2=2,h=8); } //button hole at D button translate([39,17,1]) { cylinder(r1=1.5, r2=2,h=8); } //button hole at A button translate([24,17,1]) { cylinder(r1=1.5, r2=2,h=8); } //button hole at W button translate([31.5,10,1]) { cylinder(r1=1.5, r2=2,h=8); } } //Pivot Bump translate([31.5,17,2]) { cylinder(r1=4, h=4); } }
//buttons for open-gripper V0.4 cylinder(r1=1.5, r2=2,h=9); cylinder(r=3.9,h=4);