diff --git a/HeatSink.scad b/HeatSink.scad index 65354fa93dec61d37b55ba90c7a86e2a86a27ab3..24111ccbca9e00f762494f8f4495dc5a12540242 100644 --- a/HeatSink.scad +++ b/HeatSink.scad @@ -262,16 +262,23 @@ module splitFunnel() { d = 2; y_off = hs_w/2 - fu_outlet_w/2; + + alpha = 45; // curve angle module half() { - difference() { - union() { - translate([hs_l/2, -y_off, -hs_h]) rotate([90, 0, 90]) cornerPipeLayOnFace(hs_h, fu_outlet_w, d, 180, fu_r, fu_str, centerX=true); - - } - translate([-hs_l/2, 0, 0]) cube([hs_l, hs_w/2, hs_w]); - } + translate([hs_l/2, -y_off, -hs_h]) rotate([90, 0, 90]) cornerPipeLayOnFace(hs_h, fu_outlet_w, d, 180, fu_r, fu_str, centerX=true); + + + translate([hs_l/2, -y_off + fu_outlet_w/2 + d/2, d]) rotate([0, 0, 270 - alpha]) cornerPipe(fu_outlet_w, hs_h, d, alpha, fu_r, fu_str); + + + // the straight pipe after the curve + + +// difference() { +// translate([-hs_l/2, 0, 0]) cube([hs_l, hs_w/2, hs_w]); +// } } @@ -286,6 +293,9 @@ module splitFunnel() { // Define the main module… module HeatSinkMainModule() { + + epsilon = 0.001; + if ($preview) { $fs = 0.5; @@ -300,9 +310,9 @@ module HeatSinkMainModule() { // color([0, 0, 1.0, 1.0]) translate([0, 0, 1]) linear_extrude(1) funnelFins(); - translate([7+8 - 72/2, 0, 0.001]) rotate([0, 0, 30]) MockupColor() linear_extrude(1.6) roundNGon(72, 6, 10/2); + translate([7+8 - 72/2, 0, epsilon]) rotate([0, 0, 30]) MockupColor() linear_extrude(1.6) roundNGon(72, 6, 10/2); - translate([12, 0, f_wh/2 + 0.001]) rotate([0, 90, 0]) MockupColor() fan(d=11); + // translate([12, 0, f_wh/2 + epsilon]) rotate([0, 90, 0]) MockupColor() fan(d=11); } else {