A collection of smaller projects using OpenSCAD:
Fan protective grille
- The Hackerspace main network switch was quiet noisy.
- Original 40 mm internal fan (5 Volt) was replaced by an external 70 mm & 12 Volt model.
- Running at 5 Volts keeps it at a lower noise level.
- To avoid (further) hurts, the fan needed a grille.
- OpenSCAD Script Datei:Fan-Protector 005.scad
- → render mesh and export in STL format
- → 3D print on yag-freak's Prusa Mendel - thank you!
- → render mesh and export in STL format
Thumbscrews M6
- convert a regular M6 nut into a M6 thumbscrew
// // M6 thumbscrew // // 29.12.2011 - 002 - initial // 30.12.2011 - 004 - better thumbscrew pattern // 30.12.2011 - 005 - + test mode // 01.01.2012 - 007 - adjust M6 hole, adjust nut diameter // test = 0; pi = 3.1415926; R = 10; // main radius (mm) // "diff" cylinders around main radius rs = 1.25; // radius cylinders N = round((R * 2 * pi) / (2.8 * rs)); // number R2 = R + rs / 4; // hole M6 rh = 3.25; // radius "hole for M6" // heights tt = (test == 0) ? 8.0 : 3.2; // thickness total tt2 = tt + 1; // nut Dn = 10.1; // diameter of the nut (!) Rn = tan(30) * Dn; // radius of outer circle (from diameter) tn = (test == 0) ? 4.6 : 2.0; // thickness // some debug infos echo ("main Radius R = ", R); echo ("diff cylinders N = ", N); difference () { cylinder(r = R, h = tt, center=true, $fn=N * 12); cylinder(r = rh, h = tt2, center=true, $fn=50); translate ([0, 0, 0.01 + ((tt - tn) / 2) ]) cylinder(r = Rn, h = tn, center=true, $fa=60); for ( i = [1 : 1 : N] ) { assign (a = 360 / N * i) translate([R2 * cos(a), R2 * sin(a), 0]) rotate ([0, 0, a]) { cylinder(r = rs, h = tt2, center=true, $fn=16); } } }
Ruler for debugging
- add a simple ruler to OpenSCAD source code
- optical control - prevent getting lost of orientation and size of the result
- ruler will not be part of STL output etc. (using the % background modifier)
- Source: Datei:Ruler for debugging.scad
// // rulers - demo // # translate ([60, 30, 50]) cylinder (h = 30, r=20, center = true, $fn=30); // sample, only - add your objects here ruler_grid = 10; // mm ruler_digits = 10; ruler_thick = 0.5; ruler_length = ruler_grid / 4; for ( i = [0 : ruler_grid : ruler_grid * ruler_digits] ) { % translate ([i, 0, 0]) cube([ruler_thick, ruler_thick, ruler_length], center=true); % translate ([0, i, 0]) cube([ruler_thick, ruler_thick, ruler_length], center=true); % translate ([0, 0, i]) cube([ruler_length, ruler_thick, ruler_thick], center=true); }