1.1 --- a/cartridge.scad Sun Jan 19 01:12:57 2014 +0100
1.2 +++ b/cartridge.scad Sun Jan 19 01:18:50 2014 +0100
1.3 @@ -124,6 +124,78 @@
1.4 edge_connector_cutout_front_depth,
1.5 bottom + extra], center = true);
1.6 }
1.7 + }
1.8 +
1.9 + /* Label insets. */
1.10 +
1.11 + union() {
1.12 +
1.13 + /* Front label. */
1.14 +
1.15 + translate([-front_label_width / 2, -front_depth,
1.16 + front_label_offset_from_bottom - height / 2])
1.17 + cube([front_label_width, front_label_depth,
1.18 + front_label_height]);
1.19 +
1.20 + /* Top label. */
1.21 +
1.22 + translate([-top_label_width / 2,
1.23 + -front_depth + top_label_offset_from_front,
1.24 + height / 2 - top_label_depth])
1.25 + cube([top_label_width, top_label_height,
1.26 + top_label_depth]);
1.27 + }
1.28 +
1.29 + /* Inner front edge cavity. */
1.30 +
1.31 + translate([inner_front_edge_width / 2,
1.32 + -front_depth + inner_front_edge_offset, -height / 2])
1.33 + rotate([0, -90, 0])
1.34 + linear_extrude(height = inner_front_edge_width)
1.35 + polygon([
1.36 + [-extra, 0],
1.37 + [0, 0],
1.38 + [inner_front_edge_height, inner_front_edge_depth],
1.39 + [-extra, inner_front_edge_depth],
1.40 + ]);
1.41 +
1.42 + /* Fillets to round off the edges. */
1.43 +
1.44 + union() {
1.45 +
1.46 + /* Top left and right rounding. */
1.47 +
1.48 + translate([-width / 2 + ro, -front_depth / 2, height / 2 - ro])
1.49 + rotate([0, 0, 180])
1.50 + rotate([90, 0, 0])
1.51 + fillet(rr, front_depth);
1.52 + translate([width / 2 - ro, -front_depth / 2, height / 2 - ro])
1.53 + rotate([90, 0, 0])
1.54 + fillet(rr, front_depth);
1.55 +
1.56 + /* Top front rounding. */
1.57 +
1.58 + translate([0, -front_depth + ro, height / 2 - ro])
1.59 + rotate([0, 0, 180])
1.60 + rotate([0, -90, 0])
1.61 + fillet(rr, width);
1.62 +
1.63 + /* Edge rounding. */
1.64 +
1.65 + translate([-width / 2 + ro, -front_depth + ro, 0])
1.66 + rotate([0, 0, 180])
1.67 + fillet(rr, height);
1.68 + translate([width / 2 - ro, -front_depth + ro, 0])
1.69 + rotate([0, 0, 270])
1.70 + fillet(rr, height);
1.71 + }
1.72 + }
1.73 +
1.74 + difference() {
1.75 +
1.76 + /* The cartridge surfaces. */
1.77 +
1.78 + union() {
1.79
1.80 /* Back portion. */
1.81
1.82 @@ -151,13 +223,6 @@
1.83
1.84 union() {
1.85
1.86 - /* Front label. */
1.87 -
1.88 - translate([-front_label_width / 2, -front_depth,
1.89 - front_label_offset_from_bottom - height / 2])
1.90 - cube([front_label_width, front_label_depth,
1.91 - front_label_height]);
1.92 -
1.93 /* Top label. */
1.94
1.95 translate([-top_label_width / 2,
1.96 @@ -279,33 +344,12 @@
1.97 [-extra, 0]
1.98 ]);
1.99
1.100 - /* Inner front edge cavity. */
1.101 -
1.102 - translate([inner_front_edge_width / 2,
1.103 - -front_depth + inner_front_edge_offset, -height / 2])
1.104 - rotate([0, -90, 0])
1.105 - linear_extrude(height = inner_front_edge_width)
1.106 - polygon([
1.107 - [-extra, 0],
1.108 - [0, 0],
1.109 - [inner_front_edge_height, inner_front_edge_depth],
1.110 - [-extra, inner_front_edge_depth],
1.111 - ]);
1.112 -
1.113 /* Fillets to round off the edges. */
1.114
1.115 union() {
1.116
1.117 /* Top left and right rounding. */
1.118
1.119 - translate([-width / 2 + ro, -front_depth / 2, height / 2 - ro])
1.120 - rotate([0, 0, 180])
1.121 - rotate([90, 0, 0])
1.122 - fillet(rr, front_depth);
1.123 - translate([width / 2 - ro, -front_depth / 2, height / 2 - ro])
1.124 - rotate([90, 0, 0])
1.125 - fillet(rr, front_depth);
1.126 -
1.127 translate([-width / 2 + ro, back_depth / 2, height / 2 - ro])
1.128 rotate([0, 0, 180])
1.129 rotate([90, 0, 0])
1.130 @@ -314,15 +358,11 @@
1.131 rotate([90, 0, 0])
1.132 fillet(rr, back_depth);
1.133
1.134 - /* Top back and front rounding. */
1.135 + /* Top back rounding. */
1.136
1.137 translate([0, back_depth - ro, height / 2 - ro])
1.138 rotate([0, -90, 0])
1.139 fillet(rr, width);
1.140 - translate([0, -front_depth + ro, height / 2 - ro])
1.141 - rotate([0, 0, 180])
1.142 - rotate([0, -90, 0])
1.143 - fillet(rr, width);
1.144
1.145 /* Edge rounding. */
1.146
1.147 @@ -331,12 +371,6 @@
1.148 translate([-width / 2 + ro, back_depth - ro, 0])
1.149 rotate([0, 0, 90])
1.150 fillet(rr, height);
1.151 - translate([-width / 2 + ro, -front_depth + ro, 0])
1.152 - rotate([0, 0, 180])
1.153 - fillet(rr, height);
1.154 - translate([width / 2 - ro, -front_depth + ro, 0])
1.155 - rotate([0, 0, 270])
1.156 - fillet(rr, height);
1.157 }
1.158 }
1.159 }