//Aleph Objects X-end motor mount include ; //Added curves module roundCorner(){ translate([0,0,20]) difference(){ translate([4,4,0]) cube([8,8,50], center=true); cylinder(r=8, h=50.1, center=true, $fn=80); } } module bend(d1=0,d2=58.75,r=5,w=5.4,a=90,h=46) { huge = r*w; difference() { cylinder(r=r+w, h=h, $fn=50); translate([0,0,-0.5]) { cylinder(r=r, h=h+1, $fn=30); translate([0,r-huge,0]) cube([huge, huge, h+1]); rotate([0,0,-a]) translate([0,-r,0]) cube([huge, huge, h+1]); } } translate([0,r,0]) cube([d1, w, h]); rotate([0,0,-a]) translate([0,-(r+w),0]) cube([d2, w, h]); } module xendmotor(){ //X end block difference(){ union(){ translate([0,-3,0]) cube([68.2,39.5,9], center=true); //Main block translate([0,13.5,0]) cylinder(r=15, h=9, center=true, $fn=80); } //Smooth rod grooves for (x= [22.55,-27.325]){ translate([x,0,-4.8]) union(){ translate([0,0,0]) rotate([0,35,0]) cube([4,50,7.4], center=true); translate([4.79,0,0]) rotate([0,-35,0]) cube([4,50,7.4], center=true); translate([2.39,0,1.18]) cube([3.79,50,6], center=true); } } //clamp screw holes for (i = [ [16,8,0], [16,-16.5,0], [-16,8,0], [-16,-16.5,0]]) {translate(i) cylinder(r=2, h=15, $fn=15, center=true);} for (i = [ [16,8,2.1], [16,-16.5,2.1], [-16,8,2.1], [-16,-16.5,2.1]]) {translate(i) rotate([0,180,0]) boltHole(4, length=5);} //curves rotate([180,180,0]) union(){ //#translate([34.2-8,(49.5/2)-1.9-8,0]) roundCorner(); #translate([-34.2+8+0.01,(49.5/2)-1.9-8,0]) rotate([0,0,90]) roundCorner(); #translate([-34.2+8+0.01,-(49.5/2)+16-0.1,0]) rotate([0,0,-180]) roundCorner(); #translate([34.2-8,-(49.5/2)+16-0.1,0]) rotate([0,0,-90]) roundCorner(); } translate([7.5+4,-(39.5/2)+1,0]) difference(){ translate([-2,-2,0]) cube([4,4,16.5], center=true); cylinder(r=4, h=16.8, center=true, $fn=20); } translate([-7.5-4,-(39.5/2)+1,6.3]) difference(){ translate([2,-2,0]) cube([4,4,16.5], center=true); cylinder(r=4, h=16.8, center=true, $fn=20); } //Threaded rod hole translate([0,14.5,0]) cylinder(r=5.5, h=15, $fn=70, center=true); translate([0,11.5,0]) cylinder(r=5.5, h=15, $fn=70, center=true); translate([0,13,0]) cube([11,3,15], center=true); //Smooth rod space translate([0,-20,0]) cube([15,8,10], center=true); translate([0,-16,0]) cylinder(r=7.5, h=10, center=true, $fn=25); } //Motor mount wall difference(){ translate([-23.7,-11.5,-4.5]) bend(); for(i=[ [16,-6,39.25], [-16,-6,39.25], [16,-6,10.5], [-16,-6,10.5] ]){ translate(i) rotate([90,0,0]) cylinder(r=1.8, h=14, center=true, $fn=15);} difference(){ translate([-31.5,-53,25.2]) cube([6.5,38,35], center=true); translate([-31.5,-43.8,15]) cube([7,25,20], center=true); translate([-31.5,-37,22.5]) cube([7,10,10], center=true); translate([-31.5,-34.5,33.6]) rotate([0,90,0]) cylinder(r=8, h=7, center=true, $fn=25); translate([-31.5,-62.25,8]) rotate([0,90,0]) cylinder(r=8, h=7, center=true, $fn=25); } translate([-11,-5,18]) cube([20,8,50], center=true); translate([-25,0,0]) cube([12,45,9], center=true); translate([-32,-48,20.5]) rotate([0,90,0]) union(){ cylinder(r=11, h=8, $fn=25, center=true); rotate([0,0,45]) for ( b = [0 : 3]) { rotate(b * 360 / 4, [0,0,1]) translate([0,22,0]) union(){ for (y = [-2, 2]) { translate([0,y,0]) cylinder(r=1.75, h=8, $fn=10, center=true); } cube([3.5,4,8], center=true); } } } } difference(){ translate([-18.2,-46.25,-4.5+(2.5/2)]) cube([21.2,47.75,2.5], center=true); translate([-7.8,-50,-4.5+(2.5/2)]) rotate([0,0,-22]) cube([20,60,3], center=true); } //Bushing mount wall difference(){ union(){ translate([0,-4.5,20+4.5]) cube([47,7.4,40.5], center=true); difference(){ translate([0,-30.57,24.25]) cylinder(r=37.9, h=41, center=true, $fn=100); translate([0,-4.5-25-6.5,20+4.5-1]) cube([80,70.4,43], center=true); } } //Cut for pillow block translate([0,-10.15,20+4.5]) cube([47.1,7.4,40.5], center=true); for(i=[ [17.5,-6,39.25], [-17.5,-6,39.25], [17.5,-6,10.5], [-17.5,-6,10.5] ]){ translate(i) rotate([90,0,0]) cylinder(r=1.8, h=14, center=true, $fn=15);} for(i=[ [17.5,5.5,39.25], [-17.5,5.5,39.25], [17.5,5.5,10.5], [-17.5,5.5,10.5] ]){ translate(i) scale([1,4,1]) rotate([90,0,0]) nutHole(3);} /*for(i=[ [17.5,6.1,39.25], [-17.5,6.1,39.25], [17.5,6.1,10.5], [-17.5,6.1,10.5] ]){ translate(i) rotate([90,0,0]) cylinder(r=7.5/2, h=14, center=true, $fn=15);}*/ translate([0,11.5,20]) cylinder(r=5.5, h=80, $fn=70, center=true); } difference(){ //translate([-21.25,-0.5,21.5]) cube([6.5,5,40], center=true); //translate([-24.15,7.1,21.5]) rotate([0,0,0]) cylinder(r=10, h=41, center=true, $fn=45); } } xendmotor();