8 cyl_h = 10; // above pcb, max 13.8;
14 pcb_h = 5; // 1.2 + space for connector etc
16 cyl_base = pcb_x/2 + wall - cyl_x;
29 // pcb and the space above it
30 translate([-pcb_x/2, -pcb_y/2, -eps])
31 cube([pcb_x, pcb_y, pcb_h+eps]);
33 translate([-conn_x/2, pcb_y/2-eps, -eps])
34 cube([conn_x, conn_y+eps, pcb_h+eps]);
37 translate([-cable_w/2, pcb_y/2+conn_y-eps, -eps])
38 cube([cable_w, 2*wall + eps, cable_h]);
41 for (x = [-1, 1]) translate([cyl_x*x, 0, pcb_h - eps])
42 cylinder(r = cyl_r, h = cyl_h + 2+wall + eps);
43 // space below the pcb (xtal, etc)
44 translate([-pcb_x/2+pcb_supp, -pcb_y/2, pcb_h - eps])
45 cube([pcb_x - 2*pcb_supp, pcb_y, xtal_h+eps]);
50 translate([-pcb_x/2-wall, -pcb_y/2-wall, 0])
51 cube([pcb_x+2*wall, pcb_y+2*wall, pcb_h+wall]);
54 for (x = [-1, 1]) translate([cyl_x*x, 0, pcb_h + cyl_h])
55 cylinder(r = cyl_base, h = wall);
57 translate([0, 7, pcb_h + cyl_h])
58 cylinder(r = cyl_base, h = wall);
61 translate([-conn_x/2-wall, pcb_y/2-wall, 0])
62 cube([conn_x+2*wall, conn_y+2*wall, pcb_h+wall]);
64 for (x = [0, 180]) rotate([0, 0, x]) hull() {
66 translate([pcb_x/2-eps, -4/2-wall, pcb_h + cyl_h + wall -eps])
67 cube([eps, 4+2*wall, eps]);
69 translate([pcb_x/2+wall, -screw_sp/2-wall, 0])
70 cube([screw_sp+wall, screw_sp+2*wall, wall]);
78 for (x = [0, 180]) rotate([0, 0, x]) {
79 translate([pcb_x/2+wall, -screw_sp/2, wall])
80 cube([screw_sp +wall+eps, screw_sp, pcb_h + cyl_h + eps]);
81 translate([pcb_x/2+1+wall, -3/2, -eps])
82 cube([3, 3, wall + 2*eps]);