]> www.fi.muni.cz Git - things.git/commitdiff
paul trap holder
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Wed, 6 Mar 2024 20:58:10 +0000 (21:58 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Wed, 6 Mar 2024 20:58:10 +0000 (21:58 +0100)
paul-trap-holder.scad [new file with mode: 0644]

diff --git a/paul-trap-holder.scad b/paul-trap-holder.scad
new file mode 100644 (file)
index 0000000..d951208
--- /dev/null
@@ -0,0 +1,36 @@
+include <yenyalib.scad>
+
+base_wall = 3;
+rod_d = 5 + 0.5;
+d_max = 40;
+d_min = 15;
+steps = 3;
+
+difference() {
+       cylinder(r = d_max/2+base_wall + rod_d/2, h = base_wall, $fn = 6);
+       for (i = [0:1:steps]) {
+               Rz((steps-i)*85/steps)
+               for (angle = [0:60:360]) Rz(angle) Tx(d_min/2+i*(d_max-d_min)/(2*(steps))) Tz(-eps)
+                       cylinder(r = rod_d/2, h = base_wall + 2*eps, $fn = 6);
+       }
+}
+
+// strut
+strut_w = 15;
+strut_l = 80;
+
+Ty((d_max/2+base_wall+rod_d/2)*cos(30)) {
+       Tx(-strut_w/2) {
+               cube([strut_w, strut_l, base_wall]);
+               Ty(strut_l-base_wall) difference() {
+                       cube([strut_w, base_wall, strut_w]);
+                       Tx(strut_w/2) Tz(strut_w/2) Rx(-90) Tz(-eps) cylinder(r = 2.5, h = base_wall+2*eps, $fn = 6);
+               }
+       }
+       Mx() hull() {
+               Tx(strut_w/2-base_wall) {
+                       Ty(-base_wall) cube([base_wall, eps, base_wall]);
+                       Ty(strut_l-base_wall) cube([base_wall, base_wall, strut_w]);
+               }
+       }
+}