summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backplane.scad15
-rw-r--r--connector_back.scad20
-rw-r--r--hook.scad16
3 files changed, 42 insertions, 9 deletions
diff --git a/backplane.scad b/backplane.scad
index 9f00c95..d1f3f9f 100644
--- a/backplane.scad
+++ b/backplane.scad
@@ -17,10 +17,17 @@ module backplane_pcb() {
difference() {
cube([backplane_width, backplane_thickness, backplane_height]);
- // screw holes for PCB screws
- for (p = [[0, bar_thickness/2],
- [0, tray_height - bar_thickness/2],
- [tray_width/2 - bar_thickness, tray_height - bar_thickness/2]])
+ // screw holes for ...
+ for (p = [// ... PCB screws
+ [0, bar_thickness/2],
+ [0, tray_height - bar_thickness/2],
+ [tray_width/2 - bar_thickness, tray_height - bar_thickness/2],
+ [tray_width/2 + bar_thickness, tray_height - bar_thickness/2],
+
+ // .. assembly hooks
+ [rail_width/2 + bar_thickness/2, bar_thickness/2],
+ [tray_width/4, tray_height - bar_thickness/2]
+ ])
translate([p[0] - backplane_hoffset, 0, p[1] - backplane_voffset])
rotate([-90, 0, 0])
screw_hole();
diff --git a/connector_back.scad b/connector_back.scad
index 7672bce..532b5c8 100644
--- a/connector_back.scad
+++ b/connector_back.scad
@@ -1,6 +1,7 @@
include <parameters.scad>
use <connector.scad>
+use <hook.scad>
use <nipple.scad>
use <rail.scad>
use <screw_hole.scad>
@@ -30,12 +31,21 @@ module back_connector(
back_connector_half(border_right, border_top, border_bottom);
}
- // screw holes for PCB screws
- for (h = [bar_thickness/2, tray_height - bar_thickness/2])
- translate([0, 0, h])
- rotate([-90, 0, 0])
- screw_hole(nut_depth = 1.1 * nut_height);
+ // screw holes for PCB screws
+ for (h = [bar_thickness/2, tray_height - bar_thickness/2])
+ translate([0, 0, h])
+ rotate([-90, 0, 0])
+ screw_hole(nut_depth = 1.1 * nut_height);
}
+
+ // hooks to hold PCB during assembly
+ if (!border_right)
+ for (p = [[rail_width/2 + bar_thickness/2, bar_thickness/2],
+ [tray_width/4, tray_height - bar_thickness/2]])
+ translate([p[0], bar_thickness, p[1]])
+ hook(diameter = 0.7 * rod_diameter,
+ length_rest = backplane_thickness,
+ length_slide = backplane_thickness);
}
back_connector();
diff --git a/hook.scad b/hook.scad
new file mode 100644
index 0000000..bdab179
--- /dev/null
+++ b/hook.scad
@@ -0,0 +1,16 @@
+module hook(diameter, length_rest, length_slide, angle=45) {
+ angle = 30;
+ rotate([-90, 0, 0])
+ cylinder(r=diameter/2, h=length_rest, $fs=0.1);
+
+ translate([0, length_rest, 0])
+ rotate([angle, 0, 0])
+ hull() {
+ translate([0, length_slide, 0])
+ sphere(diameter/2, $fs=0.1);
+
+ sphere(diameter/2, $fs=0.1);
+ }
+}
+
+hook(5, 20, 10);
contact: Jan Huwald // Impressum