$fn=64; length = 38; width = 17; height = 13; wall = 5; screw = 5.5; // M5 screw pulley_width = 10; pulley_thickness = 3; difference() { body(); screw1(); screw2(); pulley_slots(); translate([length/1.5, 0, 0]) rotate([0,35,0]) translate([-length/2, 0, 0]) cube([length, width*1.2, height], center=true); } module screw1() { translate([-width/2 -1, 0, 0]) rotate([0, -90, 0]) cylinder(wall*2, d = screw); translate([-(width/2)+wall/1.75, 0, 0]) rotate([0, -90, 0]) cylinder((wall*2), d = screw*2); } module screw2() { translate([-width/8, 0, -wall*2]) cylinder(wall*2, d = screw); } module pulley_slots() { translate([wall, 0, -wall]) cube([pulley_thickness, pulley_width, wall*2], center=true); translate([wall*2.5, 0, -wall]) cube([pulley_thickness, pulley_width, wall*2], center=true); } module body() { difference() { cube([length, width, height], center=true); translate([wall/1.5, 0, wall-1.5]) cube([length, width - (wall), height], center=true); } }