pen_diameter=9; // stabilo: 9mm // weitere: 11mm height=65; thick=1.5; $fn=100; module rubberband_fix() { translate([1.5,0,0]) cube([pen_diameter/2+2*thick-3,1.5,1]); translate([0,1.5,0]) cube([pen_diameter/2+2*thick,1.5,1]); } module all_rubberband_fix() { translate([0,pen_diameter+2*thick,47+4+4*thick+2]) rubberband_fix(); translate([0,pen_diameter+2*thick,47+4+4*thick+2-12]) rubberband_fix(); translate([0,pen_diameter+2*thick,47+4+4*thick+2-24]) rubberband_fix(); translate([0,pen_diameter+2*thick,4+thick]) rubberband_fix(); translate([0,pen_diameter+2*thick,4+thick+12]) rubberband_fix(); translate([pen_diameter/2+2*thick,0,47+4+4*thick+2]) rotate([0,0,180]) rubberband_fix(); translate([pen_diameter/2+2*thick,0,47+4+4*thick+2-12]) rotate([0,0,180]) rubberband_fix(); translate([pen_diameter/2+2*thick,0,47+4+4*thick+2-24]) rotate([0,0,180]) rubberband_fix(); translate([pen_diameter/2+2*thick,0,4+thick]) rotate([0,0,180]) rubberband_fix(); translate([pen_diameter/2+2*thick,0,4+thick+12]) rotate([0,0,180]) rubberband_fix(); } difference() { union() { cube([pen_diameter/2+2*thick,pen_diameter+2*thick,height]); translate([-22,0,4]) cube([22,pen_diameter+2*thick,47+4*thick]); translate([-3,0,1]) cube([3,pen_diameter+2*thick,1]); // rubber band bottom translate([-3,0,47+4+4*thick+2]) cube([3,pen_diameter+2*thick,1]); // rubber band top all_rubberband_fix(); } translate([pen_diameter/2+thick,pen_diameter/2+thick,-0.2]) cylinder(r=pen_diameter/2,h=height+0.4); // pen translate([-20-12,0,4+2*thick+7]) cube([20,pen_diameter+2*thick,47+thick-7-1]); // fan translate([-30,0,4+2*thick]) cube([30,pen_diameter+2*thick,7]); // plate translate([-20-9,0,4]) cube([20,pen_diameter+2*thick,2*thick]); // bottom //#translate([-30,0,0.33*height]) cube([30,pen_diameter+2*thick,2]); // rubberband cutout //#translate([-30,0,0.66*height]) cube([30,pen_diameter+2*thick,2]); // rubberband cutout }