Openscad
$fn=48;
mirror([90,0,0]){
difference(){
union(){
cube([25,40,2]);
translate([15,12,0]) cube([1.5,28,25]);
translate([16,17,0]) cube([4,23,6]);
translate([15,12,0]) cube([5,2,25]);
translate([19,14,0]) cube([1,4,25]);
//%translate([16,17,6]) cube([3,23,17]);
translate([15,12,23]) cube([5,28,2]);
translate([19,12,21]) cube([1,28,2]);
translate([19,12,2]) cube([1,28,5]);
}
translate([25,-11*sin(45),-0.5]) rotate([0,0,45]) cube([11,11,4]);
translate([11,14,0]) color("red") cylinder(h=4,d=3);
color("red") hull(){
translate([21,10,0]) cylinder(h=4,d=2);
translate([21,16,0]) cylinder(h=4,d=2);
}
}
difference(){
translate([12*sin(45),27,0]) rotate([0,45,0]) cube([10,1,10]);
translate([9,25,-20]) cube([20,20,20]);}
}