78 lines
3.0 KiB
OpenSCAD
78 lines
3.0 KiB
OpenSCAD
$fn=50;
|
|
ep=0.1;
|
|
|
|
module messerschmitt() {
|
|
color("SlateGrey")
|
|
difference() {
|
|
union() {
|
|
// right wing
|
|
translate([0, -1, 0])
|
|
intersection() {
|
|
union() {
|
|
rotate([0, 0, -5]) translate([-ep, -0.25, 0]) cube([14.5 + ep, 4.25, 1]);
|
|
rotate([0, 0, 8]) translate([-ep + 0.5, -3.50, 0]) cube([14 + ep, 4, 1]);
|
|
translate([8, 0.5, 0.9]) cube([1, 4, 1], center=true);
|
|
translate([8, 0.5, 0.9]) cube([4, 1, 1], center=true);
|
|
}
|
|
translate([-6, 0, 0]) sphere(20);
|
|
translate([-17.5, 0.5, 1]) scale([4, 1, 1]) cylinder(r=8, h=2, center=true);
|
|
}
|
|
|
|
// right tail wing
|
|
translate([-ep + 0.25, -15.35, 2.5]) rotate([0, 0, 4]) cube([4 + ep, 1.5, 1]);
|
|
translate([-ep , -13.65, 2.5]) rotate([0, 0, -15]) cube([4 + ep, 1.5, 1]);
|
|
translate([4, -14.15, 2.5]) cylinder(r=0.90, h=1);
|
|
|
|
mirror([1, 0, 0])
|
|
union() {
|
|
// left wing
|
|
translate([0, -1, 0])
|
|
intersection() {
|
|
union() {
|
|
rotate([0, 0, -5]) translate([-ep, -0.25, 0]) cube([14.5 + ep, 4.25, 1]);
|
|
rotate([0, 0, 8]) translate([-ep + 0.5, -3.50, 0]) cube([14 + ep, 4, 1]);
|
|
translate([8, 0.5, 0.9]) cube([1, 4, 1], center=true);
|
|
translate([8, 0.5, 0.9]) cube([4, 1, 1], center=true);
|
|
}
|
|
translate([-6, 0, 0]) sphere(20);
|
|
translate([-17.5, 0.5, 1]) scale([4, 1, 1]) cylinder(r=8, h=2, center=true);
|
|
}
|
|
|
|
// left tail wing
|
|
translate([-ep + 0.25, -15.35, 2.5]) rotate([0, 0, 4]) cube([4 + ep, 1.5, 1]);
|
|
translate([-ep , -13.65, 2.5]) rotate([0, 0, -15]) cube([4 + ep, 1.5, 1]);
|
|
translate([4, -14.15, 2.5]) cylinder(r=0.90, h=1);
|
|
}
|
|
|
|
// fuselage
|
|
intersection() {
|
|
union() {
|
|
translate([0, 9, 1.25]) rotate([90, 0, 0]) cylinder(r=1.5, h=13);
|
|
translate([0, -2, 1.25]) rotate([-5.0, 0, 0]) translate([0, -2, 0]) scale([0.75, 9.0, 1]) sphere(1.5);
|
|
translate([0, -3, 1.25]) rotate([-5.0, 0, 0]) scale([1, 3.0, 1]) sphere(1.5);
|
|
}
|
|
|
|
translate([0, -17.0, 1.5]) scale([1, 1.5, 1]) sphere(16);
|
|
translate([0, -10, 1.25]) scale([1, 6.0, 1]) sphere(3);
|
|
}
|
|
|
|
//cockpit
|
|
//#translate([0, -3, 1.25]) rotate([-2.5, 0, 0]) scale([1, 3.0, 1]) sphere(1.5);
|
|
difference() {
|
|
translate([0, -5, 2.25]) rotate([92, 0, 0]) cylinder(d=2,h=10, center=true);
|
|
translate([0, 0.5, 3]) rotate([30, 0, 0]) cube([2, 2, 3], center=true);
|
|
}
|
|
|
|
// tail
|
|
translate([0, -14.40, 3.0]) rotate([-15, 0, 0]) rotate([0, 90, 0]) cube([2.5, 3, 1], center=true);
|
|
translate([0, -13.5, 3.5]) rotate([25, 0, 0]) rotate([0, 90, 0]) cube([2.5, 3, 1], center=true);
|
|
translate([0, -14.00, 4.5]) rotate([0, 90, 0]) cylinder(r=1.50, h=1, center=true);
|
|
translate([0, -14, 0]) scale([0.5, 1, 1]) cylinder(r=1, h=3);
|
|
}
|
|
|
|
translate([0, -5, -2.5]) cube([30, 30, 5], center=true);
|
|
}
|
|
}
|
|
|
|
messerschmidt();
|