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 | |
8 | module 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 |
14 | module 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 |
28 | module 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 |
56 | module 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 | |
69 | z_bottom_holder(); |