depth=107;
height=44;
thickness=5;

cube([10, depth, thickness]);

translate([-2,-thickness, 0])
cube([10+2, thickness, height+thickness]);

translate([-2,depth, 0])
cube([10+2, thickness, height+thickness]);

translate([-2, 0, 0])
cube([2, depth, height+thickness]);

translate([0,0,height]) {
    difference() {
        hull() {
            translate([-5, 2*depth/3,0])
            cylinder(h=thickness, d=10, $fn=64);

            translate([-5, 1*depth/3,0])
            cylinder(h=thickness, d=10, $fn=64);

            translate([-1, 4*depth/5,0])
            cylinder(h=thickness, d=2, $fn=64);

            translate([-1, 1*depth/5,0])
            cylinder(h=thickness, d=2, $fn=64);
            
            translate([-2, depth/2-25, -height])
            cube([1, 50, 1]);
        }

        translate([-6, 2*depth/3, 0])
        cylinder(h=thickness, d=2, $fn=64);

        translate([-6, 2*depth/3, -100+2])
        cylinder(h=100, d=4.5, $fn=64);

        translate([-6, 1*depth/3, 0])
        cylinder(h=thickness, d=2, $fn=64);

        translate([-6, 1*depth/3, -100+2])
        cylinder(h=100, d=4.5, $fn=64);
    }
}

// back screw
translate([0,depth+thickness,height]) {
    difference() {
        hull() {
            translate([5,5,0])
            cylinder(h=thickness, d=5, $fn=64);

            translate([0.5, 0,0])
            cylinder(h=thickness, d=thickness, $fn=64);

            translate([10-thickness/2, 0,0])
            cylinder(h=thickness, d=thickness, $fn=64);
            
            translate([-2, 0, -height])
            cube([10+2,1,1]);
        }

        translate([5, 4, 0])
        cylinder(h=thickness, d=2, $fn=64);

        translate([5, 4, -100+2])
        cylinder(h=100, d=4.5, $fn=64);
    }
}