/*Bisagra para Replicator*/ RadioPasador=2; Reborde=1.5; bisagraMarcoIz(); /*Parte de la bisagra del marco izquierdo*/ translate ([25,0,0]) bisagraPuertaIz(); translate ([-50,0,0]) { bisagraMarcoIz(); /*Parte de la bisagra del marco izquierdo*/ translate ([25,0,0]) bisagraPuertaIz(); } translate ([0, -15,0]) { mirror ([0,1,0]) { bisagraMarcoIz(); /*Parte de la bisagra del marco izquierdo*/ translate ([25,0,0]) bisagraPuertaIz(); translate ([-50,0,0]) { bisagraMarcoIz(); /*Parte de la bisagra del marco izquierdo*/ translate ([25,0,0]) bisagraPuertaIz(); } } } //translate ([15, 0, 0]) mirror ([1, 0, 0]) bisagra(); module bisagraMarcoIz() { union() { pinzaMarcoIz(); articulacionMarco(); } } module bisagraPuertaIz() { union () { pinzaPuertaIz(); articulacionPuerta(); } } module pinzaMarcoIz() { difference() { union() { hull() //Hoja izquierda { translate ([-4.625,0,0]) cylinder(r=2, h=16, $fn=25); translate([-3.675,19,0]) cylinder (r=1, h=16, $fn=25); } hull() //Hoja derecha { translate ([4.625,0,0]) cylinder(r=2, h=16, $fn=25); translate([3.675,19,0]) cylinder (r=1, h=16, $fn=25); } hull() { translate([-4.625,0,0]) cylinder(r=2, h=16, $fn=25); translate([4.625,0,0]) cylinder(r=2, h=16, $fn=25); } } intersection() { translate([-2.875,0,-0.1]) cube([5.75, 20, 16.2] ); translate([-2.875,0,-0.1]) rotate([0, 0, -2]) cube([5.75, 20, 16.2] ); //translate([-2.875,-0.2,-0.1]) rotate([0, 0, 2]) cube([5.75, 20, 16.2] ); mirror([1, 0, 0]) translate([-2.875,0,-0.1]) rotate([0, 0, -2]) cube([5.75, 20, 16.2] ); } } } module pinzaPuertaIz() { difference() { union() { hull() { translate ([-4.625,0,0]) cylinder(r=2, h=16, $fn=25); translate([-2.3,19,0]) cylinder (r=1.2, h=16, $fn=25); } // for (i=[-4.625, 4.625], j=[-2.675, 2.675]) hull() { translate ([4.625,0,0]) cylinder(r=2, h=16, $fn=25); translate([2.3,19,0]) cylinder (r=1.2, h=16, $fn=25); } hull() { translate([-4.625,0,0]) cylinder(r=2, h=16, $fn=25); translate([4.625,0,0]) cylinder(r=2, h=16, $fn=25); } translate ([-3,0,0]) cube([6,19,16]); } intersection() { translate([-1.5,0,-0.1]) cube([3, 20, 16.2] ); translate([-1.5,0,-0.1]) rotate([0, 0, -1]) cube([3, 20, 16.2] ); mirror([1, 0, 0]) translate([-1.5,0,-0.1]) rotate([0, 0, -1]) cube([3, 20, 16.2] ); } } } module articulacionMarco() { difference() { union() { translate ([-11.5, -RadioPasador,0]) { cylinder(r=5, h=8,$fn=25); cube ([7,10,8]); } translate ([-11.5, -RadioPasador,8]) { rotate ([0, 90, 0]) cylinder (r=Reborde, h=4.8, $fn=25); } } translate ([-11.5,9,-0.1]) cylinder (r=6, h=8.2, $fn=25); translate ([-11.5,-RadioPasador,-0.1]) cylinder(r=RadioPasador+0.1, h=11,$fn=25); translate ([-11.5, -RadioPasador,8]) { rotate ([0, -90, 0]) cylinder (r=Reborde, h=5, $fn=25); } } } module articulacionPuerta() { difference() { union() { translate ([-11.5, -RadioPasador,0]) { cylinder(r=5, h=8,$fn=25); cube ([7,10,8]); } translate ([-11.3, -RadioPasador,8]) { rotate ([0, -90, 0]) cylinder (r=Reborde, h=5, $fn=25); } } translate ([-11.5, 9,-0.1]) cylinder (r=6, h=8.2, $fn=25); translate ([-11.5, -RadioPasador,-0.1]) cylinder(r=RadioPasador, h=11,$fn=25); translate ([-11.5, -RadioPasador,8]) { rotate ([0, 90, 0]) cylinder (r=Reborde, h=7, $fn=25); } } }