diff options
| -rw-r--r-- | src/lib/hexagons.scad | 23 | ||||
| -rw-r--r-- | src/sticker_tray_7.scad | 17 | ||||
| -rw-r--r-- | src/sticker_tray_7_lid.scad | 11 |
3 files changed, 51 insertions, 0 deletions
diff --git a/src/lib/hexagons.scad b/src/lib/hexagons.scad new file mode 100644 index 0000000..98898af --- /dev/null +++ b/src/lib/hexagons.scad @@ -0,0 +1,23 @@ + + +module hexagon_tray( + side=25, + walls=2, + h=16 +) { + difference() { + cylinder(r=side + walls, h=h, $fn=6); + translate([0, 0, walls]) cylinder(r=side, h=h, $fn=6); + } +} + +module hexagon_lid( + side=25, + walls=2, + tolerance=1, +) { + union() { + cylinder(r=side + walls, h=walls, $fn=6); + translate([0, 0, walls]) cylinder(r=side - tolerance, h=walls, $fn=6); + } +} diff --git a/src/sticker_tray_7.scad b/src/sticker_tray_7.scad new file mode 100644 index 0000000..dc47a9e --- /dev/null +++ b/src/sticker_tray_7.scad @@ -0,0 +1,17 @@ +use <lib/hexagons.scad> + +sticker_side = 25; +tray_inner_side = 25 * 1.25 - 4; + +difference() { + union() { + hexagon_tray(side = tray_inner_side); + for (i = [0:6] ) { + rotate([0, 0, 60 * i]) translate([0, (tray_inner_side) * sqrt(3) + 2, 0]) hexagon_tray(side = tray_inner_side); + } + } + for ( i = [0:3] ) { + rotate([0, 0, 120 * i]) translate([-10, -sticker_side * 1.5, 10]) cube([20, sticker_side * 3, 20]); + rotate([0, 0, 120 * i]) translate([0, 0, 12]) rotate([90, 0, 0]) cylinder(r=10, h=sticker_side * 3, center=true); + } +} diff --git a/src/sticker_tray_7_lid.scad b/src/sticker_tray_7_lid.scad new file mode 100644 index 0000000..1eceb73 --- /dev/null +++ b/src/sticker_tray_7_lid.scad @@ -0,0 +1,11 @@ +use <lib/hexagons.scad> + +sticker_side = 25; +tray_inner_side = 25 * 1.25 - 4; + +union() { + hexagon_lid(side = tray_inner_side); + for (i = [0:6] ) { + rotate([0, 0, 60 * i]) translate([0, (tray_inner_side) * sqrt(3) + 2, 0]) hexagon_lid(side = tray_inner_side); + } +} |
