1.1 --- a/cartridge.scad Sat Dec 06 19:00:29 2014 +0100
1.2 +++ b/cartridge.scad Sun Dec 07 00:49:12 2014 +0100
1.3 @@ -524,6 +524,15 @@
1.4 -height / 2 + int_connector_height);
1.5 }
1.6
1.7 + /* Extended floor. */
1.8 +
1.9 + if (payload_width > connector_width) {
1.10 +
1.11 + cube_at(payload_width - connector_width, front_depth, bottom,
1.12 + 1, -1, 1,
1.13 + payload_left_extent, 0, -height / 2 + int_connector_height);
1.14 + }
1.15 +
1.16 /* PCB supports. */
1.17
1.18 cube_at(pcb_front_support_width,
1.19 @@ -637,12 +646,21 @@
1.20
1.21 /* Edge rounding. */
1.22
1.23 - translate([payload_left_extent + ro, -front_depth + ro, 0])
1.24 + translate([payload_right_extent - ro, -front_depth + ro, int_payload_lower_extent - bottom - extra])
1.25 + rotate([0, 0, 270])
1.26 + fillet_justified(rr, payload_height + bottom + extra);
1.27 +
1.28 + translate([payload_left_extent + ro, -front_depth + ro, int_payload_lower_extent - bottom - extra])
1.29 rotate([0, 0, 180])
1.30 - fillet(rr, height);
1.31 - translate([payload_right_extent - ro, -front_depth + ro, 0])
1.32 + fillet_justified(rr, payload_height + bottom + extra);
1.33 +
1.34 + translate([connector_width / 2 - ro, -front_depth + ro, -height / 2])
1.35 rotate([0, 0, 270])
1.36 - fillet(rr, height);
1.37 + fillet_partitioned(rr, connector_height - bottom);
1.38 +
1.39 + translate([-connector_width / 2 + ro, -front_depth + ro, -height / 2])
1.40 + rotate([0, 0, 180])
1.41 + fillet_partitioned(rr, connector_height - bottom);
1.42 }
1.43 }
1.44
1.45 @@ -793,6 +811,22 @@
1.46 0, 0, -height / 2 + int_connector_height);
1.47 }
1.48
1.49 + /* Extended floor. */
1.50 +
1.51 + if (payload_width > connector_width) {
1.52 +
1.53 + difference() {
1.54 +
1.55 + cube_at(payload_width - connector_width, back_depth, bottom,
1.56 + 1, 1, 1,
1.57 + payload_left_extent, 0, -height / 2 + int_connector_height);
1.58 +
1.59 + cube_at(payload_width - connector_width, edge_connector_cutout_front_depth, bottom,
1.60 + 1, 1, 1,
1.61 + payload_left_extent, 0, -height / 2 + int_connector_height);
1.62 + }
1.63 + }
1.64 +
1.65 /* PCB supports. */
1.66
1.67 pcb_support(-1, pcb_back_support_left_bump_height,
1.68 @@ -941,19 +975,19 @@
1.69
1.70 /* Outer edge rounding. */
1.71
1.72 - translate([payload_right_extent - ro, back_depth - ro, int_payload_lower_extent - extra])
1.73 - fillet_justified(rr, payload_height + extra);
1.74 + translate([payload_right_extent - ro, back_depth - ro, int_payload_lower_extent - bottom - extra])
1.75 + fillet_justified(rr, payload_height + bottom + extra);
1.76
1.77 - translate([payload_left_extent + ro, back_depth - ro, int_payload_lower_extent - extra])
1.78 + translate([payload_left_extent + ro, back_depth - ro, int_payload_lower_extent - bottom - extra])
1.79 rotate([0, 0, 90])
1.80 - fillet_justified(rr, payload_height + extra);
1.81 + fillet_justified(rr, payload_height + bottom + extra);
1.82
1.83 translate([connector_width / 2 - ro, back_depth - ro, -height / 2])
1.84 - fillet_partitioned(rr, connector_height);
1.85 + fillet_partitioned(rr, connector_height - bottom);
1.86
1.87 translate([-connector_width / 2 + ro, back_depth - ro, -height / 2])
1.88 rotate([0, 0, 90])
1.89 - fillet_partitioned(rr, connector_height);
1.90 + fillet_partitioned(rr, connector_height - bottom);
1.91
1.92 /*
1.93 Outer edge rounding of the back extension. This is done as a