Y axis redesign
Y endstop moved on Y-motor mount, Y axis moved up and holes for bearing expanded
This commit is contained in:
parent
174f922b6f
commit
b2b6a3ee95
|
|
@ -1,84 +1,81 @@
|
|||
// PRUSA iteration3
|
||||
// Bearing holders
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
use <polyholes.scad>
|
||||
|
||||
bearing_diameter = 14.5;
|
||||
|
||||
module horizontal_bearing_base(bearings=1){
|
||||
translate(v=[0,0,6]) cube(size = [24,8+bearings*25,12], center = true);
|
||||
}
|
||||
module horizontal_bearing_holes(bearings=1){
|
||||
cutter_lenght = 10+bearings*25;
|
||||
one_holder_lenght = 8+25;
|
||||
holder_lenght = 8+bearings*25;
|
||||
|
||||
// Main bearing cut
|
||||
difference(){
|
||||
translate(v=[0,0,12]) rotate(a=[90,0,0]) translate(v=[0,0,-cutter_lenght/2]) cylinder(h = cutter_lenght, r=bearing_diameter/2, $fn=50);
|
||||
// Bearing retainers
|
||||
translate(v=[0,1-holder_lenght/2,3]) cube(size = [24,6,8], center = true);
|
||||
translate(v=[0,-1+holder_lenght/2,3]) cube(size = [24,6,8], center = true);
|
||||
}
|
||||
|
||||
// Ziptie cutouts
|
||||
ziptie_cut_ofset = 0;
|
||||
for ( i = [0 : bearings-1] ){
|
||||
// For easier positioning I move them by half of one
|
||||
// bearing holder then add each bearign lenght and then center again
|
||||
translate(v=[0,-holder_lenght/2,0]) translate(v=[0,one_holder_lenght/2+i*25,0]) difference(){
|
||||
union(){
|
||||
if(bearings == 1){
|
||||
translate(v=[0,2-8.5,12]) rotate(a=[90,0,0]) translate(v=[0,0,0]) cylinder(h = 4, r=11.5, $fn=50);
|
||||
translate(v=[0,2+8.5,12]) rotate(a=[90,0,0]) translate(v=[0,0,0]) cylinder(h = 4, r=11.5, $fn=50);
|
||||
}else{
|
||||
translate(v=[0,2-6,12]) rotate(a=[90,0,0]) translate(v=[0,0,0]) cylinder(h = 4, r=11.5, $fn=50);
|
||||
translate(v=[0,2+6,12]) rotate(a=[90,0,0]) translate(v=[0,0,0]) cylinder(h = 4, r=11.5, $fn=50);
|
||||
}
|
||||
}
|
||||
translate(v=[0,11,12]) rotate(a=[90,0,0]) translate(v=[0,0,0]) cylinder(h = 25, r=9, $fn=50);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module horizontal_bearing_test(){
|
||||
difference(){
|
||||
horizontal_bearing_base(1);
|
||||
horizontal_bearing_holes(1);
|
||||
}
|
||||
translate(v=[30,0,0]) difference(){
|
||||
horizontal_bearing_base(2);
|
||||
#horizontal_bearing_holes(2);
|
||||
}
|
||||
translate(v=[60,0,0]) difference(){
|
||||
horizontal_bearing_base(3);
|
||||
horizontal_bearing_holes(3);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
thinwall = 3;
|
||||
bearing_size = bearing_diameter + 2 * thinwall;
|
||||
|
||||
module vertical_bearing_base(){
|
||||
translate(v=[-2-bearing_size/4,0,29]) cube(size = [4+bearing_size/2,bearing_size,58], center = true);
|
||||
cylinder(h = 58, r=bearing_size/2, $fn = 90);
|
||||
}
|
||||
|
||||
module vertical_bearing_holes(){
|
||||
translate(v=[0,0,-1]) poly_cylinder(h = 62, r=bearing_diameter/2);
|
||||
rotate(a=[0,0,-70]) translate(v=[bearing_diameter/2-2.9,-0.5,0.5]) cube(size = [thinwall*2,1,62]);
|
||||
|
||||
}
|
||||
|
||||
difference(){
|
||||
vertical_bearing_base();
|
||||
vertical_bearing_holes();
|
||||
}
|
||||
//horizontal_bearing_test();
|
||||
// PRUSA iteration3
|
||||
// Bearing holders
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
use <polyholes.scad>
|
||||
|
||||
bearing_diameter = 14.5;
|
||||
|
||||
module horizontal_bearing_base(bearings=1){
|
||||
translate(v=[0,0,6]) cube(size = [24,8+bearings*25,12], center = true);
|
||||
}
|
||||
module horizontal_bearing_holes(bearings=1){
|
||||
cutter_lenght = 10+bearings*25;
|
||||
one_holder_lenght = 8+25;
|
||||
holder_lenght = 8+bearings*25;
|
||||
|
||||
// Main bearing cut
|
||||
difference(){
|
||||
translate(v=[0,0,12]) rotate(a=[90,0,0]) translate(v=[0,0,-cutter_lenght/2]) cylinder(h = cutter_lenght, r=bearing_diameter/2, $fn=50);
|
||||
// Bearing retainers
|
||||
translate(v=[0,1-holder_lenght/2,3]) cube(size = [24,6,8], center = true);
|
||||
translate(v=[0,-1+holder_lenght/2,3]) cube(size = [24,6,8], center = true);
|
||||
}
|
||||
|
||||
// Ziptie cutouts
|
||||
ziptie_cut_ofset = 0;
|
||||
for ( i = [0 : bearings-1] ){
|
||||
// For easier positioning I move them by half of one
|
||||
// bearing holder then add each bearign lenght and then center again
|
||||
translate(v=[0,-holder_lenght/2,0]) translate(v=[0,one_holder_lenght/2+i*25,0]) difference(){
|
||||
union(){
|
||||
translate(v=[0,2-8.5,12]) rotate(a=[90,0,0]) translate(v=[0,0,0]) cylinder(h = 4, r=11.5, $fn=50);
|
||||
translate(v=[0,2+8.5,12]) rotate(a=[90,0,0]) translate(v=[0,0,0]) cylinder(h = 4, r=11.5, $fn=50);
|
||||
}
|
||||
translate(v=[0,12,12]) rotate(a=[90,0,0]) translate(v=[0,0,0]) cylinder(h = 24, r=9, $fn=50);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module horizontal_bearing_test(){
|
||||
difference(){
|
||||
horizontal_bearing_base(1);
|
||||
horizontal_bearing_holes(1);
|
||||
}
|
||||
translate(v=[30,0,0]) difference(){
|
||||
horizontal_bearing_base(2);
|
||||
#horizontal_bearing_holes(2);
|
||||
}
|
||||
translate(v=[60,0,0]) difference(){
|
||||
horizontal_bearing_base(3);
|
||||
horizontal_bearing_holes(3);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
thinwall = 3;
|
||||
bearing_size = bearing_diameter + 2 * thinwall;
|
||||
|
||||
module vertical_bearing_base(){
|
||||
translate(v=[-2-bearing_size/4,0,29]) cube(size = [4+bearing_size/2,bearing_size,58], center = true);
|
||||
cylinder(h = 58, r=bearing_size/2, $fn = 90);
|
||||
}
|
||||
|
||||
module vertical_bearing_holes(){
|
||||
translate(v=[0,0,-1]) poly_cylinder(h = 62, r=bearing_diameter/2);
|
||||
rotate(a=[0,0,-40]) translate(v=[bearing_diameter/2-2.9,-0.5,0.5]) cube(size = [thinwall*2,1,62]);
|
||||
|
||||
}
|
||||
|
||||
//difference(){
|
||||
//vertical_bearing_base();
|
||||
//vertical_bearing_holes();
|
||||
//}
|
||||
//horizontal_bearing_test();
|
||||
horizontal_bearing_base(1);
|
||||
horizontal_bearing_holes(1);
|
||||
|
|
@ -1,65 +1,65 @@
|
|||
// PRUSA iteration3
|
||||
// Y frame corners
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
module corner_base(){
|
||||
translate([-9,-11,0])cube([18,22,47]);
|
||||
}
|
||||
|
||||
module corner_holes(){
|
||||
translate([-11,-11,0]){
|
||||
// Bottom hole
|
||||
translate([0,11,10]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 270, r=4.4, $fn=30);
|
||||
// Top hole
|
||||
translate([0,11,30]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 270, r=4.4, $fn=30);
|
||||
// Middle hole
|
||||
translate([11,0,20]) rotate([0,0,90]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 270, r=5.4, $fn=30);
|
||||
|
||||
// Washer hole
|
||||
translate([11,-3,20]) rotate([0,0,90]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 10, r=11, $fn=30);
|
||||
|
||||
// Top smooth rod insert
|
||||
// Smooth rod place
|
||||
translate([11,2,45]) rotate([0,90,90]) cylinder(h = 12, r=4.2, $fn=30);
|
||||
// Ziptie
|
||||
translate([-5,9,39]) cube([30,3.5,2]);
|
||||
|
||||
// LM8UU keepout
|
||||
difference(){
|
||||
translate([11,14,45]) rotate([0,90,90]) cylinder(h = 270, r=8, $fn=30);
|
||||
translate([21,14,60]) rotate([0,90,90]) cube([20,20,30]);
|
||||
}
|
||||
translate([21,14,60-0.2]) rotate([0,90,90]) cube([20,20,0.2]);
|
||||
translate([21,14,40]) rotate([0,90,90]) cube([0.2,20,20]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
module corner_fancy(){
|
||||
// Side corner cutouts
|
||||
translate([-8,-9,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
|
||||
translate([8,-9,0]) rotate([0,0,45-180]) translate([-15,0,-1]) cube([30,30,51]);
|
||||
// Top corner cutouts
|
||||
translate([7,0,49-2]) rotate([0,45,0]) translate([-15,-15,0]) cube([30,30,30]);
|
||||
translate([-7,0,49-2]) rotate([0,-45,0]) translate([-15,-15,0]) cube([30,30,30]);
|
||||
rotate([0,0,90]){
|
||||
translate([-9,0,49-2]) rotate([0,-45,0]) translate([-15,-15,0]) cube([30,30,30]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Final part
|
||||
module corner(){
|
||||
// Rotate the part for better printing
|
||||
translate([0,0,11]) rotate([-90,0,0]) difference(){
|
||||
corner_base();
|
||||
corner_holes();
|
||||
corner_fancy();
|
||||
}
|
||||
}
|
||||
|
||||
rotate([90,0,0]) corner();
|
||||
// PRUSA iteration3
|
||||
// Y frame corners
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
|
||||
module corner_base(){
|
||||
translate([-9,-11,0])cube([18,22,49]);
|
||||
}
|
||||
|
||||
module corner_holes(){
|
||||
translate([-11,-11,0]){
|
||||
// Bottom hole
|
||||
translate([0,11,10]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 270, r=4.4, $fn=30);
|
||||
// Top hole
|
||||
translate([0,11,30]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 270, r=4.4, $fn=30);
|
||||
// Middle hole
|
||||
translate([11,0,20]) rotate([0,0,90]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 270, r=5.4, $fn=30);
|
||||
|
||||
// Washer hole
|
||||
translate([11,-3,20]) rotate([0,0,90]) rotate([0,90,0]) translate([0,0,-5]) cylinder(h = 10, r=11, $fn=30);
|
||||
|
||||
// Top smooth rod insert
|
||||
// Smooth rod place
|
||||
translate([11,1.5,47]) rotate([0,90,90]) cylinder(h = 12.5, r=4.2, $fn=30);
|
||||
// Ziptie
|
||||
translate([-5,9,41]) cube([30,3.5,2]);
|
||||
|
||||
// LM8UU keepout
|
||||
difference(){
|
||||
translate([11,14,46]) rotate([0,90,90]) cylinder(h = 270, r=8, $fn=30);
|
||||
translate([21,14,62]) rotate([0,90,90]) cube([20,20,30]);
|
||||
}
|
||||
translate([21,14,62-0.2]) rotate([0,90,90]) cube([20,20,0.2]);
|
||||
translate([21,14,42]) rotate([0,90,90]) cube([0.2,20,20]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
module corner_fancy(){
|
||||
// Side corner cutouts
|
||||
translate([-8,-9,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]);
|
||||
translate([8,-9,0]) rotate([0,0,45-180]) translate([-15,0,-1]) cube([30,30,51]);
|
||||
// Top corner cutouts
|
||||
translate([7,0,49]) rotate([0,45,0]) translate([-15,-15,0]) cube([30,30,30]);
|
||||
translate([-7,0,49]) rotate([0,-45,0]) translate([-15,-15,0]) cube([30,30,30]);
|
||||
rotate([0,0,90]){
|
||||
translate([-9.5,0,49]) rotate([0,-45,0]) translate([-15,-15,0]) cube([30,30,30]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Final part
|
||||
module corner(){
|
||||
// Rotate the part for better printing
|
||||
translate([0,0,11]) rotate([-90,0,0]) difference(){
|
||||
corner_base();
|
||||
corner_holes();
|
||||
corner_fancy();
|
||||
}
|
||||
}
|
||||
|
||||
rotate([90,0,0]) corner();
|
||||
|
|
|
|||
|
|
@ -1,46 +1,77 @@
|
|||
// PRUSA iteration3
|
||||
// Y motor mount
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
//include <configuration.scad>
|
||||
|
||||
module y_motor_base(){
|
||||
// Motor holding part
|
||||
translate(v = [29,-21+50,0]){
|
||||
translate(v = [-21+4.5,0,5]) cube(size = [9,31,10], center=true);
|
||||
translate(v = [-15.5,-15.5,0]) cylinder(h = 10, r=5.5, $fn=50);
|
||||
translate(v = [-15.5,+15.5,0]) cylinder(h = 10, r=5.5, $fn=50);
|
||||
// Joins motor holder and rod plate
|
||||
translate(v = [-29,-21,0]) cube(size = [14,30,10]);
|
||||
}
|
||||
// Front holding part
|
||||
translate(v = [0,10,0]) cylinder(h = 10, r=8, $fn=80);
|
||||
translate(v = [0,20,5])cube(size = [16,20,10], center=true);
|
||||
translate(v = [0,30,0])cylinder(h = 10, r=8, $fn=80);
|
||||
}
|
||||
|
||||
module y_motor_holes(){
|
||||
translate(v = [29,-21+50,0]){
|
||||
// Screw head holes
|
||||
translate(v = [-15.5,-15.5,-1]) cylinder(h = 10, r=1.8, $fn=20);
|
||||
translate(v = [-15.5,+15.5,-1]) cylinder(h = 10, r=1.8, $fn=20);
|
||||
// Screw holes
|
||||
translate(v = [-15.5,-15.5,7]) cylinder(h = 7, r=3.5, $fn=30);
|
||||
translate(v = [-15.5,+15.5,7]) cylinder(h = 7, r=3.5, $fn=30);
|
||||
}
|
||||
translate(v = [0,10,-1]) cylinder(h = 12, r=4.1, $fn=50);
|
||||
translate(v = [0,30,-1]) cylinder(h = 12, r=4.1, $fn=50);
|
||||
}
|
||||
|
||||
// Final part
|
||||
module y_motor(){
|
||||
difference(){
|
||||
y_motor_base();
|
||||
y_motor_holes();
|
||||
}
|
||||
}
|
||||
|
||||
y_motor();
|
||||
// PRUSA iteration3
|
||||
// Y motor mount
|
||||
// GNU GPL v3
|
||||
// Josef Průša <iam@josefprusa.cz> and contributors
|
||||
// http://www.reprap.org/wiki/Prusa_Mendel
|
||||
// http://prusamendel.org
|
||||
|
||||
//include <configuration.scad>
|
||||
|
||||
module y_motor_base(){
|
||||
// Motor holding part
|
||||
translate(v = [29,-21+50,0]){
|
||||
translate(v = [-21+4.5,0,5]) cube(size = [9,31,10], center=true);
|
||||
translate(v = [-15.5,-15.5,0]) cylinder(h = 10, r=5.5, $fn=50);
|
||||
translate(v = [-15.5,+15.5,0]) cylinder(h = 10, r=5.5, $fn=50);
|
||||
|
||||
//end stop
|
||||
translate(v = [-10.5,+15.5,0]) cylinder(h = 10, r=5.5, $fn=50);
|
||||
translate([-12,0,0]) cube([7, 15, 10]);
|
||||
translate([-16,16,0]) cube([6, 5, 10]);
|
||||
translate([-21,8,0]) cube([18, 5, 28]);
|
||||
|
||||
// Joins motor holder and rod plate
|
||||
translate(v = [-29,-21,0]) cube(size = [14,30,10]);
|
||||
}
|
||||
// Front holding part
|
||||
translate(v = [0,10,0]) cylinder(h = 10, r=8, $fn=80);
|
||||
translate(v = [0,20,5])cube(size = [16,20,10], center=true);
|
||||
translate(v = [0,30,0])cylinder(h = 10, r=8, $fn=80);
|
||||
}
|
||||
|
||||
module y_motor_holes(){
|
||||
translate(v = [29,-21+50,0]){
|
||||
// Screw head holes
|
||||
translate(v = [-15.5,-15.5,-1]) cylinder(h = 10, r=1.8, $fn=20);
|
||||
translate(v = [-15.5,+15.5,-1]) cylinder(h = 10, r=1.8, $fn=20);
|
||||
// Screw holes
|
||||
translate(v = [-15.5,-15.5,7]) cylinder(h = 7, r=3.5, $fn=30);
|
||||
translate(v = [-15.5,+15.5,7]) cylinder(h = 25, r=3.5, $fn=30);
|
||||
}
|
||||
translate(v = [0,10,-1]) cylinder(h = 12, r=4.1, $fn=50);
|
||||
translate(v = [0,30,-1]) cylinder(h = 12, r=4.1, $fn=50);
|
||||
|
||||
//endstop
|
||||
translate([25,29,0]) cylinder(h = 20, r=8, $fn=20);
|
||||
|
||||
translate([20,45,15]) rotate([90,0,0]) cylinder(h = 10, r=0.8, $fn=20);
|
||||
translate([20,42.2,15]) rotate([90,0,0]) cylinder(h = 2, r1=1.2, r2=0.8, $fn=20);
|
||||
|
||||
translate([20,45,24]) rotate([90,0,0]) cylinder(h = 10, r=0.8, $fn=20);
|
||||
translate([20,42.2,24]) rotate([90,0,0]) cylinder(h = 2, r1=1.2, r2=0.8, $fn=20);
|
||||
|
||||
// endstop corner cutout
|
||||
translate([-5,35,28]) rotate([0,45,0]) cube([15, 10, 15]);
|
||||
translate([-1,41,10]) cube([15, 5, 15]);
|
||||
translate([27,33,0]) rotate([0,0,45]) cube([5, 5, 28]);
|
||||
|
||||
translate([19,32,0]) rotate([0,30,0]) cube([8, 20, 18]);
|
||||
translate([24.5,32,17]) rotate([0,45,0]) cube([2, 20, 2]);
|
||||
|
||||
translate([23,32,29]) rotate([0,45,0]) cube([5, 20, 5]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//#translate([18,40,10]) cube([8, 5, 5]);
|
||||
|
||||
// Final part
|
||||
module y_motor(){
|
||||
difference(){
|
||||
y_motor_base();
|
||||
y_motor_holes();
|
||||
}
|
||||
}
|
||||
|
||||
y_motor();
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue