module halfInvader(){ translate([0, 0, -10]) cube([10, 10, 75]); translate([0, 10, 20]) cube([10, 10, 20]); translate([0, 20, 0]) cube([10, 10, 50]); translate([0, 30, 40]) cube([10, 10, 20]); translate([0, 30, 10]) cube([10, 10, 20]); translate([0, 40, 10]) cube([10, 10, 40]); translate([0, 50, 10]) cube([10, 5, 40]); translate([0, 25, -10]) cube([10, 20, 10]); translate([0, 25, 55]) cube([10, 10, 10]); } module cross1(){ translate([-100, 30, 40]) cube([100, 30, 10]); translate([-60, 0, 40]) cube([30, 100, 10]); } module cross2(){ translate([-95, 30, -10]) cube([100, 30, 10]); translate([-60, -5, -10]) cube([30, 100, 10]); } module invaderFull(){ halfInvader(); translate([0, 110, 0]) mirror([0,1,0]) halfInvader(); } module duoInvader(){ translate([0, -10, 0]) invaderFull(); mirror([1,1,0]) translate([0, -10, 0]) invaderFull(); } module lampe(){ duoInvader(); cross1(); cross2(); rotate([0,0,180]) translate([90, -90, 0]) duoInvader(); } translate([0, 0, 10]) lampe();