A weather station
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.5 KiB

$fn = 50;
module holeRad() {
cylinder(r=2,h=3);
translate([0,0,2.2]) cylinder(r=3.8,h=3);
}
module mountSDS() {
union() {
difference() {
cylinder(r=5/2,h=20);
translate([0,0,-0.5]) cylinder(r=1.5,h=20+1);
}
cylinder(r1=4.6,r2=5/2,h=3);
}
}
module holesRad() {
translate([0,0,-0.5]) holeRad();
translate([101.6,0,-0.5]) holeRad();
translate([0,56,-0.5]) holeRad();
translate([101.6,56,-0.5]) holeRad();
}
module standsSDS() {
translate([5,70-11,0]) mountSDS();
translate([5+60,70-11,0]) mountSDS();
translate([5+41,70-(11+55),0]) mountSDS();
%translate([5+41+3,0,15]) cube([20,7,5]);
}
module mountPCB() {
difference() {
union() {
cube([5,45,8.6]);
translate([50,0,0]) cube([5,45,8.6]);
}
translate([2.5,2.5,5]) cube([50,42.5,2]);
translate([45,14,0]) cube([15,25,10]);
}
}
difference() {
cube([130,75,1.8]);
translate([7.6,10,0]) holesRad();
translate([20,5,-0.5]) cube([26,12,3]);
}
difference() {
translate([56,72.5,1.4]) rotate(-90) standsSDS();
translate([7.6,10,0]) holesRad();
}
translate([5,15,1.0]) mountPCB();
difference() {
translate([0,0,1.8]) rotate([0,45,0]) cube([4,75,4]);
translate([-20,-20,-20]) cube([200,200,20]);
translate([7.6,10,0]) holesRad();
}
difference() {
translate([130-sqrt(4*4+4*4),0,1.8]) rotate([0,45,0]) cube([4,75,4]);
translate([-20,-20,-20]) cube([200,200,20]);
}
translate([sqrt(4*4+4*4)/2,15,0]) cube([6,45,4.65]);