]> www.fi.muni.cz Git - things.git/commitdiff
Vavreckovy zaluzie
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 9 Jan 2020 16:09:11 +0000 (17:09 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 9 Jan 2020 16:10:40 +0000 (17:10 +0100)
zaluzie-kryt.scad [new file with mode: 0644]

diff --git a/zaluzie-kryt.scad b/zaluzie-kryt.scad
new file mode 100644 (file)
index 0000000..7f0c0b1
--- /dev/null
@@ -0,0 +1,70 @@
+eps = 0.01;
+infty = 100;
+
+wall = 1.5;
+
+inner_w = 44;
+inner_d = 32;
+
+inner_h = 9;
+
+clip_w1 = 8;
+clip_w2 = 7;
+clip_h = 16;
+
+hole_off = 12.5;
+hole_l = 14.5;
+
+left_edge_l = 22;
+left_edge_h = 7.5;
+
+right_edge_h = inner_h;
+
+screw_base_h = inner_h + wall;
+screw_base_d = 10;
+screw_hole_d = 4;
+
+difference() {
+       union() {
+               // main body
+               cube([inner_w + 2*wall, inner_d + wall, inner_h + wall]);
+               // side top clip
+               hull() {
+                       translate([0, 0, inner_h-eps])
+                               cube([wall, clip_w1, eps]);
+                       translate([0, 0, inner_h+clip_h-eps])
+                               cube([wall, clip_w2, eps]);
+               }
+               // screw base
+               hull() {
+                       translate([inner_w/2 + wall - screw_base_d/2,
+                               inner_d + wall - eps, 0])
+                               cube([screw_base_d, eps, screw_base_h]);
+                       translate([inner_w/2 + wall, inner_d + wall + screw_base_d/2, 0])
+                               cylinder(r = screw_base_d/2, h = screw_base_h);
+               }
+       }
+       difference() {
+               // inner space
+               translate([wall, -eps, wall])
+                       cube([inner_w, inner_d+eps, inner_h+eps]);
+               // left edge begin
+               translate([wall, clip_w1, left_edge_h + wall])
+               rotate([-90, 0, 0])
+                       cylinder(r = wall/2, h = hole_off-clip_w1, $fn = 4);
+               // left edge end
+               translate([wall, hole_off+hole_l, left_edge_h + wall])
+               rotate([-90, 0, 0])
+                       cylinder(r = wall/2, h = left_edge_l + clip_w1 - hole_off -hole_l, $fn = 4);
+               // right edge
+               translate([inner_w + wall, clip_w1, right_edge_h + wall])
+               rotate([-90, 0, 0])
+                       cylinder(r = wall/2, h = left_edge_l, $fn = 4);
+       }
+       translate([-eps, hole_off, wall])
+               cube([wall+2*eps, hole_l, inner_h + eps]);
+       // screw hole
+       translate([inner_w/2 + wall, inner_d + wall + screw_base_d/2, -eps])
+               cylinder(r = screw_hole_d/2, h = screw_base_h + 2*eps);
+}
+