1.1 --- a/cartridge.scad Sat Jan 11 02:00:47 2014 +0100
1.2 +++ b/cartridge.scad Sat Jan 18 21:52:09 2014 +0100
1.3 @@ -46,6 +46,19 @@
1.4 back_cavity_inner_height = 12.0;
1.5 back_cavity_depth = 1.5;
1.6
1.7 + inner_back_cavity_offset = back_cavity_depth;
1.8 + inner_back_cavity_offset_from_left = 2.0;
1.9 + inner_back_slope_offset_from_left = 10.0;
1.10 + inner_back_slope_width = 2.5;
1.11 + inner_back_slope_depth = 2.0;
1.12 +
1.13 + inner_back_edge_offset = 2.0;
1.14 + inner_back_edge_width = 69.0;
1.15 + inner_back_edge_height = 3.0;
1.16 + inner_back_edge_depth = 1.5;
1.17 +
1.18 + bottom_from_base = 13.5;
1.19 +
1.20 /* Side thicknesses. */
1.21
1.22 front = 2;
1.23 @@ -53,6 +66,7 @@
1.24 top = 3;
1.25 left = 2;
1.26 right = 2;
1.27 + bottom = 2;
1.28
1.29 difference() {
1.30
1.31 @@ -69,6 +83,8 @@
1.32 cube([right, depth, height], center = true);
1.33 translate([0, 0, height / 2 - top / 2])
1.34 cube([width, depth, top], center = true);
1.35 + translate([0, 0, -height / 2 + bottom / 2 + bottom_from_base])
1.36 + cube([width, depth, top], center = true);
1.37 }
1.38
1.39 /* Label insets. */
1.40 @@ -148,6 +164,46 @@
1.41 ]);
1.42 }
1.43
1.44 + /* Inner back cavities. */
1.45 +
1.46 + translate([0, depth / 2 - inner_back_cavity_offset, -height / 2])
1.47 + linear_extrude(height = bottom_from_base)
1.48 + translate([-width / 2, 0, 0])
1.49 + polygon([
1.50 + [inner_back_cavity_offset_from_left, 0],
1.51 + [inner_back_slope_offset_from_left, 0],
1.52 + [inner_back_slope_offset_from_left +
1.53 + inner_back_slope_width,
1.54 + -inner_back_slope_depth],
1.55 + [inner_back_cavity_offset_from_left,
1.56 + -inner_back_slope_depth]
1.57 + ]);
1.58 +
1.59 + translate([0, depth / 2 - inner_back_cavity_offset, -height / 2])
1.60 + linear_extrude(height = bottom_from_base)
1.61 + translate([-width / 2, 0, 0])
1.62 + polygon([
1.63 + [width - inner_back_slope_offset_from_left, 0],
1.64 + [width - inner_back_cavity_offset_from_left, 0],
1.65 + [width - inner_back_cavity_offset_from_left,
1.66 + -inner_back_slope_depth],
1.67 + [width - inner_back_slope_offset_from_left -
1.68 + inner_back_slope_width,
1.69 + -inner_back_slope_depth]
1.70 + ]);
1.71 +
1.72 + translate([inner_back_edge_width / 2,
1.73 + depth / 2 - inner_back_edge_offset, -height / 2])
1.74 + rotate([0, -90, 0])
1.75 + linear_extrude(height = inner_back_edge_width)
1.76 + polygon([
1.77 + [-extra, -inner_back_edge_depth],
1.78 + [0, -inner_back_edge_depth],
1.79 + [inner_back_edge_height, -inner_back_edge_depth],
1.80 + [0, 0],
1.81 + [-extra, 0]
1.82 + ]);
1.83 +
1.84 /* Fillets to round off the edges. */
1.85
1.86 union() {