sixteenmillimeter-tools/models/minolta16_tank_cover/minolta16_tank_cover.scad

48 lines
1.8 KiB
OpenSCAD

time = 0;
D = 55;
module tank_cover (thickness, DEBUG = false) {
$fn = 100;
//outer rim
difference () {
cylinder(r = (D / 2) + thickness + 2, h = 5, center = true);
translate([0, 0, 0]) cylinder(r = (D / 2) + thickness, h = 5 + 1, center = true);
if (DEBUG){
translate([(D + 10) / 2, 0, 0]) cube([D + 10, D + 10, D + 10], center = true);
}
}
//inner rim
translate([0, 0, 0.5]) difference () {
cylinder(r = (D / 2), h = 2, center = true);
translate([0, 0, 0]) cylinder(r = (D / 2) - 2, h = 2 + 1, center = true);
if (DEBUG){
translate([(D + 10) / 2, 0, 0]) cube([D + 10, D + 10, D + 10], center = true);
}
}
//connector
translate([0, 0, 2.5]) difference () {
cylinder(r = (D / 2) + thickness + 2, h = 2, center = true);
translate([0, 0, 0]) cylinder(r = (D / 2) - 2, h = 2 + 1, center = true);
if (DEBUG){
translate([(D + 10) / 2, 0, 0]) cube([D + 10, D + 10, D + 10], center = true);
}
}
//main funnel
translate([0, 0, 11]) difference () {
cylinder(r1 = (D / 2) + thickness + 2, r2 = 9, h = 15, center = true);
translate([0, 0, -.6]) cylinder(r1 = (D / 2) - 2, r2 = 7 - 2, h = 14, center = true);
cylinder(r = 7 - 2, h = 20 + 1, center = true);
if (DEBUG){
translate([(D + 10) / 2, 0, 0]) cube([D + 10, D + 10, D + 10], center = true);
}
}
//tube1
translate([0, 0, 13.5]) difference () {
cylinder(r = 8, h = 10, center = true);
translate([0, 0, 0]) cylinder(r = 7 - 2, h = 10 + 1, center = true);
if (DEBUG){
translate([(D + 10) / 2, 0, 0]) cube([D + 10, D + 10, D + 10], center = true);
}
}
}
rotate([0, 0, time]) tank_cover(2);