From 87430bbb717b73eead94523d1db31681ad5d831b Mon Sep 17 00:00:00 2001 From: Jan Huwald Date: Wed, 12 Feb 2014 14:05:28 +0100 Subject: back connector: add assembly hooks, add pcb holes During assembly, use small hooks to hold the backplane board in the correct position before it is attached with scews. 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 use +use use use use @@ -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); -- cgit v0.10.1