New Y belt holder

New design of Y belt holder for easier assembly
This commit is contained in:
michalprusa 2016-04-24 13:21:06 +02:00
parent d818a64c89
commit 6b4ad94d4e
2 changed files with 8099 additions and 2790 deletions

View File

@ -1,44 +1,89 @@
// PRUSA iteration3
// Y belt holder
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module belt_holder_base(){
translate([-33-8.5,0,-1]) cube([33,15,16]);
translate([-33-8.5,11,-1]) cube([33,15,16]);
translate([-50,22,-1]) cube([50,4,16]);
}
module belt_holder_beltcut(){
position_tweak=-0.2;
// Belt slit
translate([-66,-0.5+10,3]) cube([67,0.55,15]);
// Smooth insert cutout
translate([-66,-0.5+10,12]) rotate([45,0,0]) cube([67,15,15]);
// Individual teeth
for ( i = [0 : 23] ){
translate([0-i*2,21.5+8.5,6]) %cube([1.1,2,15]);
translate([0-i*2+position_tweak,-0.5+8.5,3]) cube([1.1,2,15]);
}
// Middle opening
translate([-2-25,-1,3]) cube([4,11,15]);
}
module belt_holder_holes(){
translate([-4.5,0,7.5]) rotate([-90,0,0]) cylinder(h=30, r=1.7, $fn=10);
translate([-45.5,0,7.5]) rotate([-90,0,0]) cylinder(h=30, r=1.7, $fn=10);
}
// Final part
module belt_holder(){
difference(){
belt_holder_base();
belt_holder_beltcut();
belt_holder_holes();
}
}
belt_holder();
// PRUSA iteration3
// Y belt holder
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module face_plate(){
// face plate
translate([ 0, 0, -1 ]) cube([ 25, 26, 4 ]);
translate([ -8, 22, -1 ]) cube([ 49, 4, 4 ]);
}
module upper_shape()
{
union(){
difference(){
union(){
// upper body
translate([ 18.5, 11, 2 ]) cube([ 6.5, 15, 12 ]);
translate([ 0, 11, 2 ]) cube([ 5.5, 15, 12 ]);
translate([ -8, 22, 2 ]) cube([ 49, 4, 12 ]);
translate([ 0, 13, 2 ]) cube([ 25, 13, 12 ]);
}
translate([ 12, 18, 0 ]) cylinder( h = 14, r = 7.2, $fn=30 ); // upper belt cutaway
}
translate([ 5.5, 12.5, 0 ]) cylinder( h = 14, r = 1.5, $fn=30 );
translate([ 18.5, 12.5, 0 ]) cylinder( h = 14, r = 1.5, $fn=30 );
translate([ 4.5, 7.2, 0 ]) cylinder( h = 14, r = 1.7, $fn=30 );
translate([ 20.5, 7.2, 0 ]) cylinder( h = 14, r = 1.5, $fn=30 );
translate([ 0, 0, 3 ] ) cube([ 4.5, 8.9, 11 ]);
translate([ 20.5, 0, 2 ] ) cube([ 4.5, 8.7, 12] );
translate([ 1, 0, 3 ] ) cube([ 4.5, 7, 11 ]);
translate([ 19.5, 0, 2 ] ) cube([ 4.5, 7, 12 ]);
translate([ -8, 16, -1 ]) cube([ 8, 10, 15 ]);
}
}
module screw_holes(){
translate( [ -4 , 28 , 7.5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30); //screw hole
translate( [ 37 , 28 , 7.5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30); //screw hole
translate( [ -4 , 22 , 7.5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 2.9, $fn=30); //screw hole
}
module belt_insert_chamfer(){
translate([ -2, 10, 10.5 ]) rotate([45,0,0]) cube([ 28, 5, 5 ]);
translate([ 3, -2, 14 ]) rotate([0,45,0]) cube([ 5, 12, 5 ]);
translate([ 15, -2, 14 ]) rotate([0,45,0]) cube([ 5, 12, 5 ]);
translate([ 4, 10, 15 ]) rotate([0,45,0]) cube([ 5, 7, 5 ]);
translate([ 13, 10, 15 ]) rotate([0,45,0]) cube([ 5, 6, 5 ]);
}
module belt_holders(){
translate([ 13, 5, 0 ]) cylinder( h=11, r=3.5, $fn=30 ); // lower belt holder
translate([ 12, 18, 0 ]) cylinder( h=11, r=3.5, $fn=30 ); // upper belt holder
translate([ 13, 5, 11 ]) cylinder( h=3 , r1=3.5, r2=2.5, $fn=30 ); // lower belt holder cone
translate([ 12, 18, 11 ]) cylinder( h=3, r1=3.5, r2=2.5, $fn=30 ); // upper belt holder cone
}
module final_part(){
union(){
difference(){
upper_shape();
belt_insert_chamfer();
screw_holes();
}
belt_holders();
face_plate();
}
}
final_part();

10756
Printed-Parts/stl/y-belt-holder.stl Normal file → Executable file

File diff suppressed because it is too large Load Diff