// rostock igus/traxxas-mod with customized front-belt assembly // by zeus - zeus@ctdo.de - CC-BY-NC-4.0 // -> https://www.thingiverse.com/zeus // -> https://github.com/zeus86 //2014-10-01 Fmotor_end_height=44; idler_end_height=28; carriage_height=24; rod_length=120; smooth_rod_length=300; tower_radius = 120; platform_hinge_offset=33; carriage_hinge_offset=22; width = 67; height = carriage_height; offset = 20; cutout = 15; middle = 2*offset - width/2; module parallel_joints(reinforced) { difference() { union() { intersection() { cube([width, 20, 8], center=true); rotate([0, 90, 0]) cylinder(r=5, h=width, center=true); } intersection() { translate([0, 18, 4]) rotate([45, 0, 0]) cube([width, reinforced, reinforced], center=true); translate([0, 0, 20]) cube([width, 35, 40], center=true); } translate([0, 8, 0]) cube([width, 16, 8], center=true); } rotate([0, 90, 0]) cylinder(r=1.55, h=80, center=true, $fn=12); for (x = [-offset, offset]) { translate([x, 6.6, 0]) cylinder(r=cutout/2, h=100, center=true, $fn=36); translate([x, -3.8, 0]) cube([cutout, 20, 100], center=true); translate([x, 0, 0]) rotate([0, 90, 0]) rotate([0, 0, 30]) cylinder(r=3.5, h=19, center=true, $fn=6); } translate([0, 4, 0]) cube([2*offset+7, 20, 100], center=true); //translate([0, 2, 0]) cylinder(r=middle, h=100, center=true); //translate([0, -8, 0]) cube([2*middle, 20, 100], center=true); } } module lm8uu_mount(d, h) { union() { difference() { intersection() { cylinder(r=11, h=h, center=true); translate([0, -8, 0]) cube([22, 13, h+1], center=true); } cylinder(r=16/2, h=h+1, center=true); } } } module carriage() { translate([0, 0, height/2]) union() { for (x = [-30, 30]) { translate([x, 0, 0]) lm8uu_mount(d=15, h=24); } difference() { union() { translate([0, -5.6, 0]) cube([50, 5, height], center=true); translate([0, -carriage_hinge_offset, -height/2+4]) parallel_joints(16); // endstop column translate([15, -10, -height/2+4]) cube([6, 5, 8], center=true); translate([15, -15.5, -height/2+4]) intersection() { } } translate([-9, -5.6, 5]){ rotate([90, 0, 0]){ cylinder(r=1.75, h=10, center=true, $fn=12);}} translate([-9, -5.6, -5]){ rotate([90, 0, 0]){ cylinder(r=1.75, h=10, center=true, $fn=12);}} // Screw hole for adjustable top endstop. translate([15, -8, -height/2+4]) cylinder(r=1.5, h=15, center=true, $fn=12); for (x = [-30, 30]) { translate([x, 0, 0]) cylinder(r=8, h=height+1, center=true); // Zip tie tunnels. for (z = [-height/2+4, height/2-4]) translate([x, 0, z]) cylinder(r=13, h=3, center=true); } } } } carriage();