QUACKSES = $(addprefix quacks-ingredients-L, 1 2 3 4 5)
QUACKS_SCADS = $(addsuffix .scad, $(QUACKSES))
-USING_AUTOS ?= $(FILAMENTSPOOL_AUTOS) xeno-drivebay-bracket dungeonquest-cone anke-gps-bracket cable-hole-trunking-cover anglepoise-neck crossbar-computer-led-mount wardrobe-hook knifeblock pandemic-counter pattress-boxes-3-cover bike-lipo-box earring-stand bike-stalk-led-mount sewing-table sewing-table-test sewing-table-jig maglite-holder poster-tube-lid poster-tube-lid-coarse fairphone-case fairphone-battery-case fairphone4-case fairphone4-case-coarse lock-inframe-bracket ksafe-base $(QUACKSES) quacks-ingredients-demos mic-table-clamp nook-case nook-case-test scaffold-clamp-common scaffold-clamp-tensioner scaffold-clamp-linear-bracket scaffold-clamp-straphook powerbank-bike-clamp topeak-mtx-tortec-expeditionrack-adapter lipo-flat-mount laptop-sound-cable-hooks digispark-with-cable $(foreach x,500 1000,adafruit-powerboost-$x)
+USING_AUTOS ?= $(FILAMENTSPOOL_AUTOS) xeno-drivebay-bracket dungeonquest-cone anke-gps-bracket cable-hole-trunking-cover anglepoise-neck crossbar-computer-led-mount wardrobe-hook knifeblock pandemic-counter pattress-boxes-3-cover bike-lipo-box earring-stand bike-stalk-led-mount sewing-table sewing-table-test sewing-table-jig maglite-holder poster-tube-lid poster-tube-lid-coarse fairphone-case fairphone-battery-case fairphone4-case fairphone4-case-coarse lock-inframe-bracket ksafe-base $(QUACKSES) quacks-ingredients-demos mic-table-clamp nook-case nook-case-test scaffold-clamp-common scaffold-clamp-tensioner scaffold-clamp-linear-bracket scaffold-clamp-straphook powerbank-bike-clamp topeak-mtx-tortec-expeditionrack-adapter lipo-flat-mount laptop-sound-cable-hooks digispark-with-cable chimney-cable-retainer $(foreach x,500 1000,adafruit-powerboost-$x)
AUTO_INCS += sealing-box.scad sewing-table.scad nutbox.scad \
powerbank-anker-10000.dxf \
--- /dev/null
+// -*- 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);
+ }
+ }
+}