MrMik on Nostr: Lets see how Nostr copes with a bit of code Paste the following into OpenSCAD to make ...
Lets see how Nostr copes with a bit of code
Paste the following into OpenSCAD to make a 3D printable Apollo to 200mm Noctua fan adapter:
$fn=100;
_min = 0.01; // translate([-_min,0,0])
//Standalone Apollo 200mm fan adapter
// to do:
// DONE: Hull from square with rounded corners to round
// DONE: make base plate thinner
// add cable tie loops
// DONE: make lip 2mm longer
// 88mm outer square
// 104.5mm diameter round
difference(){// sectioning 200mm Apollo standalone fan shroud assembly
union(){// 200mm Noctua stand-alone Fan Shroud
difference(){// Power Supply Fan Shroud Hull to be hollowed by 2nd hull
hull(){// Outer hull
// total height is supposed to be 50mm
translate([0,0,0])
difference(){// shape of Polli top opening inner dimensions; differencing a ring from a cube
cube([88, 88, 1], center=true);// square hole
translate([0,0,-50])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=52.25, h=200);
}
// End difference to make ring
}
// End difference
translate([0,0,-50])
cylinder(r=98.5, h=1);
}
// End outer hull
hull(){// Inner hull
// total height is supposed to be 50mm
translate([0,0,-0.5])
difference(){// shape of Polli top opening inner dimensions; differencing a ring from a cube
cube([86.4, 86.4, 1], center=true);// square hole
translate([0,0,-50])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=51.25, h=200);
}
// End difference to make ring
}
// End difference
translate([0,0,-50])
cylinder(r=97.5, h=1);// opening for 200mm Noctua fan
}
// End inner hull
difference(){// opening the bottom hole again: shape of Polli top opening inner dimensions; differencing a ring from a cube
cube([86.4, 86.4, 10.5], center=true);// square hole
translate([0,0,-50])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=51.25, h=200);
}
// End difference to make ring
}
// End difference
}
// End difference of hull to be hollowed
translate([0,0,3.5])
difference(){// part that enters Polli opening for 1.5mm ADD 5mm
difference(){// shape of Polli top opening dimensions; differencing a ring from a cube
cube([88, 88, 6.5], center=true);// square hole
translate([0,0,-55])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=52.25, h=200);
}
// End difference to make ring
}
// End difference
difference(){// shape of Polli top opening inner dimensions; differencing a ring from a cube
cube([86.4, 86.4, 6.5], center=true);// square hole
translate([0,0,-50])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=51.25, h=200);
}
// End difference to make ring
}
// End difference
}
// End of part that enters Polli opening for 1.5mm
translate([0,0,0.5])
difference(){// Fan attachment level top plate
// holes distance: 170mm ; 4.5mm diameter But it seems to shrink after printing,
// width 140mm
// thickness 32mm
translate([0,0,-50])
cube([200,200,1.0], center=true);// top plate
union(){// 4 x Quarter rings for corner rounding of the top late
// rounding corners by differencing 1/4th rings in each corner
translate([89,89,-100])// moving the quarter ring where it needs to be
difference(){// a quarter ring
cylinder (r=25, h=200);
cylinder (r=11, h=200);
rotate([0,0,45])
cube([15,1500,400],center=true);
translate([-18,0,0])
rotate([0,0,45])
cube([25,1500,400],center=true);
}
// End difference of a quarter ring
rotate([0,0,90])
translate([89,89,-100])// moving the quarter ring where it needs to be
difference(){// a quarter ring
cylinder (r=25, h=200);
cylinder (r=11, h=200);
rotate([0,0,45])
cube([15,1500,400],center=true);
translate([-18,0,0])
rotate([0,0,45])
cube([25,1500,400],center=true);
}
// End difference of a quarter ring
rotate([0,0,180])
translate([89,89,-100])// moving the quarter ring where it needs to be
difference(){// a quarter ring
cylinder (r=25, h=200);
cylinder (r=11, h=200);
rotate([0,0,45])
cube([15,1500,400],center=true);
translate([-18,0,0])
rotate([0,0,45])
cube([25,1500,400],center=true);
}
// End difference of a quarter ring
rotate([0,0,270])
translate([89,89,-100])// moving the quarter ring where it needs to be
difference(){// a quarter ring
cylinder (r=25, h=200);
cylinder (r=11, h=200);
rotate([0,0,45])
cube([15,1500,400],center=true);
translate([-18,0,0])
rotate([0,0,45])
cube([25,1500,400],center=true);
}
// End difference of a quarter ring
}
// End union 4 x quarter rings for corner rounding
translate([0,0,-55])
cylinder(h=100.02, r=97.5);// Auxiliary fan sized hole 192.5mm diameter
translate([-85,-85,-55])
union(){// Fan screw holes group of 4
translate([0,0,0])
cylinder(h=1000, r=2.35);// increased from r=2.25 in v20221030c
translate([170,0,0])
cylinder(h=1000, r=2.35);
translate([0,170,0])
cylinder(h=1000, r=2.35);
translate([170,170,0])
cylinder(h=1000, r=2.35);
}
// End union fan screw holes group of 4
}
// End difference fan attachment level top
rotate([0,0,0])
union(){// Cable tie loops set of 2 A
translate([-40.25,-32.25,3.0])
rotate([90,0,-142])
difference(){// hollowing cable tie loop 1
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
translate([-31.25,-41.0,3.0])
rotate([90,0,-127.5])
difference(){// hollowing cable tie loop 2
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
}
// End union cable tie loops
rotate([0,0,90])
union(){// Cable tie loops set of 2 B
translate([-40.25,-32.25,3.0])
rotate([90,0,-142])
difference(){// hollowing cable tie loop 1
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
translate([-31.25,-41.0,3.0])
rotate([90,0,-127.5])
difference(){// hollowing cable tie loop 2
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
}
// End union cable tie loops
rotate([0,0,180])
union(){// Cable tie loops set of 2 C
translate([-40.25,-32.25,3.0])
rotate([90,0,-142])
difference(){// hollowing cable tie loop 1
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
translate([-31.25,-41.0,3.0])
rotate([90,0,-127.5])
difference(){// hollowing cable tie loop 2
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
}
// End union cable tie loops
rotate([0,0,270])
union(){// Cable tie loops set of 2 D
translate([-40.25,-32.25,3.0])
rotate([90,0,-142])
difference(){// hollowing cable tie loop 1
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
translate([-31.25,-41.0,3.0])
rotate([90,0,-127.5])
difference(){// hollowing cable tie loop 2
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
}
// End union cable tie loops
}
// End 200mm Noctua stand-alone Fan Shroud union
*union(){// sectioning
translate([0,0,-55])
cube([200,200,100],center=true);// sectioning for partial print test
*rotate([0,0,45])
translate([50,50,-50])
cube([100,100,200],center=true);// to section the whole thing
*translate([50,50,-50])
cube([100,100,200],center=true);// to section the whole thing
}
// End union for sectioning
}
// End difference of entire fan shroud assembly for sectioning
Paste the following into OpenSCAD to make a 3D printable Apollo to 200mm Noctua fan adapter:
$fn=100;
_min = 0.01; // translate([-_min,0,0])
//Standalone Apollo 200mm fan adapter
// to do:
// DONE: Hull from square with rounded corners to round
// DONE: make base plate thinner
// add cable tie loops
// DONE: make lip 2mm longer
// 88mm outer square
// 104.5mm diameter round
difference(){// sectioning 200mm Apollo standalone fan shroud assembly
union(){// 200mm Noctua stand-alone Fan Shroud
difference(){// Power Supply Fan Shroud Hull to be hollowed by 2nd hull
hull(){// Outer hull
// total height is supposed to be 50mm
translate([0,0,0])
difference(){// shape of Polli top opening inner dimensions; differencing a ring from a cube
cube([88, 88, 1], center=true);// square hole
translate([0,0,-50])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=52.25, h=200);
}
// End difference to make ring
}
// End difference
translate([0,0,-50])
cylinder(r=98.5, h=1);
}
// End outer hull
hull(){// Inner hull
// total height is supposed to be 50mm
translate([0,0,-0.5])
difference(){// shape of Polli top opening inner dimensions; differencing a ring from a cube
cube([86.4, 86.4, 1], center=true);// square hole
translate([0,0,-50])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=51.25, h=200);
}
// End difference to make ring
}
// End difference
translate([0,0,-50])
cylinder(r=97.5, h=1);// opening for 200mm Noctua fan
}
// End inner hull
difference(){// opening the bottom hole again: shape of Polli top opening inner dimensions; differencing a ring from a cube
cube([86.4, 86.4, 10.5], center=true);// square hole
translate([0,0,-50])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=51.25, h=200);
}
// End difference to make ring
}
// End difference
}
// End difference of hull to be hollowed
translate([0,0,3.5])
difference(){// part that enters Polli opening for 1.5mm ADD 5mm
difference(){// shape of Polli top opening dimensions; differencing a ring from a cube
cube([88, 88, 6.5], center=true);// square hole
translate([0,0,-55])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=52.25, h=200);
}
// End difference to make ring
}
// End difference
difference(){// shape of Polli top opening inner dimensions; differencing a ring from a cube
cube([86.4, 86.4, 6.5], center=true);// square hole
translate([0,0,-50])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=51.25, h=200);
}
// End difference to make ring
}
// End difference
}
// End of part that enters Polli opening for 1.5mm
translate([0,0,0.5])
difference(){// Fan attachment level top plate
// holes distance: 170mm ; 4.5mm diameter But it seems to shrink after printing,
// width 140mm
// thickness 32mm
translate([0,0,-50])
cube([200,200,1.0], center=true);// top plate
union(){// 4 x Quarter rings for corner rounding of the top late
// rounding corners by differencing 1/4th rings in each corner
translate([89,89,-100])// moving the quarter ring where it needs to be
difference(){// a quarter ring
cylinder (r=25, h=200);
cylinder (r=11, h=200);
rotate([0,0,45])
cube([15,1500,400],center=true);
translate([-18,0,0])
rotate([0,0,45])
cube([25,1500,400],center=true);
}
// End difference of a quarter ring
rotate([0,0,90])
translate([89,89,-100])// moving the quarter ring where it needs to be
difference(){// a quarter ring
cylinder (r=25, h=200);
cylinder (r=11, h=200);
rotate([0,0,45])
cube([15,1500,400],center=true);
translate([-18,0,0])
rotate([0,0,45])
cube([25,1500,400],center=true);
}
// End difference of a quarter ring
rotate([0,0,180])
translate([89,89,-100])// moving the quarter ring where it needs to be
difference(){// a quarter ring
cylinder (r=25, h=200);
cylinder (r=11, h=200);
rotate([0,0,45])
cube([15,1500,400],center=true);
translate([-18,0,0])
rotate([0,0,45])
cube([25,1500,400],center=true);
}
// End difference of a quarter ring
rotate([0,0,270])
translate([89,89,-100])// moving the quarter ring where it needs to be
difference(){// a quarter ring
cylinder (r=25, h=200);
cylinder (r=11, h=200);
rotate([0,0,45])
cube([15,1500,400],center=true);
translate([-18,0,0])
rotate([0,0,45])
cube([25,1500,400],center=true);
}
// End difference of a quarter ring
}
// End union 4 x quarter rings for corner rounding
translate([0,0,-55])
cylinder(h=100.02, r=97.5);// Auxiliary fan sized hole 192.5mm diameter
translate([-85,-85,-55])
union(){// Fan screw holes group of 4
translate([0,0,0])
cylinder(h=1000, r=2.35);// increased from r=2.25 in v20221030c
translate([170,0,0])
cylinder(h=1000, r=2.35);
translate([0,170,0])
cylinder(h=1000, r=2.35);
translate([170,170,0])
cylinder(h=1000, r=2.35);
}
// End union fan screw holes group of 4
}
// End difference fan attachment level top
rotate([0,0,0])
union(){// Cable tie loops set of 2 A
translate([-40.25,-32.25,3.0])
rotate([90,0,-142])
difference(){// hollowing cable tie loop 1
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
translate([-31.25,-41.0,3.0])
rotate([90,0,-127.5])
difference(){// hollowing cable tie loop 2
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
}
// End union cable tie loops
rotate([0,0,90])
union(){// Cable tie loops set of 2 B
translate([-40.25,-32.25,3.0])
rotate([90,0,-142])
difference(){// hollowing cable tie loop 1
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
translate([-31.25,-41.0,3.0])
rotate([90,0,-127.5])
difference(){// hollowing cable tie loop 2
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
}
// End union cable tie loops
rotate([0,0,180])
union(){// Cable tie loops set of 2 C
translate([-40.25,-32.25,3.0])
rotate([90,0,-142])
difference(){// hollowing cable tie loop 1
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
translate([-31.25,-41.0,3.0])
rotate([90,0,-127.5])
difference(){// hollowing cable tie loop 2
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
}
// End union cable tie loops
rotate([0,0,270])
union(){// Cable tie loops set of 2 D
translate([-40.25,-32.25,3.0])
rotate([90,0,-142])
difference(){// hollowing cable tie loop 1
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
translate([-31.25,-41.0,3.0])
rotate([90,0,-127.5])
difference(){// hollowing cable tie loop 2
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
}
// End union cable tie loops
}
// End 200mm Noctua stand-alone Fan Shroud union
*union(){// sectioning
translate([0,0,-55])
cube([200,200,100],center=true);// sectioning for partial print test
*rotate([0,0,45])
translate([50,50,-50])
cube([100,100,200],center=true);// to section the whole thing
*translate([50,50,-50])
cube([100,100,200],center=true);// to section the whole thing
}
// End union for sectioning
}
// End difference of entire fan shroud assembly for sectioning