91 lines
3.2 KiB
OpenSCAD
91 lines
3.2 KiB
OpenSCAD
//$fn=50;
|
|
ep=0.1;
|
|
|
|
module engine() {
|
|
intersection() {
|
|
union() {
|
|
rotate([90, 0, 0]) cylinder(r=1, h=3);
|
|
translate([0, -3, 0]) scale([1, 3, 1]) sphere(r=1);
|
|
}
|
|
translate([0, -11.75, 0]) scale([1, 3, 1]) sphere(r=4);
|
|
}
|
|
}
|
|
|
|
module b17Bomber() {
|
|
color("DarkOliveGreen")
|
|
difference() {
|
|
union() {
|
|
// right wing
|
|
rotate([0, 0, -5]) translate([-ep, 0, 0]) cube([18 + ep, 4, 1]);
|
|
rotate([0, 0, 5]) translate([-ep + 0.5, -3.90, 0]) cube([18 + ep, 4, 1]);
|
|
translate([18.2, 0.05, 0]) cylinder(r=2.35, h=1);
|
|
|
|
// right tail wing
|
|
translate([-ep + 0.25, -18.35, 0]) rotate([0, 0, 4]) cube([9 + ep, 2.5, 1]);
|
|
translate([-ep , -15.40, 0]) rotate([0, 0, -15]) cube([9 + ep, 2.5, 1]);
|
|
translate([8.80, -16.5, 0]) cylinder(r=1.25, h=1);
|
|
|
|
// right wing engines
|
|
translate([6, 5.5, 0.75]) engine();
|
|
translate([11, 4.5, 0.75]) engine();
|
|
|
|
mirror([1, 0, 0])
|
|
union() {
|
|
// left wing
|
|
rotate([0, 0, -5]) translate([-ep, 0, 0]) cube([18 + ep, 4, 1]);
|
|
rotate([0, 0, 5]) translate([-ep + 0.5, -3.90, 0]) cube([18 + ep, 4, 1]);
|
|
translate([18.2, 0.05, 0]) cylinder(r=2.35, h=1);
|
|
|
|
// left tail wing
|
|
translate([-ep + 0.25, -18.35, 0]) rotate([0, 0, 4]) cube([9 + ep, 2.5, 1]);
|
|
translate([-ep , -15.40, 0]) rotate([0, 0, -15]) cube([9 + ep, 2.5, 1]);
|
|
translate([8.80, -16.5, 0]) cylinder(r=1.25, h=1);
|
|
|
|
// right wing engines
|
|
translate([6, 5.5, 0.75]) engine();
|
|
translate([11, 4.5, 0.75]) engine();
|
|
}
|
|
|
|
// fuselage
|
|
//intersection() {
|
|
union() {
|
|
translate([0, 4, 1.5]) rotate([90, 0, 0]) cylinder(r=2.25, h=10);
|
|
translate([0, 4, 1.5]) scale([1, 1.75, 1]) sphere(2.25);
|
|
translate([0, -6, 1.5]) scale([1, 6.00, 1]) sphere(2.25);
|
|
}
|
|
|
|
/*
|
|
translate([0, -17.0, 1.5]) scale([1, 1.5, 1]) sphere(16);
|
|
translate([0, -16.25, 1.5]) scale([1, 4.0, 1]) sphere(6);
|
|
*/
|
|
//}
|
|
|
|
//cockpit
|
|
intersection() {
|
|
union() {
|
|
translate([0, 1, 3.25]) cube([2.5, 6, 2], center=true);
|
|
translate([0, -2, 2.85]) rotate([45, 0, 0]) cube([2.5, 2.5, 2], center=true);
|
|
translate([0, 3.6, 3.25]) rotate([0, 0, 45]) cube([2.5, 2.5, 2], center=true);
|
|
}
|
|
translate([0, 1, 3.25]) cube([2.5, 10, 2], center=true);
|
|
}
|
|
|
|
// top gun
|
|
translate([0, 0, 4.25]) sphere(d=1.5);
|
|
translate([0.5, -1, 4.4]) rotate([90, 0, 0]) cylinder(d=0.4, h=1.5, center=true);
|
|
translate([-0.5, -1, 4.4]) rotate([90, 0, 0]) cylinder(d=0.4, h=1.5, center=true);
|
|
|
|
// tail
|
|
translate([0, -16.50, 2]) rotate([-15, 0, 0]) rotate([0, 90, 0]) cube([7, 4, 1], center=true);
|
|
translate([0, -10.0, 2.15]) rotate([85, 0, 0]) rotate([0, 90, 0]) cube([10, 4, 1], center=true);
|
|
translate([0, -14.0, 3.00]) rotate([55, 0, 0]) rotate([0, 90, 0]) cube([4, 4, 1], center=true);
|
|
translate([0, -14.5, 2.5]) rotate([25, 0, 0]) rotate([0, 90, 0]) cube([7, 4, 1], center=true);
|
|
translate([0, -15.75, 5.80]) rotate([0, 90, 0]) cylinder(r=1.75, h=1, center=true);
|
|
}
|
|
|
|
translate([0, -5, -2.5]) cube([30, 30, 5], center=true);
|
|
}
|
|
}
|
|
|
|
b17Bomber();
|