Commit 351471e2 by Hubert

added sliding idea for locking multiple boxes together

1 parent 4e6cd3e7
...@@ -2,17 +2,24 @@ include<vars.scad> ...@@ -2,17 +2,24 @@ include<vars.scad>
module cornerdrills() { module cornerdrills() {
translate([2.4,0.8,0]) { translate([4.4,0.8,0]) {
cylinder(d=1.2,h=4, $fn=10); cylinder(d=1.2,h=4, $fn=10);
} }
translate([2.4,0.8,10]) { translate([2.4,0.8,0]) {
cylinder(d=0.6,h=20, $fn=10); hull() {
cylinder(d=0.6,h=50, $fn=10);
translate([2,0,0])
cylinder(d=0.6,h=50, $fn=10);
}
} }
translate([0.8,2.4,0]) { translate([0.8,2.4,0]) {
cylinder(d=0.6,h=4, $fn=10); hull() {
cylinder(d=0.6,h=40, $fn=10);
translate([0,2,0]) cylinder(d=0.6,h=40, $fn=10);
}
} }
translate([0.8,2.4,10]) { translate([0.8,4.4,10]) {
cylinder(d=1.2,h=20, $fn=10); cylinder(d=1.2,h=20, $fn=10);
} }
......
...@@ -16,7 +16,7 @@ translate([0,0,6.3]) { ...@@ -16,7 +16,7 @@ translate([0,0,6.3]) {
eurobox(30,40,22,handle=true); eurobox(30,40,22,handle=true);
drills(30,40,22); drills(30,40,22);
} }
screws(30,40,22); screws(30,40,22, locked=true);
pipes(22); pipes(22);
} }
...@@ -24,7 +24,7 @@ translate([0,0,6.3+21.3/* +4 */]) { ...@@ -24,7 +24,7 @@ translate([0,0,6.3+21.3/* +4 */]) {
difference() { difference() {
eurobox(30,40,22,handle=true); eurobox(30,40,22,handle=true);
drills(30,40,22); drills(30,40,22);
} }
screws(30,40,22); screws(30,40,22, locked=true);
pipes(22); pipes(22);
} }
...@@ -35,63 +35,60 @@ module cornerscrew( z, upside=false ) { ...@@ -35,63 +35,60 @@ module cornerscrew( z, upside=false ) {
shim(); shim();
if ( upside == true ) { if ( upside == true ) {
translate([ 0, 0, shimheight + strength ]) shim(); translate([ 0, 0, shimheight + strength ]) { shim();
/************ GRATE ************/ /************ GRATE ************/
translate([ 0, 0, shimheight + strength + shimheight ]) nut(); translate([ 0, 0, shimheight ]) { nut();
translate([ 0, 0, shimheight + strength + shimheight + 1.26]) nut(); translate([ 0, 0, 1.26]) { nut();
translate([ 0, 0, shimheight + strength + shimheight + 1.26 + nutheight]) shim(); translate([ 0, 0, nutheight]) { shim();
/************ NEXT BOX ************/ /************ NEXT BOX ************/
translate([ 0, 0, shimheight + strength + shimheight + 1.26 + nutheight + shimheight+2*strength + 0.1 + shimblockHeight ]) nut(); translate([ 0, 0, shimheight+2*strength + 0.1 ]) { nut();
translate([ 0, 0, shimheight + strength + shimheight + 1.26 + nutheight + shimheight+2*strength + 0.1 + shimblockHeight + nutheight]) nut(); translate([ 0, 0, nutheight]) rotate([0,0,40]) nut();
}}}}}
} else { } else {
translate([ 0, 0, shimheight +strength]) nut();
/************ NEXT BOX ************/ /************ NEXT BOX ************/
translate([ 0, 0, shimheight + strength*2 + 0.1 + shimblockHeight ]) nut(); translate([ 0, 0, shimheight +strength*2 + 0.1]) { nut();
translate([ 0, 0, 1.54 ]) { nut();
/************ GRATE ************/ /************ GRATE ************/
translate([ 0, 0, shimheight + 2.6 + shimblockHeight ]) rotate([0,0,rands(0,90,1)[0]]) nut(); translate([ 0, 0, strength + nutheight ]) rotate([0,0,23]) {nut();
translate([ 0, 0, shimheight + 2.6 + shimblockHeight + nutheight]) rotate([0,0,rands(0,90,1)[0]])nut(); translate([ 0, 0, nutheight]) rotate([0,0,20]) nut();
}}}
/* #translate([ 0, 0, 0.4 + shimheight + strength + locked + 1]) nut(); */
/* translate([ 0, 0, 0.70 + shimheight + strength +locked + 1]) shim(); */
/* translate([ 0, 0, 0.70 + strength+0.2 ]) shim(); */
/* /\* translate([ 0, 0, 0.4 + shimblockHeight ]) nut(); *\/ */
/* /\* translate([ 0, 0, 2.71 + shimblockHeight ]) nut(); *\/ */
/* translate([ 0, 0, 0.70 + strength*2 +0.1 +0.2 ]) shim(); */
/* translate([ 0, 0, -0.30 + strength*2 + 0.1 + 1.3+locked ]) nut(); */
/* /\* translate([ 0, 0, 2 ]) shim(); *\/ */
/* /\* translate([ 0, 0, 1.7 ]) nut(); *\/ */
} }
}
module hinges(locked) {
rotation = locked ? 90 : 0;
translate([0,0,0.1]) cube([1.4,0.07,0.8]);
rotate([0,90,0]) translate([-0.1,0,0]) cylinder(r=0.04, h=1.4, $fn=7);
translate([0,0,0.1]) rotate([rotation,0,0])
translate([0,-0.1,0]) cube([1.4,0.07,0.8]);
/* } */
} }
module cornerscrews(z) { module cornerscrews(z, locked) {
shift = locked ? 0 : 2;
translate([2.4 translate([2.4 + shift
, 0.8 , 0.8
, z - 2.66 , z - 2.66
]) ])
cornerscrew(z,upside=true); cornerscrew(z,upside=true);
translate([0.8 translate([0.8
, 2.4 , 2.4 + shift
, recess + strength + shimheight , recess + strength + shimheight
]) ]) rotate([180,0,0])
rotate([180,0,0]) {
cornerscrew(z,upside=false); cornerscrew(z,upside=false);
translate([gratesize,gratesize,recess+strength]) {
translate([1.3,0,0]) hinges(locked);
rotate([0,0,90]) translate([2.8,0,0]) rotate([0,0,180])hinges(locked);
} }
} }
module screws(x,y,z) { module screws(x,y,z, locked) {
cornerscrews(22); cornerscrews(22,locked);
mirror([0,1,0]) translate([0,-y,0]) cornerscrews(22); mirror([0,1,0]) translate([0,-y,0]) cornerscrews(22, locked);
mirror([1,0,0]) translate([-x,0,0]) cornerscrews(22); mirror([1,0,0]) translate([-x,0,0]) cornerscrews(22, locked);
mirror([1,0,0]) translate([-x,y,0]) mirror([0,1,0]) cornerscrews(22); mirror([1,0,0]) translate([-x,y,0]) mirror([0,1,0]) cornerscrews(22, locked);
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!