Newer
Older
3d / weather-station-foot.scad
$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]);
}