//definition des variables //Pour le H xLargeurH = 11; xLargeurB = 4; xLargeurHC = 9; yEpaisseurHC = 2.4; yEpaisseurHA = 3; yEspaceH = 2.4; zHauteurH = 12; //Pour la Fixe // La Fixe xLargeurFix = xLargeurH; yLongeurFix = 20; // Peut etre augmenté zEpaisseurFix = 3.5; yVis1 = yLongeurFix+yEspaceH-1.5; yVis2 = yLongeurFix+yEspaceH-11; rVisHaut = 3; rVisBas = 1.5; yCentrageFix = -1; zCentrageFix = 4; // Hauteur du H plus petit: zHauteurH2 = zHauteurH-zCentrageFix; module Fix(){ translate([0,yCentrageFix,zCentrageFix+-zHauteurH/2+zEpaisseurFix/2+0.5]) { difference() { union() { translate([0, yLongeurFix/2+yEspaceH, 0]) { cube([xLargeurFix, yLongeurFix, zEpaisseurFix], center = true); } translate([0, yLongeurFix+yEspaceH, 0]) { cylinder(h = zEpaisseurFix, r=xLargeurFix/2, center = true, $fs=0.1); } } translate([0, yVis1, 0]) { cylinder(h = zEpaisseurFix, r1=rVisHaut, r2=rVisBas, center = true, $fs=0.1); } translate([0, yVis2, 0]) { cylinder(h = zEpaisseurFix, r1=rVisHaut, r2=rVisBas, center = true, $fs=0.1); } } } } module LeH() { union() { // A translate([0, 0.5*yEspaceH+0.5*yEpaisseurHA, -zCentrageFix/2]) { cube([xLargeurH, yEpaisseurHA, zHauteurH2], center = true); } // B translate([0, 0, 0]) { #cube([xLargeurB, yEspaceH, zHauteurH], center = true); } // C translate([0, -yEspaceH, 0]) { cube([xLargeurHC, yEpaisseurHC, zHauteurH], center = true); } // D translate([0, 1.7*yEspaceH, -zCentrageFix/2]) { rotate([45, 0, 0]) { cube([xLargeurH, yEpaisseurHC, yEpaisseurH], center = true); } } } } rotate(90,[0,1,0]){ LeH(); Fix(); }