Z axis improvement

Improved Z axis parts to prevent Z lead screw from bending
dev
michalprusa 2016-04-24 13:35:33 +02:00
parent b2b6a3ee95
commit 1ae234d15e
4 changed files with 32510 additions and 31031 deletions

View File

@ -1,77 +1,82 @@
// PRUSA iteration3 // PRUSA iteration3
// Z axis bottom holder // Z axis bottom holder
// GNU GPL v3 // GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors // Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel // http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org // http://prusamendel.org
module z_bottom_base(){ module z_bottom_base(){
translate([0,-1.5,0]) cube([8,49,16+25]); // plate touching the base translate([0,-1.5,0]) cube([8,49,16+25]); // plate touching the base
translate([0,-5,0]) cube([30,4.01,22]); // plate touching the base translate([0,-5,0]) cube([30,4.01,22]); // plate touching the base
translate([0,41.5,0]) cube([30,6.01,22]); // plate touching the base translate([0,41.5,0]) cube([30,6.01,22]); // plate touching the base
translate([0,-5,0]) cube([50,52.5,5]); // plate touching the base translate([0,-5,0]) cube([50,52.5,5]); // plate touching the base
} }
module z_bottom_fancy(){ module z_bottom_fancy(){
// corner cutouts // corner cutouts
translate([0.5,-2.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]); translate([0.5,-2.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
translate([0.5,40-0.5+5,0]) rotate([0,0,-45+90]) translate([-15,0,-1]) cube([30,30,51]); translate([0.5,40-0.5+5,0]) rotate([0,0,-45+90]) translate([-15,0,-1]) cube([30,30,51]);
//translate([-4,40+5,5]) rotate([0,0,-35-0]) translate([0,0,0.1]) cube([30,30,51]); //translate([-4,40+5,5]) rotate([0,0,-35-0]) translate([0,0,0.1]) cube([30,30,51]);
//translate([-4+11,40+5+5,0]) rotate([0,0,-45-0]) translate([0,0,-1]) cube([30,30,51]); //translate([-4+11,40+5+5,0]) rotate([0,0,-45-0]) translate([0,0,-1]) cube([30,30,51]);
translate([8,0,12+20+6]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]); translate([8,0,12+20+6]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
translate([20,-2,12+8]) rotate([45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]); translate([20,-2,12+8]) rotate([45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
translate([25,20,12+30]) rotate([-45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]); translate([25,20,12+30]) rotate([-45,0,0]) rotate([0,-90,0]) translate([0,-5,0]) cube([30,50,30]);
translate([50-2.5,-5+2.5+67,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]); translate([50-2.5,-5+2.5+67,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
translate([50-2.5,-5+2.5,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]); translate([50-2.5,-5+2.5,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
//translate([50-1.5,10-1.5,0]) rotate([0,0,-45]) translate([-15,0,-1]) cube([30,30,51]); //translate([50-1.5,10-1.5,0]) rotate([0,0,-45]) translate([-15,0,-1]) cube([30,30,51]);
//translate([0,0,5]) rotate([45+180,0,0]) rotate([0,0,-45+90]) translate([0,0,-15]) cube([30,30,30]); //translate([0,0,5]) rotate([45+180,0,0]) rotate([0,0,-45+90]) translate([0,0,-15]) cube([30,30,30]);
// Stiffner cut out // Stiffner cut out
translate([30,0,5.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,60,30]); translate([30,0,5.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,60,30]);
} }
module z_bottom_holes(){ module z_bottom_holes(){
// Frame mounting screw holes // Frame mounting screw holes
translate([-1,10,10+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30); translate([-1,10,10+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
translate([-1,10+20,10+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30); translate([-1,10+20,10+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
translate([-1,10+10,10+20+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30); translate([-1,10+10,10+20+5]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
// Frame mounting screw head holes // Frame mounting screw head holes
translate([4,10,10+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30); translate([4,10,10+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+20,10+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30); translate([4,10+20,10+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+10,10+20+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30); translate([4,10+10,10+20+5]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10+10-3.1,10+20+5]) cube([10,6.2,10]); translate([4,10+10-3.1,10+20+5]) cube([10,6.2,10]);
// Z rod holder // Z rod holder
translate([25+4.3,3,-1]) rotate([0,0,0]) cylinder(h = 50, r=4.125, $fn=15); translate([25+4.3,3,-1]) rotate([0,0,0]) cylinder(h = 50, r=4.125, $fn=15);
translate([25+4.3-1,3,0.6]) cube([2,10,7]); // it's bit up because it helps with printing translate([25+4.3-1,3,0.6]) cube([2,10,7]); // it's bit up because it helps with printing
// motor mounting // motor mounting
translate([25+4.3,20,-1]){ translate([25+4.3,20,-1]){
//translate([15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30); //translate([15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
translate([15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30); translate([15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
translate([15.5,-15.5,-1]) cylinder(h = 20, r=1.8, $fn=30); translate([15.5,-15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
translate([-15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30); translate([-15.5,15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
translate([-15.5,-15.5,-1]) cylinder(h = 20, r=1.8, $fn=30); translate([-15.5,-15.5,-1]) cylinder(h = 20, r=1.8, $fn=30);
translate([0,0,-1]) cylinder(h = 20, r=12, $fn=30); translate([0,0,-1]) cylinder(h = 20, r=12, $fn=30);
} }
} }
// Final part module z_bottom_right(){
module z_bottom_holder(){ difference(){
difference(){ z_bottom_base();
z_bottom_base(); z_bottom_fancy();
z_bottom_fancy(); z_bottom_holes();
z_bottom_holes(); }
} }
translate([0,-13,0]) mirror([0,1,0]) difference(){
z_bottom_base(); module z_bottom_left(){
z_bottom_fancy(); translate([0,-13,0]) mirror([0,1,0])
z_bottom_holes(); difference(){
} z_bottom_base();
} z_bottom_fancy();
z_bottom_holes();
z_bottom_holder(); }
}
//z_bottom_holder();
#z_bottom_right();
#z_bottom_left();

View File

@ -1,66 +1,84 @@
// PRUSA iteration3 // PRUSA iteration3
// Z axis top holder // Z axis top holder
// GNU GPL v3 // GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors // Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel // http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org // http://prusamendel.org
module z_top_base(){
translate([0,-5,0]) cube([8,45,16]); // plate touching the base module z_top_base(){
translate([0,-5,0]) cube([30,4.01,12]); // plate touching the base translate([0,-5,0]) cube([8,45,16]); // plate touching the base
translate([0,-5,0]) cube([38,14,5]); // plate touching the base translate([0,-5,0]) cube([30,4.01,12]); // plate touching the base
} translate([0,-5,0]) cube([38,45,5]); // plate touching the base
}
module z_top_fancy(){
// Corner cutouts module z_top_fancy(){
translate([0.5,0.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]); // Corner cutouts
translate([0.5,40-0.5,0]) rotate([0,0,-45+90]) translate([-15,0,-1]) cube([30,30,51]); translate([0.5,0.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
translate([-4,40+5,0]) rotate([0,0,-45-0]) translate([0,0,-1]) cube([30,30,51]); translate([0.5,40-0.5,0]) rotate([0,0,-45+90]) translate([-15,0,-1]) cube([30,30,51]);
translate([4,0,12]) rotate([0,0, 0]) translate([0,-5,0]) cube([30,50,30]);
translate([-13,40+5+10.2,0]) rotate([0,0,-45-0]) translate([0,0,-1]) cube([30,30,51]); // frame side angle
translate([6,0,12]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]); translate([8,28,0]) translate([0,0,-1]) cube([50,50,51]);
translate([8,4,10]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]); translate([4,0,12]) rotate([0,0, 0]) translate([0,-5,0]) cube([30,50,30]);
translate([6,0,12]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]);
translate([38-2.5,-5+2.5,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]); translate([8,4,10]) rotate([0,-45, 0]) translate([0,-5,0]) cube([30,50,30]);
translate([38-1.5,10-1.5,0]) rotate([0,0,-45]) translate([-15,0,-1]) cube([30,30,51]);
translate([0,0,5]) rotate([45+180,0,0]) rotate([0,0,-45+90]) translate([0,0,-15]) cube([30,30,30]); translate([38-2.5,-5+2.5,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]);
translate([35,26,0]) rotate([0,0,-45]) translate([-15,0,-1]) cube([30,30,51]); // outer corner
// Stiffner cut out translate([0,0,5]) rotate([45+180,0,0]) rotate([0,0,-45+90]) translate([0,0,-15]) cube([30,30,30]);
translate([30,0,5.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,50,30]);
//easy cleanup fix // Stiffner cut out
translate([0.5,0,0.5]) rotate([0,45,0]) translate([-2.5,0,-5]) cube([5,40,5]); translate([30,0,5.5]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,50,30]);
} //easy cleanup fix
translate([0.5,0,0.5]) rotate([0,45,0]) translate([-2.5,0,-5]) cube([5,40,5]);
module z_top_holes(){ }
// Screw holes
translate([-1,10,10]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30); module z_top_holes(){
translate([-1,10+20,10]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30); // Screw holes frame
translate([-1,10,10]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
// Screw heads translate([-1,10+20,10]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30);
translate([4,10,10]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10-3.1,10]) cube([10,6.2,10]);
translate([4,10+20,10]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30); // Screw heads
translate([4,10+20-3.1,10]) cube([10,6.2,10]); translate([4,10,10]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([4,10-3.1,10]) cube([10,6.2,10]);
// Z rod holder translate([4,10+20,10]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30);
translate([25+4.3,3.2,-1]) rotate([0,0,0]) cylinder(h = 50, r=4.1, $fn=15); translate([4,10+20-3.1,10]) cube([10,6.2,10]);
translate([25+4.3-1,3,0.6]) cube([2,10,7]); // it's bit up because it helps with printing
} // Z rod holder
translate([25+4.3,3.2,-1]) rotate([0,0,0]) cylinder(h = 50, r=4.1, $fn=15);
// Final part
module z_top(){
difference(){
z_top_base(); // odlehceni A
z_top_fancy(); translate([16,10,-1]) rotate([0,0,0]) cylinder(h = 50, r=8, $fn=6); // odlehceni
z_top_holes(); translate([16,28,-1]) rotate([0,0,0]) cylinder(h = 50, r=8, $fn=6); // odlehceni
}
translate([0,-13,0]) mirror([0,1,0]) difference(){ translate([25+4.3,3.2+17,-1]) rotate([0,0,0]) cylinder(h = 50, r=5, $fn=15); // screw hole
z_top_base();
z_top_fancy(); translate([25+4.3-1,3,0.6]) cube([2,15,7]); // it's bit up because it helps with printing
z_top_holes();
} }
}
module z_top_right(){
z_top(); difference(){
z_top_base();
z_top_fancy();
z_top_holes();
}
}
module z_top_left(){
translate([0,-13,0]) mirror([0,1,0])
difference(){
z_top_base();
z_top_fancy();
z_top_holes();
}
}
// Final part
z_top_left();
z_top_right();

43180
Printed-Parts/stl/z-axis-bottom.stl Normal file → Executable file

File diff suppressed because it is too large Load Diff

20052
Printed-Parts/stl/z-axis-top.stl Normal file → Executable file

File diff suppressed because it is too large Load Diff