66 lines
2.2 KiB
OpenSCAD
66 lines
2.2 KiB
OpenSCAD
$fn = 100;
|
|
|
|
bottle_dia = 45;
|
|
|
|
air_tank_mount_v2();
|
|
|
|
module air_tank_mount_v0() {
|
|
difference() {
|
|
translate([-24, -24, 0]) cube([48, 48, 8]);
|
|
translate([0, 0, -1]) cylinder(r=22.5, h=72);
|
|
translate([-20, -20, 4]) dualhole(true);
|
|
translate([-20, 20, 4]) dualhole(true);
|
|
translate([20, -20, 4]) dualhole(true);
|
|
translate([20, 20, 4]) dualhole(true);
|
|
}
|
|
}
|
|
|
|
module air_tank_mount_v1() {
|
|
difference() {
|
|
translate([-24, -24, 0]) cube([48, 48, 8]);
|
|
translate([0, 0, -1]) cylinder(r=22.5, h=72);
|
|
translate([-20, -20, 4]) dualhole();
|
|
translate([-20, 20, 4]) dualhole();
|
|
translate([20, -20, 4]) dualhole();
|
|
translate([20, 20, 4]) dualhole();
|
|
}
|
|
}
|
|
|
|
module air_tank_mount_v2() {
|
|
sz = ceil((bottle_dia+2.4)/8)*8;
|
|
difference() {
|
|
translate([-sz/2, -sz/2, 0]) cube([sz, sz, 8]);
|
|
translate([0, 0, -1]) cylinder(r=bottle_dia/2, h=72);
|
|
translate([-sz/2+4, -sz/2+4, 4]) axleround(axleradius=2.6, axlemesh=2);
|
|
translate([-sz/2+4, sz/2-4, 4]) axleround(axleradius=2.6, axlemesh=2);
|
|
translate([sz/2-4, -sz/2+4, 4]) axleround(axleradius=2.6, axlemesh=2);
|
|
translate([sz/2-4, sz/2-4, 4]) axleround(axleradius=2.6, axlemesh=2);
|
|
// translate([-25, -25, 4]) cube([50, 50, 8]);
|
|
}
|
|
}
|
|
|
|
module axleround(h = 24, axleradius = 2.3, axlemesh = 1.7) {
|
|
translate([0, 0, -h/2]) difference() {
|
|
cylinder($fn=16, r=axleradius, h=h);
|
|
translate([axlemesh/2, axlemesh/2, -1]) cube([axleradius, axleradius, h+2]);
|
|
translate([axlemesh/2, -axlemesh/2-axleradius, -1]) cube([axleradius, axleradius, h+2]);
|
|
translate([-axlemesh/2-axleradius, axlemesh/2, -1]) cube([axleradius, axleradius, h+2]);
|
|
translate([-axlemesh/2-axleradius, -axlemesh/2-axleradius, -1]) cube([axleradius, axleradius, h+2]);
|
|
}
|
|
}
|
|
|
|
module hole() {
|
|
union() {
|
|
cylinder(r=2.4, h=8);
|
|
translate([0, 0, -0.1]) cylinder(r=3, h=0.8+0.1);
|
|
translate([0, 0, 7.2]) cylinder(r=3, h=0.8+0.1);
|
|
};
|
|
}
|
|
|
|
module dualhole(both = false) {
|
|
translate([0, 4, 0]) rotate([90, 0, 0]) hole();
|
|
if (both) {
|
|
translate([4, 0, 0]) rotate([0, -90, 0]) hole();
|
|
}
|
|
}
|