// allviews 1 2 3 include module lettre () { height=1; scale([1,1,1]) difference() { union() { difference() { translate([0,0,0]) cylinder(h=height,r=10,$fn=60); union() { translate([-11,0,-1]) cube([100,100,100]); translate([0,0,-1]) cylinder(h=6,r=4,$fn=60); } } translate([4,0,0]) cube([6,13,height]); translate([-4,13,0]) cube([22,6,height]); translate([-7,0,0]) cylinder(h=height,r=3,$fn=60); difference() { translate([0,10,0]) cube([14,6,height]); union() { translate([0.1,9,-1]) cylinder(h=10,r=4,$fn=60); translate([13.9,9,-1]) cylinder(h=10,r=4,$fn=60); } } } translate([7,16,-1]) cylinder(h=10,r=1,$fn=60); } } module lettreMieux(largeurTrou=6, largeur=6, hauteur=30, longueur=30) { epaisseur=5; resolution=40; //Courbe difference() { cylinder(h=epaisseur,r=largeur+largeurTrou,$fn=resolution); union() { translate([-largeurTrou-largeur-1,0,-epaisseur]) cube([1000,1000,1000]); translate([0,0,-epaisseur]) cylinder(h=1000,r=largeurTrou,$fn=resolution); } } translate([-largeurTrou-largeur/2,0,0]) cylinder(h=epaisseur,r=largeur/2,$fn=resolution); //Barre Verticale translate([largeurTrou,0,0]) cube([largeur, hauteur, epaisseur]); //Barre Horizontale difference() { translate([largeurTrou+largeur/2-longueur/2,hauteur,0]) cube([longueur, largeur*3/2, epaisseur]); union() { //Courbe Gauche translate([largeurTrou-largeur/2,hauteur,-epaisseur]) cylinder(h=epaisseur*3,r=largeur/2,$fn=resolution); translate([largeurTrou-largeur*7/2,hauteur-1,-epaisseur]) cube([largeur*3,largeur/2+1,epaisseur*3]); //Droite translate([largeurTrou+largeur*3/2,hauteur,-epaisseur]) cylinder(h=epaisseur*3,r=largeur/2,$fn=resolution); translate([largeurTrou+largeur*3/2,hauteur-1,-epaisseur]) cube([largeur*5/2,largeur/2+1,epaisseur*3]); } } } module lettreCreuse () { scale([1.8,1.8,1]) difference() { lettreMieux(6,6,20,25); union() { translate([9,25.5,-1]) cylinder(h=10,r=1.4,$fn=40); translate([0,0,2]) scale([1,1,10]) lettreMieux(7,4,22,22); } } } module main_view(view){ if (view=="1"){ lettre(); } else if(view=="2") { lettreCreuse(); } else if(view=="3") { lettreMieux(); } }