$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();