43 lines
1.2 KiB
OpenSCAD
43 lines
1.2 KiB
OpenSCAD
module triPrism(s = 2, h = 4) {
|
|
difference() {
|
|
cube([s, s, h]);
|
|
translate([0, 0, -0.5]) rotate([0, 0, 45]) cube([1.5 * s, 1.5 * s, h + 1]);
|
|
}
|
|
}
|
|
|
|
$fn=50;
|
|
ep = 0.01;
|
|
|
|
module antiAir() {
|
|
|
|
// base
|
|
cylinder(d = 12, h = 1);
|
|
for (i = [0:3]) {
|
|
color("LightCoral") rotate([0, 15, 90 * i]) translate([-0.5, -1.5, 1.5]) cube([5.5, 3, 1]);
|
|
}
|
|
|
|
// central column
|
|
translate([-1.5, -1, 2]) cube([3, 2, 4]);
|
|
|
|
// body
|
|
color("LightSeaGreen") translate([-3.25, 1.5, 3]) rotate([90, 0, 0]) triPrism(s=5, h=3);
|
|
color("Coral") translate([0, 1.75, 4.25]) rotate([90, 0, 0]) cylinder(d=2, h=3.5);
|
|
|
|
intersection() {
|
|
color("LightSteelBlue") translate([-8, -1.5, 0]) rotate([0, 45, 0]) cube([2.5, 3, 20]);
|
|
rotate([0, -45, 0]) scale([1.3, 0.75, 1]) translate([2.5, 0, 0]) cylinder(d=7, h=8);
|
|
}
|
|
|
|
// main barrel
|
|
translate([-4.5, 0, 3.25]) rotate([0, 45, 0]) cylinder(d=1.6, h=16);
|
|
|
|
// decorations
|
|
color("Cornsilk") translate([0, 0, 7.5]) rotate([0, 45, 0]) cylinder(d=3, h=0.6);
|
|
color("Cornsilk") translate([-3.5, 0, 4]) rotate([0, 45, 0]) cylinder(d=3, h=0.6);
|
|
color("MistyRose") for (i = [0:1]) {
|
|
translate([-3.25, 1.5 - 3*i, 3.25]) rotate([0, 45, 0]) cylinder(d=1, h=6);
|
|
}
|
|
}
|
|
|
|
antiAir();
|