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

Reply to this note

Please Login to reply.

Discussion

No replies yet.