View Single Post
Posts: 1,431 | Thanked: 2,630 times | Joined on Jan 2011 @ Touring
#9
I have a prototype printing now, silver buttons and black body.
Actual print pic below code!
(these files need to be tweaked a bit for final release)
Top/gamepad V0.6
Code:
//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);
			}
		}
  }
Bottom, USB port and headphone port V0.4
Code:
//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);
			}
		}
  }
Dpad V0.4
Code:
//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);
			}
		}
Button, print eight
Code:
//buttons for open-gripper V0.4
 
    cylinder(r1=1.5, r2=2,h=9);
    cylinder(r=3.9,h=4);
Attached Images
 

Last edited by biketool; 2013-07-07 at 17:46.
 

The Following 6 Users Say Thank You to biketool For This Useful Post: