]> www.fi.muni.cz Git - things.git/commitdiff
radiacni stit pro Sonoff SNZB01
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Wed, 28 Feb 2024 13:47:09 +0000 (14:47 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Wed, 6 Mar 2024 20:58:30 +0000 (21:58 +0100)
radiacni-stit-snzb01.scad [new file with mode: 0644]

diff --git a/radiacni-stit-snzb01.scad b/radiacni-stit-snzb01.scad
new file mode 100644 (file)
index 0000000..edd468c
--- /dev/null
@@ -0,0 +1,54 @@
+include <yenyalib.scad>
+
+sens_h = 42.5 + 10;
+sens_l = 15;
+sens_w = 15;
+bottom_d = 5;
+
+base_d = 50;
+base_h = 3;
+
+wall = 1.5;
+clip_angle = 30;
+
+$fn = 128;
+
+for (angle = [0:120:360]) Rz(angle) {
+intersection() {
+       difference($fn = 128) {
+               cylinder(r = base_d/2, h = base_h);
+               Tz(-eps) cylinder(r = base_d/2-wall, h = base_h + 2*eps);
+       }
+       Rz(-clip_angle/2) cube([base_d/2+eps, base_d/2+eps, base_h]);
+       Rz(clip_angle/2) Sy(-1) cube([base_d/2+eps, base_d/2+eps, base_h]);
+}
+
+Rz(clip_angle/2) Ty(-wall/2) Tx(base_d/2) cylinder(r = wall/2, h = base_h);
+
+Rz(-clip_angle/2) Tx(base_d/2-3*wall)
+intersection() {
+       difference() {
+               cylinder(r = 3*wall, h = base_h);
+               Tz(-eps) Sx(2) cylinder(r = wall, h = base_h+2*eps);
+       }
+       Tx(-wall) Ty(-infty) cube(infty);
+}
+}
+
+difference() {
+       cylinder(r = base_d/2-3*wall, h = base_h);
+       Tz(wall) cylinder(r = base_d/2-4*wall, h = base_h);
+}
+
+sens_side = 15;
+My() {
+       Tx(-sens_side/2) Ty(sens_l/2) {
+               cube([sens_side, wall, sens_h+wall]);
+               Tz(sens_h/2+wall) Ry(90) Sx(2)
+                       cylinder(r=wall/2, h = sens_side);
+       }
+}
+translate([-sens_side/2, -sens_l/2-wall, sens_h+wall])
+       cube([sens_side, sens_l+2*wall, wall]);
+
+