Commit 351471e2 by Hubert

added sliding idea for locking multiple boxes together

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