chiark / gitweb /
chimney-cable-retainer: wip
[reprap-play.git] / chimney-cable-retainer.scad
diff --git a/chimney-cable-retainer.scad b/chimney-cable-retainer.scad
new file mode 100644 (file)
index 0000000..d8b3731
--- /dev/null
@@ -0,0 +1,45 @@
+// -*- C -*-
+
+include <utils.scad>
+
+inrear_d = 15;
+general_d = 8;
+general_th = 5;
+between_cables = 150;
+around_cables = 20;
+cable_dia = 10;
+
+total_d = 40;
+above_h = 40;
+
+// calculated
+
+cable_x = around_cables + cable_dia/2;
+total_x = cable_x * 2 + between_cables;
+
+module CoreElevation(){
+  rectfromto([ 0, 0 ],
+            [ total_d, general_th ]);
+  rectfromto([ 0, 0 ],
+            [ general_th, above_h ]);
+}
+
+module Retainer(){ ////toplevel
+  difference(){
+    union(){
+      linextr_x_yz(0, total_x)
+       mirror([1,0])
+       CoreElevation();
+    }
+
+    for (x = [cable_x, total_x - cable_x])
+      translate([x, 0, 0])
+      linextr(-100, 100)
+      hull(){
+        translate([ 0, -(general_th + cable_dia/2) ])
+         circle(r = cable_dia/2);
+       translate([ 0, -(total_d + 1)])
+         square([ cable_dia, 1], center=true);
+      }
+  }
+}