summaryrefslogtreecommitdiff
path: root/connector_pole.scad
diff options
context:
space:
mode:
Diffstat (limited to 'connector_pole.scad')
-rw-r--r--connector_pole.scad44
1 files changed, 44 insertions, 0 deletions
diff --git a/connector_pole.scad b/connector_pole.scad
new file mode 100644
index 0000000..7661365
--- /dev/null
+++ b/connector_pole.scad
@@ -0,0 +1,44 @@
+include <parameters.scad>
+
+use <screw_hole.scad>
+
+module connector_pole(units, depth, border_top=true, border_bottom=true, cable_funnel=true) {
+ height = tray_height * units;
+ overlap = bar_thickness + pole_overlap_shunt;
+
+ difference() {
+ // pole
+ translate([0, 0, (border_bottom ? 0 : -overlap)])
+ cube([bar_thickness, pole_depth, height
+ + (border_bottom ? 0 : overlap)
+ + (border_top ? 0 : overlap)]);
+
+ // screw holes
+ for (i = [0:units])
+ for (s = [-1, 1])
+ translate([bar_thickness/2, depth, i * tray_height + s * bar_thickness/2])
+ rotate([90, 0, 0])
+ screw_hole(nut_depth = nut_height);
+
+ // cable funnel
+ if (cable_funnel)
+ for (i = [0:units-1])
+ translate([0, 0, i * tray_height + bar_thickness])
+ cube([bar_thickness, pole_cable_funnel_width, tray_height - 2 * bar_thickness]);
+
+ // receptors for lower/upper poles
+ for (i = [[border_bottom, 0, 0],
+ [border_top, depth/2, height]])
+ if (!i[0])
+ translate([0, i[1], i[2]-overlap])
+ cube([bar_thickness, depth/2, 2*overlap]);
+ }
+}
+
+connector_pole(2, 20);
+
+translate([50,0,0]) connector_pole(2, 20, border_bottom=false);
+
+translate([100,0,0]) connector_pole(2, 20, border_top=false, border_bottom=false);
+
+translate([150,0,0]) connector_pole(2, 20, border_top=false);
contact: Jan Huwald // Impressum