# HG changeset patch # User Paul Boddie # Date 1389399154 -3600 # Node ID 71fe803717c1bbe9157f5e716d64242b15ed65f5 # Parent 830b2306de4718d36bd6e043a9e11b9d504ac96c Changed the fillet module to add a margin of subtractable material around the cylinder void; removed the extra length of subtractable material; made the rounding offset the same as the radius. diff -r 830b2306de47 -r 71fe803717c1 cartridge.scad --- a/cartridge.scad Sat Jan 11 00:52:30 2014 +0100 +++ b/cartridge.scad Sat Jan 11 01:12:34 2014 +0100 @@ -2,10 +2,18 @@ { $fn = 50; + /* Rounding/fillet radius and additional margin of subtracted + material. The additional margin helps avoid geometry + problems. */ + + rr = 1; + ro = rr; + extra = 0.1; + module fillet(r, h) { translate([0, 0, -h/2]) difference() { - cube([r, r, h]); + cube([r + extra, r + extra, h]); cylinder(r = r, h = h); } } @@ -22,10 +30,12 @@ front_label_height = 46.0; front_label_depth = 1.0; front_label_offset_from_bottom = 19.5; + top_label_width = front_label_width; top_label_height = 11.5; top_label_depth = front_label_depth; top_label_offset_from_front = 2.5; + groove_depth = 1.0; /* Side thicknesses. */ @@ -36,14 +46,6 @@ left = 2; right = 2; - /* Rounding/fillet offset, radius and additional length. - The radius needs to be slightly larger than the offset - in order to avoid geometry problems. */ - - ro = 1; - rr = 1.01; - extra = 0; - difference() { /* The cartridge surfaces. */ @@ -110,34 +112,34 @@ translate([-width / 2 + ro, 0, height / 2 - ro]) rotate([0, 0, 180]) rotate([90, 0, 0]) - fillet(rr, depth + extra); + fillet(rr, depth); translate([width / 2 - ro, 0, height / 2 - ro]) rotate([90, 0, 0]) - fillet(rr, depth + extra); + fillet(rr, depth); /* Top back and front rounding. */ translate([0, depth / 2 - ro, height / 2 - ro]) rotate([0, -90, 0]) - fillet(rr, width + extra); + fillet(rr, width); translate([0, -depth / 2 + ro, height / 2 - ro]) rotate([0, 0, 180]) rotate([0, -90, 0]) - fillet(rr, width + extra); + fillet(rr, width); /* Edge rounding. */ translate([width / 2 - ro, depth / 2 - ro, 0]) - fillet(rr, height + extra); + fillet(rr, height); translate([-width / 2 + ro, depth / 2 - ro, 0]) rotate([0, 0, 90]) - fillet(rr, height + extra); + fillet(rr, height); translate([-width / 2 + ro, -depth / 2 + ro, 0]) rotate([0, 0, 180]) - fillet(rr, height + extra); + fillet(rr, height); translate([width / 2 - ro, -depth / 2 + ro, 0]) rotate([0, 0, 270]) - fillet(rr, height + extra); + fillet(rr, height); } } }