Original-Prusa-i3/Printed-Parts/scad/superswitch-case.scad

194 lines
6.1 KiB
OpenSCAD

// PRUSA MM upgrade
// SuperSwitch-case
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module holder_box()
{
difference()
{
translate([0,-20,18]) rotate([0,0,0]) cube([10,3,7]);
translate([6,-20,14]) rotate([0,-45,0]) cube([15,5,5]);
translate([-1,-17,14]) rotate([45,0,0]) cube([15,6,5]);
}
}
module box()
{
difference()
{
union()
{
//back plate
translate([-65,-25,0]) rotate([0,0,0]) cube([130,53,2]);
difference()
{
translate([-65,-25,0]) rotate([0,0,0]) cube([130,53,30]);
translate([-63,-23,0]) rotate([0,0,0]) cube([126,49,32]);
}
translate([-50,-13.5,0]) cube([100,2,5]);
translate([-50,13.5,0]) cube([100,2,5]);
translate([-46,-12.5,0]) cylinder( h=6, r=5, $fn=60 );
translate([-46,14.5,0]) cylinder( h=6, r=5, $fn=60 );
translate([46,-12.5,0]) cylinder( h=6, r=5, $fn=60 );
translate([46,14.5,0]) cylinder( h=6, r=5, $fn=60 );
translate([-12,-21,0]) cylinder( h=4, r=3, $fn=60 );
translate([-12,22,0]) cylinder( h=4, r=3, $fn=60 );
//corners
translate([-65,14,0]) rotate([0,0,45]) cube([20,20,30]);
translate([-65,-39,0]) rotate([0,0,45]) cube([20,20,30]);
translate([65,14,0]) rotate([0,0,45]) cube([20,20,30]);
translate([65,-39,0]) rotate([0,0,45]) cube([20,20,30]);
}
//corners cut
translate([-67,16,-1]) rotate([0,0,45]) cube([20,20,33]);
translate([-67,-41,-1]) rotate([0,0,45]) cube([20,20,33]);
translate([67,16,-1]) rotate([0,0,45]) cube([20,20,33]);
translate([67,-41,-1]) rotate([0,0,45]) cube([20,20,33]);
translate([65,-41,-1]) rotate([0,0,0]) cube([20,90,35]);
translate([-85,-41,-1]) rotate([0,0,0]) cube([20,90,35]);
translate([-80,-45,-1]) rotate([0,0,0]) cube([150,20,35]);
translate([-80,28,-1]) rotate([0,0,0]) cube([150,20,35]);
translate([-46,-12.5,-1]) cylinder( h=10, r=1.5, $fn=60 );
translate([-46,14.5,-1]) cylinder( h=10, r=1.5, $fn=60 );
translate([46,-12.5,-1]) cylinder( h=10, r=1.5, $fn=60 );
translate([46,14.5,-1]) cylinder( h=10, r=1.5, $fn=60 );
translate([-46,-12.5,-1]) cylinder( h=5, r=3.2, $fn=60 );
translate([-46,14.5,-1]) cylinder( h=5, r=3.2, $fn=60 );
translate([46,-12.5,-1]) cylinder( h=5, r=3.2, $fn=60 );
translate([46,14.5,-1]) cylinder( h=5, r=3.2, $fn=60 );
translate([-46,-12.5,-1]) cylinder( h=2, r1=4, r2=3, $fn=60 );
translate([-46,14.5,-1]) cylinder( h=2, r1=4, r2=3, $fn=60 );
translate([46,-12.5,-1]) cylinder( h=2, r1=4, r2=3, $fn=60 );
translate([46,14.5,-1]) cylinder( h=2, r1=4, r2=3, $fn=60 );
// frame mounting holes
translate([-12,-21,-1]) cylinder( h=15, r=1.7, $fn=60 );
translate([-12,22,-1]) cylinder( h=15, r=1.7, $fn=60 );
translate([-12,-21,4]) cylinder( h=8, r=3, $fn=60 );
translate([-12,22,4]) cylinder( h=4, r=3, $fn=60 );
translate([-12,-21,-4]) cylinder( h=5, r1=4, r2=1.7,$fn=60 );
translate([-12,22,-4]) cylinder( h=5, r1=4, r2=1.7,$fn=60 );
// cut off
translate([-25,0,-1]) cylinder( h=15, r=11, $fn=6 );
translate([-15,0,-1]) cylinder( h=15, r=11, $fn=6 );
translate([30,0,-1]) cylinder( h=15, r=11, $fn=6 );
translate([15,0,-1]) cylinder( h=15, r=11, $fn=6 );
translate([20,0,-1]) cylinder( h=15, r=11, $fn=6 );
translate([54,0,-1]) cylinder( h=15, r=8, $fn=6 );
translate([-53,0,-1]) cylinder( h=15, r=8, $fn=6 );
// M3 nut
translate([71,2,21]) rotate([0,0,90]) cube([6,15,2.5]);
// wires to rambo hole
difference()
{
translate([-74,2,8]) rotate([0,90,0]) cylinder( h=15, r=8, $fn=6 );
translate([-80,-10,6]) rotate([0,90,0]) cube([20,30,30]);
}
// wires to motor hole
translate([60,-7,18]) rotate([0,90,0]) cylinder( h=15, r=7, $fn=6 );
translate( [ -46 , -12.5 ,1] )
{
intersection(){cylinder(r=3.2, h=10, $fn=30);
translate( [ 0 , 0 , 2.5 ] ) cube([3.8,8,2], center=true);}
translate( [ 0 , 0 , 3 ] ) cube([3.8,3.8,2], center=true);
}
translate( [ -46 , 14.5 ,1] )
{
intersection(){cylinder(r=3.2, h=10, $fn=30);
translate( [ 0 , 0 , 2.5 ] ) cube([3.8,8,2], center=true);}
translate( [ 0 , 0 , 3 ] ) cube([3.8,3.8,2], center=true);
}
translate( [ 46 , -12.5 ,1] )
{
intersection(){cylinder(r=3.2, h=10, $fn=30);
translate( [ 0 , 0 , 2.5 ] ) cube([3.8,8,2], center=true);}
translate( [ 0 , 0 , 3 ] ) cube([3.8,3.8,2], center=true);
}
translate( [ 46 , 14.5 ,1] )
{
intersection(){cylinder(r=3.2, h=10, $fn=30);
translate( [ 0 , 0 , 2.5 ] ) cube([3.8,8,2], center=true);}
translate( [ 0 , 0 , 3 ] ) cube([3.8,3.8,2], center=true);
}
translate([53.7,5,27]) cylinder( h=5, r=10, $fn=60 );
}
// wires to rambo hole shield
difference()
{
translate([-74,2,8]) rotate([0,90,0]) cylinder( h=11, r=10, $fn=6 );
translate([-80,2,8]) rotate([0,90,0]) cylinder( h=25, r=8, $fn=6 );
translate([-80,-10,6]) rotate([0,90,0]) cube([20,30,30]);
translate([-80,-10,17]) rotate([0,70,0]) cube([20,30,10]);
}
// door mounts
translate([0,-3,5]) holder_box();
translate([-56,-3,5]) holder_box();
translate([-56,6,5]) mirror([0,1,0]) holder_box();
translate([0,6,5]) mirror([0,1,0]) holder_box();
// M3 screw for doors
difference()
{
union()
{
translate([59,5,2]) rotate([0,0,90]) cylinder( h=25, r=5, $fn=6 );
translate([63,0,2]) rotate([0,0,90]) cube([10,4,25]);
}
translate([59,5,17]) cylinder( h=25, r=1.6, $fn=60 );
translate([59,5,29]) cylinder( h=5, r1=1.6, r2=3, $fn=60 );
translate([58,-5,-5]) rotate([0,-30,0]) cube([10,20,25]);
translate([71,2,21]) rotate([0,0,90]) cube([6,15,2.5]);
}
}
box();