$fn=150;
module hammer(){
    module deco(){
translate([0,0,1.85])cylinder(0.16,d=0.6);
  difference(){  
    cylinder(1.85,d1=0,d2=0.6);
    cube([2,2,0.5],center=true);
  };
   };
   
   
module manche(){
    translate([0,0,2])cylinder(1.5,d=0.55);
translate([0,0,3.5])cylinder(3.5,d=0.5);
translate([0,0,7])cylinder(0.5,d=0.55);
translate([0,0,7.5])cylinder(3,d=0.5);
};

module basetete(){
translate([0,0,10.5])cylinder(0.15,d1=0.5,d2=0.8);
translate([-2.25,-1.5,10.65])cube([4.5,3,2.85]);
    resize([1.3,1.3,3])translate([0,0,8.15])sphere(d=2);
};

module affinagedefromage(){
   translate([-5,1.25,10.65])rotate([-45,0,0])cube([10,0.3535,0.3535]);
    translate([-5,1.25,13.5])rotate([-45,0,0])cube([10,0.3535,0.3535]);
    translate([-5,-1.5,13.25])rotate([45,0,0])cube([10,0.3535,0.3535]);
    translate([-5,-1.25,10.65])rotate([135,0,0])cube([10,0.3535,0.3535]);
    translate([2,-5,10.65])rotate([0,45,0])cube([0.3535,10,0.3535]); 
  translate([2,-5,13.5])rotate([0,45,0])cube([0.3535,10,0.3535]); 
  translate([-2.25,-5,13.25])rotate([0,-45,0])cube([0.3535,10,0.3535]); 
  translate([-2.25,-5,10.90])rotate([0,135,0])cube([0.3535,10,0.3535]);

};

//affinagedefromage();

module tete(){
   difference(){
     basetete();
      affinagedefromage(); 
   };  
};


module oreille(){
translate([2.25,0,12.075])rotate([0,90,0])cylinder(0.25,d=2);
translate([2.5,0,12.075])rotate([0,90,0])cylinder(0.5,d=3);
};

module high(){
   tete();
   oreille();
   rotate([0,0,180])oreille(); 
};

module cubes(){
  color("red"){
    difference(){
    translate([0,0,0])cube([1.5,3.20,1.5]);  
      translate([0.15,-1,0.15])cube([1.2,8,1.2]);
  };
  };
};

module aff(){
  deco();
  manche();
  high();
    translate([-1.06,-1.6,12.075])rotate([0,45,0])cubes();
};

aff();
//cubes();
};


translate([7,7,13.5]) hammer();