$fn=50;
difference() {
union() {
difference() {
union() {
union() {
cube([20, 50, 2.1]);
translate([0, 2.1, 0]) cube([2.1, 50-2.1, 5.1]);
translate([20-2.1, 2.1, 0]) cube([2.1, 50-2.1, 5.1]);
};
intersection() {
union() {
cube([2.1, 5, 5.1]);
translate([20-2.1, 0, 0]) cube([2.1, 5, 5.1]);
}
translate([-5, 2.5, 5.1-2.5]) rotate([0, 90, 0]) cylinder(h=30, r=2.5);
}
translate([0.1, 50-2.5, 2.5]) rotate([0, -90, 0]) cylinder(h=1.85, d=2.2);
translate([19.9, 50-2.5, 2.5]) rotate([0, 90, 0]) cylinder(h=1.85, d=2.2);
translate([2.6+1.5, 50-2.5, 0]) cube([11.8, 2.5, 5]);
difference() {
translate([9.3, 11.8, 0]) cube([1.3, 37, 5]);
translate([9.2, 11.7, 2.5]) rotate([22.5, 0, 0]) cube([2, 6.8, 5]);
}
translate([0.5, 44, 5-(2.1/2)]) rotate([0, -90, 0]) cylinder(h=1.5, d=2.1);
translate([20-0.5, 44, 5-(2.1/2)]) rotate([0, 90, 0]) cylinder(h=1.5, d=2.1);
}
difference() {
translate([-2.5, 50-2.4, -2.5]) cube([25, 2.5, 10]);
translate([-5, 50-2.5, 2.5]) rotate([0, 90, 0]) cylinder(h=30, r=2.5);
}
}
}
translate([2.6, 40, -1]) cube([1.5, 15, 4]);
translate([20-2.6-1.5, 40, -1]) cube([1.5, 15, 4]);
}