Angled fan version

This commit is contained in:
akukan 2018-08-01 17:42:31 +02:00 committed by GitHub
parent 7dec17ca03
commit 1a224d8ee1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 198 additions and 148 deletions

View File

@ -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<nozzle-fan-old.scad>;
//%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]);
}

View File

@ -1,180 +1,194 @@
// PRUSA iteration4
// Nozzle fan
// nozzle-fan
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module outer_shape()
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]);
}
module inner_half()
{
difference()
{
union()
{
// fan entry block
translate([-18,-53,-52]) cube([36,9,22]);
// outlets
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()
union()
{
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]);
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([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]);
}
}
// mounting block
// inner body
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 );
// 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]);
}
}
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 inner_shape()
module inner()
{
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
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]);
}
// 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_half();
mirror([1,0,0]) inner_half();
// fan cut
translate([-10.25,-46,-51]) cube([20.5,10,15.5]);
translate([10.25,-52,-44]) cube([2,15,3]);
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 base_shape()
module outer_half()
{
difference()
{
outer_shape();
inner_shape();
// air slot
translate([0,-49,-15]) rotate([90,0,0]) cylinder( h=7, r=17, $fn=30 );
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]);
}
}
// front shape
translate([-14,0,-55]) rotate([0,0,60]) cube([10,20,15]);
module fan_nozzle()
{
// sides
translate([-30,0,-55]) rotate([0,0,70]) cube([65,20,15]);
difference()
{
base_shape();
// 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]);
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]);
}
// 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([-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]);
}
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();