-
Caig DeoxIT Bottle Holder
Having found my lifetime supply of DeoxIT slouched against something that didn’t appreciate a thin coating of red oil:

Caig DeoxIT bottle holder The solid model consists of two squashed cylinders atop a slab:

DeoxIT Bottle Holder Applying the
resize()operator to both cylinders separately, before thedifference()operation, maintains a uniform (and grossly overqualified) 5 mm wall thickness, which you wouldn’t get by squashing them after thedifference().The 2.5 mm slab gets nice, rounded corners from a
hull()shrinkwrapping a quartet of squat cylinders; Slic3r applies Hilbert Curve infill to the top & bottom surfaces to produce a nice pattern. I admit to being easily pleased.The OpenSCAD source code took about ten minutes to write and two hours to print:
// CAIG DeoxIT Bottle Holder // Ed Nisley KE4ZNU - June 2015 //- Extrusion parameters - must match reality! ThreadThick = 0.25; ThreadWidth = 0.40; function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit); Protrusion = 0.1; HoleWindage = 0.2; //------ // Dimensions BottleOD = [40,21,30]; // actual dia, holder depth Clearance = [1.0,1.0,0.0]; // around bottle WallThick = 5.0; PlateThick = IntegerMultiple(2.5,ThreadThick); PlateRound = 5.0; NumSides = 8*4; //- Build it union() { hull() { for (i=[-1,1], j=[-1,1]) { translate([i*(BottleOD[0] - PlateRound),j*(BottleOD[0] - PlateRound),0]) cylinder(r=PlateRound,h=PlateThick,$fn=NumSides); } } difference() { resize(BottleOD + 2*Clearance + [2*WallThick,2*WallThick,WallThick]) cylinder(d=BottleOD[0],h=1,$fn=NumSides); translate([0,0,WallThick]) resize(BottleOD + 2*Clearance + [0,0,WallThick]) cylinder(d=BottleOD,h=1,$fn=NumSides); } }I loves me my 3D printer…