$fn = 200; include difference() { union() { cube([39.7, 22, 6]); color("cyan") { rotate([90,0,0]) { translate([0, 0, -11]) { linear_extrude(height = 3, center=true) import("wing.svg"); } translate([0, 0, -3.5]) { linear_extrude(height = 7, center=true) import("spacer.svg"); } translate([0, 0, -18.5]) { linear_extrude(height = 7, center=true) import("spacer.svg"); } } } } color("blue") { union() { translate([4.8, 4, 0]) { cylinder(h=10, d=4); translate([0,0,10]) { cylinder(h=4, d=5.5); } } translate([37, 4, 0]) { cylinder(h=10, d=4); translate([0,0,10]) { cylinder(h=4, d=5.5); } } translate([4.8, 17.3, 0]) { cylinder(h=10, d=4); translate([0,0,10]) { cylinder(h=4, d=5.5); } } translate([37, 17.3, 0]) { cylinder(h=10, d=4); translate([0,0,10]) { cylinder(h=4, d=5.5); } } } } * translate([0, 0, 5]) { cube([18, 22, 8]); } * translate([33.15, 0, 5]) { cube([6.6, 22, 8]); } color("red") { translate([0, 7.45, 0]) { cube([39.7, 7.1, 4]); } translate([24.5, 7.45, 0]) { cube([12.4, 7.1, 13]); } } color("green") { translate([13.5,0,8.5]) { union() { translate([0,20,0]) { rotate([90,90,0]) { ISO4014(key="M3", l=20); } } translate([0,19.5,0]) { rotate([90,90,0]) { ISO4014(key="M3", l=20); } } translate([0,0,0]) { rotate([-90,90,0]) { cylinder(h=3, d=5.5); } } } } } }