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() {
2.1 --- a/cartridge.svg Sat Jan 11 02:00:47 2014 +0100
2.2 +++ b/cartridge.svg Sat Jan 18 21:52:09 2014 +0100
2.3 @@ -95,9 +95,9 @@
2.4 borderopacity="1.0"
2.5 inkscape:pageopacity="0.0"
2.6 inkscape:pageshadow="2"
2.7 - inkscape:zoom="0.97568255"
2.8 - inkscape:cx="526.18109"
2.9 - inkscape:cy="372.04724"
2.10 + inkscape:zoom="2.4833006"
2.11 + inkscape:cx="303.1002"
2.12 + inkscape:cy="397.55748"
2.13 inkscape:document-units="mm"
2.14 inkscape:current-layer="layer1"
2.15 showgrid="true"
2.16 @@ -845,9 +845,11 @@
2.17 x="163.70898">8.9cm</tspan></tspan></textPath></text>
2.18 <path
2.19 style="fill:#e9c6af;fill-opacity:1;stroke:none"
2.20 - d="M 510.25 106.3125 L 510.25 109.84375 L 483.65625 109.84375 L 483.65625 113.375 L 480.125 113.375 L 480.125 116.9375 L 506.6875 116.9375 L 506.6875 338.375 L 512 349 L 513.78125 349 L 513.78125 306.5 L 519.09375 301.1875 L 519.09375 106.3125 L 510.25 106.3125 z "
2.21 + d="m 510.23622,106.29921 0,3.5433 -26.5748,0 0,3.54331 -3.54331,0 0,3.54331 26.5748,0 0,180.70866 -15.94488,0 0,3.54331 15.94488,0 0,37.20472 5.31496,10.62992 1.77166,0 0,-42.51968 5.31496,-5.31496 0,-194.88189 z"
2.22 transform="translate(0,308.2677)"
2.23 - id="front-1-3">
2.24 + id="front-1-3"
2.25 + inkscape:connector-curvature="0"
2.26 + sodipodi:nodetypes="cccccccccccccccccc">
2.27 <title
2.28 id="title6710">Front of cartridge</title>
2.29 </path>
2.30 @@ -977,7 +979,7 @@
2.31 sodipodi:cy="54.921238"
2.32 sodipodi:rx="5.3149605"
2.33 sodipodi:ry="5.3149605"
2.34 - d="m 35.433071,54.921238 a 5.3149605,5.3149605 0 1 1 -10.629921,0 5.3149605,5.3149605 0 1 1 10.629921,0 z"
2.35 + d="m 35.433071,54.921238 c 0,2.935372 -2.379589,5.31496 -5.31496,5.31496 -2.935372,0 -5.314961,-2.379588 -5.314961,-5.31496 0,-2.935372 2.379589,-5.314961 5.314961,-5.314961 2.935371,0 5.31496,2.379589 5.31496,5.314961 z"
2.36 transform="translate(542.12601,364.96061)" />
2.37 <path
2.38 sodipodi:type="arc"
2.39 @@ -987,7 +989,7 @@
2.40 sodipodi:cy="54.921238"
2.41 sodipodi:rx="5.3149605"
2.42 sodipodi:ry="5.3149605"
2.43 - d="m 35.433071,54.921238 a 5.3149605,5.3149605 0 1 1 -10.629921,0 5.3149605,5.3149605 0 1 1 10.629921,0 z"
2.44 + d="m 35.433071,54.921238 c 0,2.935372 -2.379589,5.31496 -5.31496,5.31496 -2.935372,0 -5.314961,-2.379588 -5.314961,-5.31496 0,-2.935372 2.379589,-5.314961 5.314961,-5.314961 2.935371,0 5.31496,2.379589 5.31496,5.314961 z"
2.45 transform="translate(846.85041,364.96061)" />
2.46 <text
2.47 transform="translate(496.06302,-2.972485e-5)"
2.48 @@ -1053,5 +1055,14 @@
2.49 x="918.59576"
2.50 y="94.01133"
2.51 style="fill:#ff0000" /></flowRegion><flowPara
2.52 - id="flowPara3368">Back</flowPara></flowRoot> </g>
2.53 + id="flowPara3368">Back</flowPara></flowRoot> <path
2.54 + inkscape:connector-curvature="0"
2.55 + style="fill:#d38d5f;fill-opacity:1;stroke:none"
2.56 + d="m 480.11811,609.4488 0,-3.54331 10.62992,0 0,3.54331 z"
2.57 + id="front-5-8-1-0-4-9-9"
2.58 + sodipodi:nodetypes="ccccc">
2.59 + <title
2.60 + id="title3856-2-8-9-2-2-7-8">Front of cartridge</title>
2.61 + </path>
2.62 + </g>
2.63 </svg>