]> www.fi.muni.cz Git - things.git/commitdiff
wastebin-bags-holder
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Mon, 27 Mar 2023 05:40:10 +0000 (07:40 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Mon, 27 Mar 2023 05:40:10 +0000 (07:40 +0200)
wastebin-bags-holder.scad [new file with mode: 0644]

diff --git a/wastebin-bags-holder.scad b/wastebin-bags-holder.scad
new file mode 100644 (file)
index 0000000..147d56f
--- /dev/null
@@ -0,0 +1,48 @@
+eps = 0.01;
+infty = 300;
+
+wall = 2;
+bag_d = 50;
+angle = 150;
+body_h = 15;
+bag_dist = 1.2*bag_d;
+bags = 3;
+body_l = (bags-1)*bag_dist;
+screw_hole = 4;
+
+module hook() {
+       difference() {
+               cylinder(r = bag_d/2 + wall, h = body_h, $fn = 128);
+               translate([0, 0, -eps]) {
+
+                       cylinder(r = bag_d/2, h = body_h + 2*eps, $fn = 128);
+                       translate([0, -bag_d, 0])
+                               cube([bag_d, 2*bag_d, body_h + 2*eps]);
+                       rotate([0, 0, 90+angle])
+                               cube([bag_d, bag_d, body_h + 2*eps]);
+               }
+       }
+
+       rotate([0, 0, 90+angle])
+       translate([bag_d/2+wall, 0, 0])
+               cylinder(r = wall, h = body_h, $fn = 32);
+}
+
+difference() {
+       union() {
+               translate([0, bag_d/2, 0])
+                       cube([body_l, wall, body_h]);
+
+               for (i = [0:bags-1])
+                       translate([bag_dist*i, 0, 0])
+                               hook();
+       }
+
+       for (x = [0, body_l-bag_d/2 - 2*wall])
+               translate([x, 0, body_h/2])
+               rotate([-90, 0, 0])
+                       cylinder(r = screw_hole/2, h = bag_d, $fn = 6);
+}
+
+
+