8 cyl_h = 8; // above pcb, max 13.8;
13 pcb_supp = 3; // side support thickness
14 pcb_h = 8; // 1.2 + space for connector etc
17 cyl_base = pcb_x/2 + wall - cyl_x;
35 translate([-pcb_x/2, -pcb_y/2, -eps])
36 cube([pcb_x, pcb_y, pcb_h-pcb_thick+eps]);
38 translate([-conn_x/2, pcb_y/2-eps, -eps])
39 cube([conn_x, conn_y+eps, pcb_h-pcb_thick+eps]);
42 translate([-cable_w/2, pcb_y/2+conn_y-eps, -eps])
43 cube([cable_w, 2*wall + eps, cable_h]);
46 for (x = [-1, 1]) translate([cyl_x*x, 0, pcb_h - eps])
47 cylinder(r = cyl_r, h = cyl_h + 2+wall + eps);
49 translate([-pcb_x/2, -pcb_y/2, pcb_h-pcb_thick-eps])
50 cube([pcb_x, pcb_y, pcb_thick+eps]);
51 // space below the pcb (xtal, etc)
52 translate([-pcb_x/2+pcb_supp, -pcb_y/2, pcb_h-pcb_thick - eps])
53 cube([pcb_x - 2*pcb_supp, pcb_y, xtal_h+pcb_thick+eps]);
58 translate([-pcb_x/2-wall, -pcb_y/2-wall, 0])
59 cube([pcb_x+2*wall, pcb_y+2*wall, pcb_h+wall]);
62 for (x = [-1, 1]) translate([cyl_x*x, 0, pcb_h + cyl_h])
63 cylinder(r = cyl_base, h = wall);
65 translate([0, 8, pcb_h + cyl_h])
66 cylinder(r = cyl_base, h = wall);
69 translate([-conn_x/2-wall, pcb_y/2-wall, 0])
70 cube([conn_x+2*wall, conn_y+2*wall, pcb_h-pcb_thick+wall]);
72 for (x = [1, -1]) scale([x, 1, 1])
73 translate([pcb_x/2+wall, -screw_head/2-wall, 0])
74 cube([screw_head, screw_head+2*wall, screw_base]);
84 translate([-clip_h/2, -pcb_y/2, pcb_h-pcb_thick-clip_r/2])
86 cylinder(r=clip_r, h = clip_h, $fn = 4);
89 for (x = [-1, 1]) scale([x, 1, 1]) {
90 translate([pcb_x/2+wall, -screw_head/2, screw_base])
91 cube([screw_head+eps, screw_head, infty]);
93 translate([pcb_x/2+wall+screw_head/2-screw_d/2, -screw_d/2, -eps])
94 cube([screw_d, screw_d, infty]);
97 translate([0, 3.5, pcb_h + cyl_h + eps])
99 linear_extrude(height=wall)
100 text("CVT FI", font="DejaVu Sans:style=Bold", size=5,
101 halign="center", valign="center");
105 rotate([180, 0, 0]) // rotate it for easier print