// by zeus - zeus@ctdo.de - CC-BY-NC-4.0 // -> https://www.thingiverse.com/zeus // -> https://github.com/zeus86 // 2014-11-05 // remix of "Ashtray" by TrevM 29/04/2014 /* [Global] */ // What quality? $fn = 100; // [20,40,60,80,100,120,140,160,180] // Outside radius? or = 65; // [20:100] // Inside radius? ir = 59; // [20:100] // Height? hi = 35; // [10:50] // Number of slots? num = 5; // [2:10] // Base bevel height? bh = 4; // [2:5] /* [Hidden] */ ang = 360/num; thk = or-ir+2; fr = 3.5; fr2 = fr * 2; module extinguisher(){ difference(){ translate([0,0,bh]){cylinder(r1 = 12, r2 = 7, h = hi);} translate([0,0,bh+0.6]){cylinder(r1 = 4.5, r2 = 5.25, h = hi-0.5);} } } // base cylinder( r1 = or-bh/2, r2 = or, h = bh); translate([0,0,bh-0.1]) difference() { // outside cylinder(r = or, h = hi); // inside translate([0,0,-0.1]) cylinder(r = ir, h = hi+0.2); // fag slots translate([0,0,hi-7]) for (n=[1:num]) rotate([0,0,(n-1)*ang]) slot(); } module slot() translate([ir-1,0,0]) { rotate([0,90,0]) cylinder(r=3.5,h=thk); translate([0,-fr,0]) rotate([-8,0,0]) cube([thk,fr2,10]); translate([0,-fr,0]) rotate([8,0,0]) cube([thk,fr2,10]); } extinguisher();