From 1a224d8ee1f5e9cea431573ec4d103d2937f404b Mon Sep 17 00:00:00 2001 From: akukan Date: Wed, 1 Aug 2018 17:42:31 +0200 Subject: [PATCH] Angled fan version --- Printed-Parts/scad/nozzle-fan-holder.scad | 36 +++ Printed-Parts/scad/nozzle-fan.scad | 310 +++++++++++----------- 2 files changed, 198 insertions(+), 148 deletions(-) create mode 100644 Printed-Parts/scad/nozzle-fan-holder.scad diff --git a/Printed-Parts/scad/nozzle-fan-holder.scad b/Printed-Parts/scad/nozzle-fan-holder.scad new file mode 100644 index 0000000..ae7f57b --- /dev/null +++ b/Printed-Parts/scad/nozzle-fan-holder.scad @@ -0,0 +1,36 @@ +//#import("nozzle-fan.stl"); +//#translate([0,-4.5,0]) rotate([90,0,180]) import("extruder-body.stl"); +//translate([0,-4.5,0]) rotate([90,0,0]) import("extruder-cover.stl"); +//translate([0,0,0]) rotate([0,0,0]) import("hot21_45_2.stl"); +//use; +//%rotate([90,0,0]) fan_nozzle_old(); + + +difference() +{ +union() +{ + translate([-4,35.5,-25]) cube([6,45,30]); + translate([-4,35.5,-25]) cube([15,10,30]); + translate([-4,68,-12]) rotate([51,0,0]) cube([10,15,11.1]); + translate([5.5,66.3,-5.8]) rotate([50,0,0]) cylinder(r=6.1,h = 6, $fn=6); +} + + +translate([5.5,42,1]) rotate([90,0,0]) cylinder(r=1.6,h = 10, $fn=30); +translate([5.5,46.9,1]) rotate([90,0,0]) cylinder(r=3.1,h = 5, $fn=30); + +//#translate([5.5,70,-7]) rotate([50,0,0]) cylinder(r=1.6,h = 15, $fn=60); + translate([5.5,70,-9]) rotate([50,0,0]) cylinder(r=1.6,h = 15, $fn=60); + translate([5.5,65,-4.8]) rotate([50,0,0]) cylinder(r=3.1,h = 17, $fn=6); + + +translate([-25,46.5,-55]) rotate([52,0,0]) cube([50,150,15]); +translate([-25,46.5,-66]) rotate([50,0,0]) cube([50,150,15]); +translate([-25,86,4]) rotate([50+90,0,0]) cube([50,150,15]); +translate([-25,86,13.5]) rotate([170,0,0]) cube([50,150,15]); +translate([-25,86,-12]) rotate([175,0,0]) cube([50,150,15]); + +translate([-5,35,-25]) cube([20,45,16]); + +} \ No newline at end of file diff --git a/Printed-Parts/scad/nozzle-fan.scad b/Printed-Parts/scad/nozzle-fan.scad index 3e0afd0..28e6af2 100644 --- a/Printed-Parts/scad/nozzle-fan.scad +++ b/Printed-Parts/scad/nozzle-fan.scad @@ -1,180 +1,194 @@ // PRUSA iteration4 -// Nozzle fan +// nozzle-fan // GNU GPL v3 // Josef Průša and contributors // http://www.reprap.org/wiki/Prusa_Mendel // http://prusamendel.org -module outer_shape() -{ - difference() - { - union() - { - // fan entry block - translate([-18,-53,-52]) cube([36,9,22]); - difference() - { - // nozzle base shape - translate([0,-44,-15]) rotate([90,0,0]) cylinder( h=9, r=24, $fn=30 ); - translate([0,-43,-15]) rotate([90,0,0]) cylinder( h=11, r=14, $fn=30 ); - translate([-25,-54,-17]) cube([50,11,30]); - } - // tips - translate([-23.8,-53,-17]) cube([10,9,6]); - translate([13.8,-53,-17]) cube([10,9,6]); - } - - // upper angle cut - translate([-25,-44,-30]) rotate([10,0,0]) cube([50,10,20]); - - // angled front sides - translate([-19.8,-54,-57]) rotate([0,-30,0]) cube([10,11,20]); - translate([11.2,-54,-52]) rotate([0,30,0]) cube([10,11,20]); - - // right round edge - translate([10.2,0,3]) difference() - { - translate([-28,-44,-20]) rotate([90,0,0]) cylinder( h=10, r=12, $fn=30 ); - translate([-28,-43,-20]) rotate([90,0,0]) cylinder( h=12, r=6, $fn=30 ); - translate([-50,-43,-60]) rotate([90,0,0]) cube([40,40,40]); - translate([-28,-43,-40]) rotate([90,0,0]) cube([40,40,40]); - } - - // left round edge - translate([45.8,0,3]) difference() - { - translate([-28,-44,-20]) rotate([90,0,0]) cylinder( h=10, r=12, $fn=30 ); - translate([-28,-43,-20]) rotate([90,0,0]) cylinder( h=12, r=6, $fn=30 ); - translate([-50,-43,-60]) rotate([90,0,0]) cube([40,40,40]); - translate([-68,-43,-40]) rotate([90,0,0]) cube([40,40,40]); - } - - - +module fan() + { + cube([19.5,15,50]); + translate([0,9.5,0]) cube([19.5,5.5,50]); + translate([0,0,0]) cube([19.5,6,50]); + translate([-1.50,6,0]) cube([1.5,3,50]); + translate([9,-5,40]) cube([1,5.5,10]); } - - // mounting block + +module inner_half() +{ difference() { - translate([10.5,-53,-40.5]) cube([8,17,5]); - translate([14.5,-40.5,-41]) rotate([0,0,0]) cylinder( h=15, r=1.65, $fn=30 ); - translate([14.5,-40.5,-42]) rotate([0,0,0]) cylinder( h=4, r=3.1, $fn=30 ); - } -} - - - -module inner_shape() -{ - difference() - { - union() - { - // base block - translate([-17,-52,-51]) cube([34,7,21]); - - // nozzle inner shape - difference() - { - translate([0,-45,-15]) rotate([90,0,0]) cylinder( h=7, r=23, $fn=30 ); - translate([0,-43,-15]) rotate([90,0,0]) cylinder( h=11, r=16, $fn=30 ); - translate([-25,-54,-17]) cube([50,11,30]); - } - - translate([-22.8,-52,-17]) cube([7,7,5]); - translate([15.8,-52,-17]) cube([7,7,5]); - } - - // upper angled cut - translate([-25,-44,-35]) rotate([10,0,0]) cube([50,10,30]); - - // angled front sides - translate([-19.2,-54,-56]) rotate([0,-24,0]) cube([10,11,20]); - translate([10.5,-54,-51]) rotate([0,24,0]) cube([10,11,20]); - - // smooth entry + union() + { + // outlets difference() { - translate([-30,-46,-45]) rotate([0,90,0]) cylinder( h=60, r=9, $fn=30 ); - translate([-30,-46,-45]) rotate([0,90,0]) cylinder( h=60, r=6, $fn=30 ); - translate([-30,-46,-52]) cube([60,11,20]); - translate([-30,-53,-45]) cube([60,11,20]); + union() + { + translate([-8,12,-63]) rotate([25,0,0]) cube([18,30,6]); + translate([-6,10.2,-60]) rotate([25,0,60]) cube([9,20,4]); + } + translate([-28,0,-55]) rotate([0,0,70]) cube([65,20,15]); } - - // left round edge - translate([10.2,0,3]) difference() - { - translate([-28,-44,-20]) rotate([90,0,0]) cylinder( h=10, r=12, $fn=30 ); - translate([-28,-43,-20]) rotate([90,0,0]) cylinder( h=12, r=5, $fn=30 ); - translate([-50,-43,-60]) rotate([90,0,0]) cube([40,40,40]); - translate([-28,-43,-40]) rotate([90,0,0]) cube([40,40,40]); - } - - // right round edge - translate([45.8,0,3]) difference() - { - translate([-28,-44,-20]) rotate([90,0,0]) cylinder( h=10, r=12, $fn=30 ); - translate([-28,-43,-20]) rotate([90,0,0]) cylinder( h=12, r=5, $fn=30 ); - translate([-50,-43,-60]) rotate([90,0,0]) cube([40,40,40]); - translate([-68,-43,-40]) rotate([90,0,0]) cube([40,40,40]); - } - - + // inner body + difference() + { + // base shape + translate([-25,14,-52]) rotate([0,0,0]) cube([25,37,7]); + translate([-14,2,-55]) rotate([0,0,60]) cube([10,20,15]); + + translate([-28,0,-55]) rotate([0,0,70]) cube([65,20,15]); + difference() + { + // heatblock cut + translate([-13,10,-55]) rotate([0,0,0]) cube([20,20,15]); + translate([-16,21.7,-55]) rotate([0,0,45]) cube([20,20,15]); + } + + // front shape + translate([-8,15,-55]) rotate([25,0,0]) cube([16,30,6]); + translate([-25,0,-55]) rotate([25,0,0]) cube([16,30,6]); + translate([-15,51,-58]) rotate([45,0,0]) cube([16,30,6]); + } } - // fan cut - translate([-10.25,-46,-51]) cube([20.5,10,15.5]); - translate([10.25,-52,-44]) cube([2,15,3]); - + difference() + { + translate([-16.8,19.5,-55])cylinder(r=6,h = 12, $fn=30); + translate([-16.8,19.5,-55])cylinder(r=4,h = 30, $fn=30); + translate([-25,21,-58]) cube([20,20,16]); + translate([-18,11,-58]) cube([20,220,16]); + } + + translate([-6,9,-56]) rotate([25,-15,60]) cube([20,25,5]); + translate([-20,50,-54]) rotate([50,0,0]) cube([21,10,20]); + translate([-14,2,-48]) rotate([0,50,60]) cube([10,25,18]); + translate([-12,3.4,-60]) rotate([25,0,60]) cube([9,20,7]); + } } - -module base_shape() + +module inner() { difference() { - outer_shape(); - inner_shape(); - // air slot - translate([0,-49,-15]) rotate([90,0,0]) cylinder( h=7, r=17, $fn=30 ); + union() + { + inner_half(); + mirror([1,0,0]) inner_half(); + + // fan cut + translate([9.8,48,-53]) rotate([40,0,180]) fan(); + difference() + { + translate([-9.7,41.65,-60.7]) rotate([50,0,0]) cube([9.75*2,20,15]); + translate([-10,32,-67]) rotate([0,0,0]) cube([20,20,15]); + } } + translate([-20,44,-57]) cube([40,10,5]); +} } - -module fan_nozzle() +module outer_half() { difference() { - base_shape(); + union() + { + translate([-25,13,-53]) rotate([0,0,0]) cube([25,39,9]); + translate([-18,45,-55]) rotate([50,0,0]) cube([18,10,15]); + } - // nozzle tips cut - translate([8.7,-53,-15]) rotate([0,20,0]) cube([5,15,15]); - translate([-13.6,-53,-16]) rotate([0,-20,0]) cube([5,15,15]); + // front shape + translate([-14,0,-55]) rotate([0,0,60]) cube([10,20,15]); + + // sides + translate([-30,0,-55]) rotate([0,0,70]) cube([65,20,15]); + difference() + { + translate([-12,9,-55]) rotate([0,0,0]) cube([20,20,15]); + translate([-16,20.7,-55]) rotate([0,0,45]) cube([20,20,15]); + } + + translate([-25,-2,-55]) rotate([25,0,0]) cube([16,30,6]); + translate([-15,54,-58]) rotate([60,0,0]) cube([16,30,6]); + translate([-6,8,-54]) rotate([25,-15,60]) cube([20,25,5]); + + translate([-20,51,-52]) rotate([50,0,0]) cube([21,10,20]); + translate([-20,40,-63]) cube([21,10,10]); } - - // fins - translate([8.1,0,-11]) rotate([0,80,0]) translate([0,-53,-25.5]) cube([1,5,3]); - translate([-8.1,0,-11.2]) rotate([0,-80,0]) translate([-1,-53,-25.5]) cube([1,5,3]); - translate([4.8,0,-11.5]) rotate([0,55,0]) translate([0,-53,-24]) cube([1,5,4]); - translate([-4.8,0,-11.5]) rotate([0,-55,0]) translate([-1,-53,-24]) cube([1,5,4]); - translate([-0.5,0,-8.6]) rotate([0,15,0]) translate([0,-53,-24]) cube([1,5,4]); - translate([0.5,0,-8.6]) rotate([0,-15,0]) translate([-1,-53,-24]) cube([1,5,4]); - - - translate([-0.4,-53,-35.4]) rotate([0,0,0]) cube([0.8,8.8,6.4]); - translate([5.4,-53,-34.8]) rotate([0,50,0]) cube([0.8,9,8.5]); - translate([-6.2,-53,-35.4]) rotate([0,-50,0]) cube([0.8,9,8.5]); - - translate([10.4,-53,-40.4]) rotate([0,30,0]) cube([0.8,9,4.5]); - translate([-11.2,-53,-41.0]) rotate([0,-30,0]) cube([0.8,9,4.5]); - - - translate([10,-51,-50.8]) rotate([0,180,0]) linear_extrude(height = 2) - { text("HOT!2",font = "helvetica:style=Bold", size=5, center=true); } + } -rotate([90,0,0]) fan_nozzle(); + +module outer() +{ + outer_half(); + mirror([1,0,0]) outer_half(); + translate([-11.2,50.5,-52]) rotate([50,0,0]) cube([22.5,2,1.3]); + translate([9.5,50.5,-52]) rotate([50,0,0]) cube([1.8,2,17.3]); + translate([-11.5,37.7,-42]) rotate([50,0,0]) cube([23,2.6,1.05]); +} + + + +module nozzle_fan() +{ +difference() + { + union() + { + outer(); + translate([10.5,35,-53]) cube([8,5,17]); + } + inner(); + translate([14.5,46,-40.5]) rotate([90,0,0]) cylinder(r=3,h=8,$fn=30); + translate([14.5,45,-40.5]) rotate([90,0,0]) cylinder(r=1.6,h=30,$fn=30); + + translate([-25,30,-44]) cube([50,5,17]); + } + + // center fin + difference() + { + translate([-0.3,29,-53]) cube([0.6,20,11]); + translate([-2.5,35.5,-41]) rotate([-45,0,0]) cube([5,20,9]); + translate([-2.5,26,-44]) cube([5,10,9]); + translate([-2.5,26.5,-43]) cube([5,10,9]); + } + + // right fin + difference() + { + translate([-8,29,-53]) cube([0.6,20,11]); + translate([-9,31,-42]) rotate([-45,0,0]) cube([5,20,14]); + translate([-9,26,-44]) cube([5,10,9]); + translate([-9,26.5,-43]) cube([5,10,9]); + } + + // left fin + difference() + { + translate([7.4,29,-53]) cube([0.6,20,11]); + translate([7,31,-42]) rotate([-45,0,0]) cube([5,20,14]); + translate([7,26,-44]) cube([5,10,9]); + translate([7,26.5,-43]) cube([5,10,9]); + } + + // front sides + translate([-13,13,-53]) cube([1,12,3]); + translate([12,13,-53]) cube([1,12,2]); + translate([-13,17,-52]) cube([1,8,3]); + translate([12,17,-52]) cube([1,8,3]); +} + + + +nozzle_fan(); + + + +