You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
2.1 KiB
40 lines
2.1 KiB
5 years ago
|
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
|
||
|
}
|