Zuletzt geändert am 1. Januar 2012 um 21:19

OpenSCAD small projects

Version vom 1. Januar 2012, 21:19 Uhr von Axl (Diskussion | Beiträge) (+ Datei:M6 thumbscrew 002.png)

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!


Thumbscrews M6

Screenshot
  • 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

Screenshot
//
// 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);
}

OpenSCAD Tipps, Tutorials etc.