//!OpenSCAD h = 10; //unità supporto tondini lunghezza_perno = h * 4; avanzamento = 10; //del supporto tondini rientro = 2; //rientro bullone altezza = 40; spessore_staffe = 1.4; lato = 30; //cubo supporto difference(){ cube([lato, lato, altezza]); //staffe bianche translate([2, 2, 0]){ union(){ cube([spessore_staffe, 50, 30]); cube([50, spessore_staffe, 30]); } } //taglio a 45° translate([lato, 0, 0]){ rotate([0, 0, 45]){ cube([lato, (sqrt(2) * lato), altezza]); } } // supporto tondini & bullone translate([ (sqrt(2)/2/h)+avanzamento-h*sqrt(2)/3, (sqrt(2)/2*h)+avanzamento-h*sqrt(2)/3, ( altezza - h)]){ rotate([90, 0, 45]){ union(){ //bullone = vite + bullone //testa della vite translate([(h / 2), (h / 2),(lunghezza_perno / 2)-rientro]){ cylinder(r1=1/cos(30)*(h / 4), r2=1/cos(30)*(h / 4), h=(lunghezza_perno/4), $fn=6); } //dado translate([(h / 2), (h / 2),(-lunghezza_perno / 2)+rientro]){ cylinder(r1=1/cos(30)*(h / 4), r2=1/cos(30)*(h / 4), h=(lunghezza_perno/4), $fn=6); } //asta della vite translate([(h / 2), (h / 2), (h / 2 - lunghezza_perno / 2)]){ cylinder(r1=(h / 4), r2=(h / 4), h=lunghezza_perno, $fn=100); } //foro supporto tondini translate([(h / 2), (h / 2), 0]){ cylinder(r1=(h / 2), r2=(h / 2), h=h, $fn=100); } translate([(h / 2), 0, 0]){ cube([(h * 1.5), (h * 2), h]); } translate([0, (h / 2), 0]){ cube([(h * 2), (h * 1.5), h]); } } } } }