Reorganize around function/purpose rather than file type.
This commit is contained in:
42
board-games/axis-and-allies/anti-air.scad
Normal file
42
board-games/axis-and-allies/anti-air.scad
Normal file
@ -0,0 +1,42 @@
|
||||
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();
|
Reference in New Issue
Block a user