Added the alu frame file
[clinton/prusa3.git] / src / z-axis-bottom.scad
CommitLineData
e6b2166c 1// PRUSA iteration3
2// Z axis bottom holder
3// GNU GPL v3
4// Josef Průša <iam@josefprusa.cz> and contributors
5// http://www.reprap.org/wiki/Prusa_Mendel
6// http://prusamendel.org
7
8module z_bottom_base(){
9 translate([0,0,0]) cube([8,40,16+25]); // plate touching the base
10 translate([0,-5,0]) cube([50,15,5]); // plate touching the base
11 translate([0,-5,0]) cube([18,50,5]);
abcf6c93 12}
13
e6b2166c 14module z_bottom_fancy(){
abcf6c93 15 // corner cutouts
16 translate([0.5,0.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
e6b2166c 17 translate([0.5,40-0.5,0]) rotate([0,0,-45+90]) translate([-15,0,-1])cube([30,30,51]);
18 translate([-4,40+5,5]) rotate([0,0,-35-0]) translate([0,0,0.1]) cube([30,30,51]);
19 translate([-4+11,40+5+5,0]) rotate([0,0,-45-0]) translate([0,0,-1]) cube([30,30,51]);
20 translate([8,0,12+20+3]) rotate([0,-55,0]) translate([0,-5,0]) cube([30,50,30]);
21 translate([8,0,12+10]) rotate([45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
22 translate([8,20,12+30]) rotate([-45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
abcf6c93 23 translate([50-2.5,-5+2.5,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
24 translate([50-1.5,10-1.5,0]) rotate([0,0,-45]) translate([-15,0,-1]) cube([30,30,51]);
abcf6c93 25 translate([0,0,5]) rotate([45+180,0,0]) rotate([0,0,-45+90]) translate([0,0,-15]) cube([30,30,30]);
26}
27
e6b2166c 28module z_bottom_holes(){
29 // Frame mounting screw holes
abcf6c93 30 translate([-1,10,10+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
31 translate([-1,10+20,10+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
abcf6c93 32 translate([-1,10+10,10+20+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
33
e6b2166c 34 // Frame mounting screw head holes
abcf6c93 35 translate([4,10,10+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
abcf6c93 36 translate([4,10+20,10+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
abcf6c93 37 translate([4,10+10,10+20+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
38 translate([4,10+10-3.1,10+20+5]) cube([10,6.2,10]);
39
40 // Z rod holder
41 translate([25+4.3,4.2,-1]) rotate([0,0,0]) cylinder(h = 50, r=4.1, $fn=15);
42 translate([25+4.3-1,3,0.6]) cube([2,10,7]); // it's bit up because it helps with printing
43
44 // motor mounting
45 translate([25+4.3,21,-1]){
46 //translate([15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
47
e6b2166c 48 translate([15.5,-15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
49 translate([-15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
50 translate([-15.5,-15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
abcf6c93 51 }
52
53}
54
e6b2166c 55// Final part
56module z_bottom_holder(){
57 difference(){
58 z_bottom_base();
59 z_bottom_fancy();
60 z_bottom_holes();
61 }
62 translate([0,-13,0]) mirror([0,1,0]) difference(){
63 z_bottom_base();
64 z_bottom_fancy();
65 z_bottom_holes();
66 }
abcf6c93 67}
e6b2166c 68
69z_bottom_holder();