aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElena ``of Valhalla'' Grandi <valhalla@trueelena.org>2026-08-08 13:55:25 +0200
committerElena ``of Valhalla'' Grandi <valhalla@trueelena.org>2026-08-11 15:49:51 +0200
commit70bb901308bdb4793e1c233ccf0ba53d42c515e9 (patch)
treee13c34308f66ac1c5150363a9abb884820dbe106
parent8b990670f752851d4a5047fbe5db0c64fb734924 (diff)
Tray with lid for Standard hexagonal stickers
-rw-r--r--src/lib/hexagons.scad23
-rw-r--r--src/sticker_tray_7.scad17
-rw-r--r--src/sticker_tray_7_lid.scad11
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);
+ }
+}