16 inner_bottom_off = 2.0;
22 outer_l = inner_bottom_l + 4;
31 cube([outer_l, outer_w, wall]);
33 translate([outer_l/2-cable_w/2, inner_bottom_off+inner_bottom_w, -eps])
34 cube([cable_w, cable_h, wall+2*eps]);
38 translate([outer_l/2-inner_bottom_l/2, inner_bottom_off, 0])
39 cube([inner_bottom_l, inner_bottom_w, inner_h+wall]);
42 translate([outer_l/2, inner_bottom_off+inner_bottom_w, 0])
44 translate([inner_bottom_l/2-inner_side_off-inner_side_w, 0, 0])
45 cube([inner_side_w, inner_side_l, inner_h+wall]);
49 // angled outer bottom
51 cube([outer_l, eps, 2*wall+magnet_w]);
52 translate([0, -angled_w, 0])
53 rotate([0, 0, -angle])
54 cube([outer_l, eps, 2*wall+magnet_w]);
57 rotate([0, 0, -angle])
58 translate([outer_l/2-magnet_l/2, -angled_w-eps, wall])
60 cube([magnet_l, magnet_h, magnet_w]);
61 for (z = [0, magnet_w])
62 translate([magnet_l/3, 0, z])
64 cylinder(r=magnet_clip_w,