]> www.fi.muni.cz Git - things.git/commitdiff
distri-zaslepka
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Mon, 29 Jan 2024 06:53:28 +0000 (07:53 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Mon, 29 Jan 2024 06:53:54 +0000 (07:53 +0100)
distri-zaslepka.scad [new file with mode: 0644]

diff --git a/distri-zaslepka.scad b/distri-zaslepka.scad
new file mode 100644 (file)
index 0000000..b0c9741
--- /dev/null
@@ -0,0 +1,42 @@
+include <yenyalib.scad>;
+
+wall = 1.5;
+body_l = 50;
+body_w = 18;
+
+slot_w = 2.7;
+slot_depth = 2.5;
+
+clip_l = 10;
+clip_h = 0.7*slot_depth;
+clip_w1 = 0.5*body_w;
+clip_w2 = 2;
+
+Tx(-wall) hull() {
+       Ty(wall) cube([wall, body_l-2*wall, body_w]);
+       Tx(wall/2) cube([wall/2, body_l, body_w]);
+}
+// bottom slot
+Ty(slot_depth) cube([slot_w + wall, wall, body_w]);
+Tx(slot_w) Ty(slot_depth+wall/2) Rz(10)
+       Ty(-slot_depth-wall/2) cube([wall, slot_depth + wall/2, body_w]);
+
+// top clip
+Ty(body_l-slot_depth-wall) {
+       intersection() {
+               hull() {
+                       Tz(body_w/2-clip_w1/2)
+                               cube([eps, slot_depth+wall, clip_w1]);
+                       cube([clip_l, slot_depth+wall, clip_w2]);
+               }
+               union() {
+                       cube([slot_w + wall, wall, body_w]);
+                       Tx(slot_w) hull() {
+                               cube([eps, wall+clip_h, body_w]);
+                               cube([clip_l-slot_w, wall/2, body_w]);
+                       }
+               }
+       }
+       cube([slot_w/2, wall, body_w]);
+}