OpenSCAD script:
$fn=360;
height = 16;
strength = 3;
widthEye = 5;
depthEye = 16;
module eye(){
difference() {
cube([widthEye, depthEye, height], true);
cube([0.35*widthEye, 0.5*depthEye, height], true);
}
}
module cap(innerDiameter) {
rotate([180, 0, 0])
translate([0, 0, -height]) {
difference() {
cylinder(h = height, d = innerDiameter+strength);
cylinder(h = height-strength, d = innerDiameter);
}
translate([0.5*innerDiameter+0.5*widthEye, 0, 0.5*height])
eye();
translate([-(0.5*innerDiameter+0.5*widthEye), 0, 0.5*height])
eye();
}
}
// unit: mm
cap(innerDiameter = 57);
[Update 20190616:]
printed with black polyflex filament, seems to work just fine - estimated cost 2,10 €
2019-06-12 23:26 UTC